@cyclonedx/cdxgen 11.4.0 → 11.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli/index.js +4 -0
- package/lib/evinser/evinser.js +5 -1
- package/lib/helpers/envcontext.js +1 -1
- package/lib/helpers/utils.js +61 -5
- package/lib/helpers/utils.test.js +1 -1
- package/package.json +1 -1
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/helpers/utils.d.ts.map +1 -1
package/lib/cli/index.js
CHANGED
|
@@ -3144,6 +3144,10 @@ export async function createNodejsBom(path, options) {
|
|
|
3144
3144
|
const basePath = dirname(f);
|
|
3145
3145
|
// Determine the parent component
|
|
3146
3146
|
const packageJsonF = join(basePath, "package.json");
|
|
3147
|
+
const pnpmHooks = join(basePath, ".pnpmfile.cjs");
|
|
3148
|
+
if (safeExistsSync(pnpmHooks)) {
|
|
3149
|
+
thoughtLog("Wait, this pnpm project uses install hooks.");
|
|
3150
|
+
}
|
|
3147
3151
|
if (!Object.keys(parentComponent).length) {
|
|
3148
3152
|
if (safeExistsSync(packageJsonF)) {
|
|
3149
3153
|
const pcs = await parsePkgJson(packageJsonF, true);
|
package/lib/evinser/evinser.js
CHANGED
|
@@ -286,7 +286,11 @@ export async function createSlice(
|
|
|
286
286
|
if (sliceType === "usages") {
|
|
287
287
|
// Generate OpenAPI specification for endpoints. Needs atom-tools pypi package to be installed.
|
|
288
288
|
args.push("--extract-endpoints");
|
|
289
|
-
if (
|
|
289
|
+
if (
|
|
290
|
+
process.env?.CDXGEN_IN_CONTAINER !== "true" &&
|
|
291
|
+
!process.env?.DEVENV_NIX &&
|
|
292
|
+
!process.env?.NIX_STORE
|
|
293
|
+
) {
|
|
290
294
|
console.log(
|
|
291
295
|
"Use an official cdxgen container image to improve the precision of endpoints detection (for SaaSBOM).",
|
|
292
296
|
);
|
|
@@ -35,7 +35,7 @@ export const SDKMAN_JAVA_TOOL_ALIASES = {
|
|
|
35
35
|
java21: process.env.JAVA21_TOOL || "21.0.7-tem",
|
|
36
36
|
java22: process.env.JAVA22_TOOL || "22.0.2-tem",
|
|
37
37
|
java23: process.env.JAVA23_TOOL || "23.0.2-tem",
|
|
38
|
-
java24: process.env.JAVA24_TOOL || "24-tem",
|
|
38
|
+
java24: process.env.JAVA24_TOOL || "24.0.1-tem",
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
/**
|
package/lib/helpers/utils.js
CHANGED
|
@@ -2260,6 +2260,9 @@ export async function parsePnpmLock(
|
|
|
2260
2260
|
const pkgRefMap = {};
|
|
2261
2261
|
// Track references to packages that are directly installed from github.com
|
|
2262
2262
|
const gitPkgRefs = {};
|
|
2263
|
+
// Track aliases
|
|
2264
|
+
const possibleAliases = {};
|
|
2265
|
+
const possibleAliasesRefs = {};
|
|
2263
2266
|
// pnpm could refer to packages from git sources
|
|
2264
2267
|
const githubServerHost = process.env.CDXGEN_GIT_HOST || "github.com";
|
|
2265
2268
|
// Convert workspace package names to an object to help with the lookup
|
|
@@ -2310,9 +2313,19 @@ export async function parsePnpmLock(
|
|
|
2310
2313
|
? yamlObj.importers["."]?.peerDependencies || {}
|
|
2311
2314
|
: {};
|
|
2312
2315
|
const ddeplist = new Set();
|
|
2313
|
-
// Find the root
|
|
2316
|
+
// Find the root dev dependencies
|
|
2314
2317
|
for (const rdk of Object.keys(rootDevDeps)) {
|
|
2315
2318
|
const version = await getVersionNumPnpm(rootDevDeps[rdk]);
|
|
2319
|
+
let specifier;
|
|
2320
|
+
if (
|
|
2321
|
+
typeof rootDevDeps[rdk] === "object" &&
|
|
2322
|
+
rootDevDeps[rdk].specifier
|
|
2323
|
+
) {
|
|
2324
|
+
specifier = rootDevDeps[rdk].specifier;
|
|
2325
|
+
}
|
|
2326
|
+
if (specifier?.includes("npm:")) {
|
|
2327
|
+
possibleAliases[rdk] = specifier;
|
|
2328
|
+
}
|
|
2316
2329
|
const dpurl = new PackageURL(
|
|
2317
2330
|
"npm",
|
|
2318
2331
|
"",
|
|
@@ -2323,8 +2336,19 @@ export async function parsePnpmLock(
|
|
|
2323
2336
|
).toString();
|
|
2324
2337
|
possibleOptionalDeps[decodeURIComponent(dpurl)] = true;
|
|
2325
2338
|
}
|
|
2339
|
+
// Find the root optional and peer dependencies
|
|
2326
2340
|
for (const rdk of Object.keys({ ...rootOptionalDeps, ...rootPeerDeps })) {
|
|
2327
2341
|
const version = await getVersionNumPnpm(rootOptionalDeps[rdk]);
|
|
2342
|
+
let specifier;
|
|
2343
|
+
if (
|
|
2344
|
+
typeof rootOptionalDeps[rdk] === "object" &&
|
|
2345
|
+
rootOptionalDeps[rdk].specifier
|
|
2346
|
+
) {
|
|
2347
|
+
specifier = rootOptionalDeps[rdk].specifier;
|
|
2348
|
+
}
|
|
2349
|
+
if (specifier?.includes("npm:")) {
|
|
2350
|
+
possibleAliases[rdk] = specifier;
|
|
2351
|
+
}
|
|
2328
2352
|
const dpurl = new PackageURL(
|
|
2329
2353
|
"npm",
|
|
2330
2354
|
"",
|
|
@@ -2335,8 +2359,19 @@ export async function parsePnpmLock(
|
|
|
2335
2359
|
).toString();
|
|
2336
2360
|
possibleOptionalDeps[decodeURIComponent(dpurl)] = true;
|
|
2337
2361
|
}
|
|
2362
|
+
// Find the root direct dependencies
|
|
2338
2363
|
for (const dk of Object.keys(rootDirectDeps)) {
|
|
2339
2364
|
const version = await getVersionNumPnpm(rootDirectDeps[dk]);
|
|
2365
|
+
let specifier;
|
|
2366
|
+
if (
|
|
2367
|
+
typeof rootDirectDeps[dk] === "object" &&
|
|
2368
|
+
rootDirectDeps[dk].specifier
|
|
2369
|
+
) {
|
|
2370
|
+
specifier = rootDirectDeps[dk].specifier;
|
|
2371
|
+
}
|
|
2372
|
+
if (specifier?.includes("npm:")) {
|
|
2373
|
+
possibleAliases[dk] = specifier;
|
|
2374
|
+
}
|
|
2340
2375
|
const dpurl = new PackageURL(
|
|
2341
2376
|
"npm",
|
|
2342
2377
|
"",
|
|
@@ -2563,19 +2598,35 @@ export async function parsePnpmLock(
|
|
|
2563
2598
|
packages[fullName]?.optionalDependencies ||
|
|
2564
2599
|
snapshots[fullName]?.optionalDependencies ||
|
|
2565
2600
|
{};
|
|
2601
|
+
const peerDeps =
|
|
2602
|
+
packages[pkgKeys[k]]?.peerDependencies ||
|
|
2603
|
+
snapshots[pkgKeys[k]]?.peerDependencies ||
|
|
2604
|
+
packages[fullName]?.peerDependencies ||
|
|
2605
|
+
snapshots[fullName]?.peerDependencies ||
|
|
2606
|
+
{};
|
|
2566
2607
|
// Track the explicit optional dependencies of this package
|
|
2567
2608
|
for (const opkgName of Object.keys(optionalDeps)) {
|
|
2568
2609
|
let vers = optionalDeps[opkgName];
|
|
2569
2610
|
if (vers?.includes("(")) {
|
|
2570
2611
|
vers = vers.split("(")[0];
|
|
2571
2612
|
}
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2613
|
+
let opurlString;
|
|
2614
|
+
if (vers.includes("@")) {
|
|
2615
|
+
opurlString = PackageURL.fromString(
|
|
2616
|
+
`pkg:npm/${vers.replace(/^@/g, "%40")}`,
|
|
2617
|
+
).toString();
|
|
2618
|
+
} else {
|
|
2619
|
+
opurlString = PackageURL.fromString(
|
|
2620
|
+
`pkg:npm/${encodeURIComponent(opkgName).replace(/%2F/g, "/")}@${vers}`,
|
|
2621
|
+
).toString();
|
|
2622
|
+
}
|
|
2575
2623
|
const obomRef = decodeURIComponent(opurlString);
|
|
2576
2624
|
if (possibleOptionalDeps[obomRef] === undefined) {
|
|
2577
2625
|
possibleOptionalDeps[obomRef] = true;
|
|
2578
2626
|
}
|
|
2627
|
+
if (possibleAliases[opkgName]) {
|
|
2628
|
+
possibleAliasesRefs[obomRef] = opkgName;
|
|
2629
|
+
}
|
|
2579
2630
|
}
|
|
2580
2631
|
let scope =
|
|
2581
2632
|
packageNode.dev === true || packageNode.optional === true
|
|
@@ -2893,12 +2944,17 @@ export async function parsePnpmLock(
|
|
|
2893
2944
|
}
|
|
2894
2945
|
}
|
|
2895
2946
|
}
|
|
2896
|
-
|
|
2897
2947
|
// Ensure any required dependency is not scoped optionally
|
|
2898
2948
|
for (const apkg of pkgList) {
|
|
2899
2949
|
if (requiredDependencies[apkg["bom-ref"]]) {
|
|
2900
2950
|
apkg.scope = undefined;
|
|
2901
2951
|
}
|
|
2952
|
+
if (possibleAliasesRefs[apkg["bom-ref"]]) {
|
|
2953
|
+
apkg.properties.push({
|
|
2954
|
+
name: "cdx:pnpm:alias",
|
|
2955
|
+
value: possibleAliasesRefs[apkg["bom-ref"]],
|
|
2956
|
+
});
|
|
2957
|
+
}
|
|
2902
2958
|
// There are no workspaces so exit early
|
|
2903
2959
|
if (!Object.keys(workspacePackageNames).length) {
|
|
2904
2960
|
continue;
|
|
@@ -2474,7 +2474,7 @@ test("parse github actions workflow data", () => {
|
|
|
2474
2474
|
let dep_list = parseGitHubWorkflowData(
|
|
2475
2475
|
readFileSync("./.github/workflows/nodejs.yml", { encoding: "utf-8" }),
|
|
2476
2476
|
);
|
|
2477
|
-
expect(dep_list.length).toEqual(
|
|
2477
|
+
expect(dep_list.length).toEqual(8);
|
|
2478
2478
|
expect(dep_list[0]).toEqual({
|
|
2479
2479
|
group: "actions",
|
|
2480
2480
|
name: "checkout",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyclonedx/cdxgen",
|
|
3
|
-
"version": "11.4.
|
|
3
|
+
"version": "11.4.1",
|
|
4
4
|
"description": "Creates CycloneDX Software Bill of Materials (SBOM) from source or container image",
|
|
5
5
|
"homepage": "http://github.com/cyclonedx/cdxgen",
|
|
6
6
|
"author": "Prabhu Subramanian <prabhu@appthreat.com>",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAg8BA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAqYD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAyEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAgvChB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAg8BA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAqYD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAyEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAgvChB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAuvBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkehB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BAqZhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAuIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAkLhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBAsHhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,qBAuBhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,8BAqDhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,8BA4ChB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BA8IhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BAmJhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAmUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAiJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAwNhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA8ZhB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDAiGC;AAED;;;;;;;;;GASG;AACH,2GAuCC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BA6vBlB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAqUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBA2QhB;AAED;;;;;;;GAOG;AACH,wDAHY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CA2HjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"AA8EA;;;;;GAKG;AACH,0DAUC;AAED;;;;;;GAMG;AACH,yDAHmB,OAAO,UAazB;AAED;;;;;EAoBC;AAmFD,8CAKC;AAED,0CAIC;AAsBD,yCAYC;AAID,2CAQC;AAiOD;;;;;;;GAOG;AACH,4EAiBC;AAED;;;;;;GAMG;AACH,mGA2EC;AAED;;;;;;;;GAQG;AACH,yGAeC;AAyBD;;;;;;GAMG;AACH,qCAJW,MAAM,WACN,MAAM,2BA8BhB;AAED;;;;;;GAMG;AACH,+CAJW,MAAM,WACN,MAAM,+BA0BhB;AAYD;;;;GAIG;AACH,gCAFa,MAAM,CAIlB;AAED,iCAQC;AAED;;;;;;IAMI;AACJ,iDAJW,MAAM,GACJ,OAAO,CAWnB;AAED;;;;;;;;;GASG;AACH,iEA2BC;AAED;;;;;GAKG;AACH,6CAqDC;AAED;;;;;;GAMG;AACH,sEA0DC;AAED;;;;GAIG;AACH,4EAoCC;AAED;;;GAGG;AACH;;EAUC;AAED,sEA0BC;AAED;;;;GAIG;AACH,+DA4CC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,WACN,OAAO,kBA+EjB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,YACN,MAAM;;;GAqgBhB;AAED;;;;;;;GAOG;AACH,6CAFW,MAAM,MA2DhB;AAgCD;;;;GAIG;AACH,4CAFW,MAAM;;;GAuOhB;AAED;;;;GAIG;AACH,4CAFW,MAAM,kBAiEhB;AAoHD;;;;;GAKG;AACH,kDAHW,MAAM,GACJ,MAAM,CAgBlB;AAED;;;;;;;;;;GAUG;AACH,wCARW,MAAM;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"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"}
|