Skip to content

Commit

Permalink
- Merge dependencies, in case there are duplicates - Remove sub-compo…
Browse files Browse the repository at this point in the history
…nents from the parentComponent for a language/packager in multiX-BOMs

Signed-off-by: Roland Asmann <roland.asmann@gmail.com>
Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>
  • Loading branch information
malice00 authored and prabhu committed Jan 15, 2025
1 parent f176e09 commit 31c082d
Showing 1 changed file with 74 additions and 17 deletions.
91 changes: 74 additions & 17 deletions lib/cli/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6025,7 +6025,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6037,6 +6040,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand All @@ -6050,7 +6054,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6062,6 +6069,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand All @@ -6074,7 +6082,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6092,7 +6103,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6110,7 +6124,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6122,6 +6139,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand All @@ -6134,7 +6152,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6146,6 +6167,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand Down Expand Up @@ -6174,6 +6196,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand All @@ -6186,7 +6209,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6198,6 +6224,7 @@ export async function createMultiXBom(pathList, options) {
parentSubComponents = parentSubComponents.concat(
bomData.parentComponent.components,
);
delete bomData.parentComponent.components;
}
}
}
Expand All @@ -6210,7 +6237,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6228,7 +6258,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6246,7 +6279,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6264,7 +6300,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6282,7 +6321,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6300,7 +6342,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6318,7 +6363,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6336,7 +6384,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand All @@ -6354,7 +6405,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand Down Expand Up @@ -6390,7 +6444,10 @@ export async function createMultiXBom(pathList, options) {
);
}
components = components.concat(bomData.bomJson.components);
dependencies = dependencies.concat(bomData.bomJson.dependencies);
dependencies = mergeDependencies(
dependencies,
bomData.bomJson.dependencies,
);
if (
bomData.parentComponent &&
Object.keys(bomData.parentComponent).length
Expand Down

0 comments on commit 31c082d

Please sign in to comment.