Very minor issue noted here. If a BOM is has ZERO Components, `components` is still included in the generated BOM as an empty array. Not invalid, but not tidy.