Skip to content

Commit 66781ac

Browse files
authored
allow dependency graphs without an entry (#73)
Signed-off-by: Jan Kowalleck <[email protected]>
1 parent 1197c13 commit 66781ac

10 files changed

+12
-2253
lines changed

src/serialize/json/normalize.ts

+3-6
Original file line numberDiff line numberDiff line change
@@ -388,16 +388,13 @@ export class AttachmentNormalizer extends Base {
388388

389389
export class DependencyGraphNormalizer extends Base {
390390
normalize (data: Models.Bom, options: NormalizerOptions): Normalized.Dependency[] | undefined {
391-
if (!data.metadata.component?.bomRef.value) {
392-
// the graph is missing the entry point -> omit the graph
393-
return undefined
394-
}
395-
396391
const allRefs = new Map<Models.BomRef, Models.BomRefRepository>()
392+
if (data.metadata.component !== undefined) {
393+
allRefs.set(data.metadata.component.bomRef, data.metadata.component.dependencies)
394+
}
397395
for (const c of data.components) {
398396
allRefs.set(c.bomRef, new Models.BomRefRepository(c.dependencies))
399397
}
400-
allRefs.set(data.metadata.component.bomRef, data.metadata.component.dependencies)
401398

402399
const normalized: Normalized.Dependency[] = []
403400
for (const [ref, deps] of allRefs) {

src/serialize/xml/normalize.ts

+3-6
Original file line numberDiff line numberDiff line change
@@ -501,16 +501,13 @@ export class AttachmentNormalizer extends Base {
501501

502502
export class DependencyGraphNormalizer extends Base {
503503
normalize (data: Models.Bom, options: NormalizerOptions, elementName: string): SimpleXml.Element | undefined {
504-
if (!data.metadata.component?.bomRef.value) {
505-
// the graph is missing the entry point -> omit the graph
506-
return undefined
507-
}
508-
509504
const allRefs = new Map<Models.BomRef, Models.BomRefRepository>()
505+
if (data.metadata.component !== undefined) {
506+
allRefs.set(data.metadata.component.bomRef, data.metadata.component.dependencies)
507+
}
510508
for (const c of data.components) {
511509
allRefs.set(c.bomRef, new Models.BomRefRepository(c.dependencies))
512510
}
513-
allRefs.set(data.metadata.component.bomRef, data.metadata.component.dependencies)
514511

515512
const normalized: Array<(SimpleXml.Element & { attributes: { ref: string } })> = []
516513
for (const [ref, deps] of allRefs) {

tests/_data/normalizeResults/json_complex_spec1.2.json

-184
This file was deleted.

0 commit comments

Comments
 (0)