@cyclonedx/cdxgen 11.2.3 → 11.2.4

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/bin/cdxgen.js CHANGED
@@ -56,10 +56,6 @@ if (configPath) {
56
56
  }
57
57
  }
58
58
 
59
- let url = import.meta.url;
60
- if (!url.startsWith("file://")) {
61
- url = new URL(`file://${import.meta.url}`).toString();
62
- }
63
59
  const dirName = dirNameStr;
64
60
 
65
61
  import yargs from "yargs";
package/bin/verify.js CHANGED
@@ -9,10 +9,6 @@ import yargs from "yargs";
9
9
  import { hideBin } from "yargs/helpers";
10
10
  import { dirNameStr } from "../lib/helpers/utils.js";
11
11
 
12
- let url = import.meta.url;
13
- if (!url.startsWith("file://")) {
14
- url = new URL(`file://${import.meta.url}`).toString();
15
- }
16
12
  const dirName = dirNameStr;
17
13
 
18
14
  const args = yargs(hideBin(process.argv))
package/index.cjs ADDED
@@ -0,0 +1,15 @@
1
+ // this file is a wrapper of ./lib/cli/index.js that can be used by commonjs projects importing this module
2
+ // that prefer to use require instead of await import()
3
+ const importPromise = import("./lib/cli/index.js");
4
+
5
+ module.exports = new Proxy(
6
+ {},
7
+ {
8
+ get:
9
+ (_, prop) =>
10
+ async (...args) => {
11
+ const mod = await importPromise;
12
+ return typeof mod[prop] === "function" ? mod[prop](...args) : mod[prop];
13
+ },
14
+ },
15
+ );
package/lib/cli/index.js CHANGED
@@ -73,6 +73,7 @@ import {
73
73
  getGradleCommand,
74
74
  getLicenses,
75
75
  getMavenCommand,
76
+ getMillCommand,
76
77
  getMvnMetadata,
77
78
  getNugetMetadata,
78
79
  getPipFrozenTree,
@@ -130,6 +131,7 @@ import {
130
131
  parseLeiningenData,
131
132
  parseMakeDFile,
132
133
  parseMavenTree,
134
+ parseMillDependency,
133
135
  parseMinJs,
134
136
  parseMixLockData,
135
137
  parseNodeShrinkwrap,
@@ -180,10 +182,6 @@ import {
180
182
  parseImageName,
181
183
  } from "../managers/docker.js";
182
184
 
183
- let url = import.meta.url;
184
- if (!url.startsWith("file://")) {
185
- url = new URL(`file://${import.meta.url}`).toString();
186
- }
187
185
  const dirName = dirNameStr;
188
186
 
189
187
  const selfPJson = JSON.parse(
@@ -416,7 +414,10 @@ const addLifecyclesSection = (options) => {
416
414
  if (inspectData) {
417
415
  lifecycles.push({ phase: "post-build" });
418
416
  }
419
- } else if (options.deep) {
417
+ } else if (
418
+ options?.projectType?.length &&
419
+ options?.projectType?.includes("binary")
420
+ ) {
420
421
  lifecycles.push({ phase: "post-build" });
421
422
  }
422
423
  if (options.projectType?.includes("os")) {
@@ -1393,8 +1394,8 @@ export async function createJarBom(path, options) {
1393
1394
  if (hpiFiles.length) {
1394
1395
  jarFiles = jarFiles.concat(hpiFiles);
1395
1396
  }
1396
- const tempDir = mkdtempSync(join(getTmpDir(), "jar-deps-"));
1397
1397
  for (const jar of jarFiles) {
1398
+ const tempDir = mkdtempSync(join(getTmpDir(), "jar-deps-"));
1398
1399
  if (DEBUG_MODE) {
1399
1400
  console.log(`Parsing ${jar}`);
1400
1401
  }
@@ -1405,10 +1406,10 @@ export async function createJarBom(path, options) {
1405
1406
  if (pkgList.length) {
1406
1407
  pkgList = await getMvnMetadata(pkgList);
1407
1408
  }
1408
- }
1409
- // Clean up
1410
- if (tempDir?.startsWith(getTmpDir()) && rmSync) {
1411
- rmSync(tempDir, { recursive: true, force: true });
1409
+ // Clean up
1410
+ if (tempDir?.startsWith(getTmpDir()) && rmSync) {
1411
+ rmSync(tempDir, { recursive: true, force: true });
1412
+ }
1412
1413
  }
1413
1414
  pkgList = pkgList.concat(convertJarNSToPackages(nsMapping));
1414
1415
  return buildBomNSData(options, pkgList, "maven", {
@@ -1513,10 +1514,20 @@ export async function createJavaBom(path, options) {
1513
1514
  `${options.multiProject ? "**/" : ""}build.gradle*`,
1514
1515
  options,
1515
1516
  );
1517
+ // mill
1518
+ const millFiles = getAllFiles(
1519
+ path,
1520
+ `${options.multiProject ? "**/" : ""}build.mill`,
1521
+ options,
1522
+ );
1516
1523
  let bomJsonFiles = [];
1517
1524
  if (
1518
1525
  pomFiles?.length &&
1519
- isPackageManagerAllowed("maven", ["bazel", "sbt", "gradle"], options)
1526
+ isPackageManagerAllowed(
1527
+ "maven",
1528
+ ["bazel", "sbt", "gradle", "mill"],
1529
+ options,
1530
+ )
1520
1531
  ) {
1521
1532
  if (gradleFiles.length) {
1522
1533
  thoughtLog(
@@ -1942,7 +1953,11 @@ export async function createJavaBom(path, options) {
1942
1953
  // Execute gradle properties
1943
1954
  if (
1944
1955
  gradleFiles?.length &&
1945
- isPackageManagerAllowed("gradle", ["maven", "bazel", "sbt"], options)
1956
+ isPackageManagerAllowed(
1957
+ "gradle",
1958
+ ["maven", "bazel", "sbt", "mill"],
1959
+ options,
1960
+ )
1946
1961
  ) {
1947
1962
  let rootProjects = [null];
1948
1963
  let allProjectsStr = [];
@@ -2078,7 +2093,11 @@ export async function createJavaBom(path, options) {
2078
2093
  if (
2079
2094
  gradleFiles?.length &&
2080
2095
  options.installDeps &&
2081
- isPackageManagerAllowed("gradle", ["maven", "bazel", "sbt"], options)
2096
+ isPackageManagerAllowed(
2097
+ "gradle",
2098
+ ["maven", "bazel", "sbt", "mill"],
2099
+ options,
2100
+ )
2082
2101
  ) {
2083
2102
  allProjects.push(parentComponent);
2084
2103
  const gradleCmd = getGradleCommand(gradleRootPath, null);
@@ -2214,7 +2233,11 @@ export async function createJavaBom(path, options) {
2214
2233
  if (
2215
2234
  bazelFiles?.length &&
2216
2235
  !hasAnyProjectType(["docker", "oci", "container", "os"], options, false) &&
2217
- isPackageManagerAllowed("bazel", ["maven", "gradle", "sbt"], options)
2236
+ isPackageManagerAllowed(
2237
+ "bazel",
2238
+ ["maven", "gradle", "sbt", "mill"],
2239
+ options,
2240
+ )
2218
2241
  ) {
2219
2242
  let BAZEL_CMD = "bazel";
2220
2243
  if (process.env.BAZEL_HOME) {
@@ -2356,7 +2379,11 @@ export async function createJavaBom(path, options) {
2356
2379
  safeMkdirSync(tempCacheDir, { recursive: true });
2357
2380
  if (
2358
2381
  sbtProjects?.length &&
2359
- isPackageManagerAllowed("sbt", ["bazel", "maven", "gradle"], options)
2382
+ isPackageManagerAllowed(
2383
+ "sbt",
2384
+ ["bazel", "maven", "gradle", "mill"],
2385
+ options,
2386
+ )
2360
2387
  ) {
2361
2388
  // If the project use sbt lock files
2362
2389
  if (sbtLockFiles?.length) {
@@ -2537,6 +2564,118 @@ export async function createJavaBom(path, options) {
2537
2564
  force: true,
2538
2565
  });
2539
2566
  }
2567
+
2568
+ if (
2569
+ millFiles?.length &&
2570
+ isPackageManagerAllowed(
2571
+ "mill",
2572
+ ["bazel", "sbt", "gradle", "maven"],
2573
+ options,
2574
+ )
2575
+ ) {
2576
+ const millRootPath = dirname(millFiles[0]);
2577
+ parentComponent = createDefaultParentComponent(
2578
+ millRootPath,
2579
+ "maven",
2580
+ options,
2581
+ );
2582
+ const millCmd = getMillCommand(millRootPath);
2583
+ const millCommonArgs = [
2584
+ "--no-server",
2585
+ "--silent",
2586
+ "--disable-prompt",
2587
+ "--disable-callgraph",
2588
+ "-k",
2589
+ "--color",
2590
+ "false",
2591
+ ];
2592
+ const millArgs = [...millCommonArgs, "__.ivyDepsTree"];
2593
+ if (DEBUG_MODE) {
2594
+ console.log("Executing", millCmd, millArgs.join(" "), "in", millRootPath);
2595
+ }
2596
+ let sresult = spawnSync(millCmd, millArgs, {
2597
+ cwd: millRootPath,
2598
+ encoding: "utf-8",
2599
+ shell: isWin,
2600
+ timeout: TIMEOUT_MS,
2601
+ maxBuffer: MAX_BUFFER * 10,
2602
+ });
2603
+ if (sresult.status !== 0 || sresult.error) {
2604
+ if (options.failOnError || DEBUG_MODE) {
2605
+ console.error(sresult.stdout, sresult.stderr);
2606
+ }
2607
+ options.failOnError && process.exit(1);
2608
+ }
2609
+ const millResolveArgs = [...millCommonArgs, "resolve", "__.ivyDepsTree"];
2610
+ if (DEBUG_MODE) {
2611
+ console.log(
2612
+ "Executing",
2613
+ millCmd,
2614
+ millResolveArgs.join(" "),
2615
+ "in",
2616
+ millRootPath,
2617
+ );
2618
+ }
2619
+ sresult = spawnSync(millCmd, millResolveArgs, {
2620
+ cwd: millRootPath,
2621
+ encoding: "utf-8",
2622
+ shell: isWin,
2623
+ timeout: TIMEOUT_MS,
2624
+ maxBuffer: MAX_BUFFER,
2625
+ });
2626
+ if (sresult.status !== 0 || sresult.error) {
2627
+ if (options.failOnError || DEBUG_MODE) {
2628
+ console.error(sresult.stdout, sresult.stderr);
2629
+ }
2630
+ options.failOnError && process.exit(1);
2631
+ }
2632
+ const sstdout = sresult.stdout;
2633
+ if (sstdout) {
2634
+ parentComponent.components = [];
2635
+ const modules = sstdout
2636
+ .trim()
2637
+ .split("\n")
2638
+ .map((a) => a.substring(0, a.lastIndexOf(".")))
2639
+ .filter((a) =>
2640
+ ["true", "1"].includes(process.env.MILL_EXCLUDE_TEST)
2641
+ ? !a.endsWith(".test")
2642
+ : true,
2643
+ );
2644
+ const moduleBomRefs = [];
2645
+ const packages = new Map();
2646
+ const relations = new Map();
2647
+ relations.set(parentComponent["bom-ref"], []);
2648
+ for (const module of modules) {
2649
+ moduleBomRefs.push(
2650
+ parseMillDependency(module, packages, relations, millRootPath),
2651
+ );
2652
+ }
2653
+ for (const module of moduleBomRefs) {
2654
+ parentComponent.components.push(packages.get(module));
2655
+ relations.get(parentComponent["bom-ref"]).push(module);
2656
+ packages.delete(module);
2657
+ }
2658
+ const newDependencies = [];
2659
+ for (const [ref, dependsOn] of relations.entries()) {
2660
+ newDependencies.push({
2661
+ ref,
2662
+ dependsOn,
2663
+ });
2664
+ }
2665
+ if (DEBUG_MODE) {
2666
+ console.log(
2667
+ `Obtained ${packages.size} components and ${relations.size} dependencies from mill.`,
2668
+ );
2669
+ }
2670
+ pkgList = pkgList.concat(...packages.values());
2671
+ dependencies = mergeDependencies(
2672
+ dependencies,
2673
+ newDependencies,
2674
+ parentComponent,
2675
+ );
2676
+ }
2677
+ }
2678
+
2540
2679
  pkgList = trimComponents(pkgList);
2541
2680
  pkgList = await getMvnMetadata(pkgList, jarNSMapping, options.deep);
2542
2681
  return buildBomNSData(options, pkgList, "maven", {
@@ -53,13 +53,13 @@ import { xml2js } from "xml-js";
53
53
  import { getTreeWithPlugin } from "../managers/piptree.js";
54
54
  import { thoughtLog } from "./logger.js";
55
55
 
56
- let url = import.meta.url;
57
- if (!url.startsWith("file://")) {
56
+ let url = import.meta?.url;
57
+ if (url && !url.startsWith("file://")) {
58
58
  url = new URL(`file://${import.meta.url}`).toString();
59
59
  }
60
60
  // TODO: verify if this is a good method (Prabhu)
61
61
  // this is due to dirNameStr being "cdxgen/lib/helpers" which causes errors
62
- export const dirNameStr = import.meta
62
+ export const dirNameStr = url
63
63
  ? dirname(dirname(dirname(fileURLToPath(url))))
64
64
  : __dirname;
65
65
 
@@ -159,8 +159,7 @@ const RUBY_KNOWN_MODULES = JSON.parse(
159
159
  // Debug mode flag
160
160
  export const DEBUG_MODE =
161
161
  ["debug", "verbose"].includes(process.env.CDXGEN_DEBUG_MODE) ||
162
- process.env.SCAN_DEBUG_MODE === "debug" ||
163
- process.env.NODE_ENV === "development";
162
+ process.env.SCAN_DEBUG_MODE === "debug";
164
163
 
165
164
  // Timeout milliseconds. Default 20 mins
166
165
  export const TIMEOUT_MS =
@@ -346,6 +345,7 @@ export const PROJECT_TYPE_ALIASES = {
346
345
  "sbt",
347
346
  "bazel",
348
347
  "quarkus",
348
+ "mill",
349
349
  ],
350
350
  android: ["android", "apk", "aab"],
351
351
  jar: ["jar", "war", "ear"],
@@ -3414,6 +3414,140 @@ export function parseMavenTree(rawOutput, pomFile) {
3414
3414
  };
3415
3415
  }
3416
3416
 
3417
+ /**
3418
+ * Parse mill dependencies from file
3419
+ *
3420
+ * @param {string} module name of the module
3421
+ * @param {map} dependencies the parsed dependencies
3422
+ * @param {map} relations a map containing all relations
3423
+ * @param {string} millRootPath root of the project
3424
+ *
3425
+ * @returns the bom-ref of the module
3426
+ */
3427
+ export function parseMillDependency(
3428
+ module,
3429
+ dependencies,
3430
+ relations,
3431
+ millRootPath,
3432
+ ) {
3433
+ const treeRegex = /^(?<treeIndentation>(?:[?├│└─ ]{3})+)(?<dependency>.*)/m;
3434
+ const ESC = "\\x1B";
3435
+ const versionRegex = new RegExp(
3436
+ `^(?:${ESC}\\[\\d+m.+ -> )?(?<version>[^\\ ${ESC}]+)(?:.*${ESC}\\[0m)?`,
3437
+ "m",
3438
+ );
3439
+ const levelCache = new Map();
3440
+ const moduleComponent = completeComponent({
3441
+ name: module,
3442
+ version: "latest",
3443
+ });
3444
+ dependencies.set(moduleComponent["bom-ref"], moduleComponent);
3445
+ relations.set(moduleComponent["bom-ref"], []);
3446
+ levelCache.set(0, moduleComponent["bom-ref"]);
3447
+ let moduleFilePath = module;
3448
+ const versionNumbers = [];
3449
+ let indexOfBracket = moduleFilePath.indexOf("[");
3450
+ for (let versionIndex = 0; indexOfBracket !== -1; versionIndex++) {
3451
+ // Special handling for modules called something like 'main.init.sbt.models[2.12.20]'
3452
+ // This needs to be turned into a path like 'main/init/sbt/models/2.12.20'
3453
+ // However, since all other periods need to be changed to slashes, this needs something more...
3454
+ versionNumbers.push(
3455
+ moduleFilePath.substring(
3456
+ indexOfBracket + 1,
3457
+ moduleFilePath.indexOf("]", indexOfBracket + 1),
3458
+ ),
3459
+ );
3460
+ moduleFilePath = moduleFilePath.replace(
3461
+ `[${versionNumbers[versionIndex]}]`,
3462
+ "[]",
3463
+ );
3464
+ indexOfBracket = moduleFilePath.indexOf("[", indexOfBracket + 1);
3465
+ }
3466
+ moduleFilePath = moduleFilePath.replaceAll(".", "/");
3467
+ for (const versionNumber of versionNumbers) {
3468
+ // Now put the versions we removed above back into the path and replace the brackets at the same time
3469
+ moduleFilePath = moduleFilePath.replace("[]", `/${versionNumber}/`);
3470
+ }
3471
+ moduleFilePath = resolve(
3472
+ millRootPath,
3473
+ "out",
3474
+ moduleFilePath,
3475
+ "ivyDepsTree.log",
3476
+ );
3477
+ moduleComponent.properties = [
3478
+ {
3479
+ name: "SrcFile",
3480
+ value: moduleFilePath,
3481
+ },
3482
+ ];
3483
+ moduleComponent.evidence = {
3484
+ identity: {
3485
+ field: "purl",
3486
+ confidence: 0.6,
3487
+ methods: [
3488
+ {
3489
+ technique: "manifest-analysis",
3490
+ confidence: 0.6,
3491
+ value: moduleFilePath,
3492
+ },
3493
+ ],
3494
+ },
3495
+ };
3496
+ const dependencyTreeLog = readFileSync(moduleFilePath, "utf-8");
3497
+ const dependencyTreeLines = dependencyTreeLog
3498
+ .trim()
3499
+ .split("\n")
3500
+ .map((dependency) => dependency.replaceAll("\r", ""));
3501
+ for (const line of dependencyTreeLines) {
3502
+ const match = treeRegex.exec(line);
3503
+ if (match === null) {
3504
+ continue;
3505
+ }
3506
+ const level = match.groups.treeIndentation.length / 3;
3507
+ let group;
3508
+ let name;
3509
+ let version;
3510
+ if (match.groups.dependency.indexOf(":") === -1) {
3511
+ name = match.groups.dependency;
3512
+ version = "latest";
3513
+ } else {
3514
+ [group, name, version] = match.groups.dependency.split(":");
3515
+ version = versionRegex.exec(version).groups.version;
3516
+ }
3517
+ const component = completeComponent({
3518
+ group,
3519
+ name,
3520
+ version,
3521
+ });
3522
+ if (!dependencies.has(component["bom-ref"])) {
3523
+ dependencies.set(component["bom-ref"], component);
3524
+ relations.set(component["bom-ref"], []);
3525
+ }
3526
+ if (
3527
+ !relations.get(levelCache.get(level - 1)).includes(component["bom-ref"])
3528
+ ) {
3529
+ relations.get(levelCache.get(level - 1)).push(component["bom-ref"]);
3530
+ }
3531
+ levelCache.set(level, component["bom-ref"]);
3532
+ }
3533
+ return moduleComponent["bom-ref"];
3534
+ }
3535
+
3536
+ function completeComponent(component) {
3537
+ component["type"] = component.group ? "library" : "application";
3538
+ const purl = new PackageURL(
3539
+ "maven",
3540
+ component.group,
3541
+ component.name,
3542
+ component.version,
3543
+ { type: "jar" },
3544
+ null,
3545
+ ).toString();
3546
+ component["purl"] = purl;
3547
+ component["bom-ref"] = decodeURIComponent(purl);
3548
+ return component;
3549
+ }
3550
+
3417
3551
  /**
3418
3552
  * Parse gradle dependencies output
3419
3553
  * @param {string} rawOutput Raw string output
@@ -5519,7 +5653,7 @@ export async function parseReqFile(reqData, fetchDepsInfo) {
5519
5653
  export async function getPyModules(src, epkgList, options) {
5520
5654
  const allImports = {};
5521
5655
  const dependenciesList = [];
5522
- let modList;
5656
+ let modList = [];
5523
5657
  const slicesFile = resolve(
5524
5658
  options.depsSlicesFile || options.usagesSlicesFile,
5525
5659
  );
@@ -9597,9 +9731,8 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) {
9597
9731
  if (!inputStr) {
9598
9732
  return null;
9599
9733
  }
9600
- const extractNameOperatorVersion = /([\w.-]+)\s*([><=!]+)\s*([\d.]+)/;
9601
- const match = inputStr.match(extractNameOperatorVersion);
9602
-
9734
+ const extractNameOperatorVersion = /([\w.-]+)\s*([><=!]+)\s*(.*)/;
9735
+ let match = inputStr.match(extractNameOperatorVersion);
9603
9736
  if (match) {
9604
9737
  return {
9605
9738
  name: match[1],
@@ -9607,6 +9740,14 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) {
9607
9740
  version: match[3],
9608
9741
  };
9609
9742
  }
9743
+ match = inputStr.split(" ");
9744
+ if (match && match.length === 3) {
9745
+ return {
9746
+ name: match[1],
9747
+ operator: match[2],
9748
+ version: match[3],
9749
+ };
9750
+ }
9610
9751
  return null;
9611
9752
  }
9612
9753
 
@@ -9664,7 +9805,7 @@ export function parseCsProjAssetsData(csProjData, assetsJsonFile) {
9664
9805
  const tversion = tmpParts[1];
9665
9806
  if (
9666
9807
  tname.toLowerCase() === nameOperatorVersion.name.toLowerCase() &&
9667
- tversion === nameOperatorVersion.version
9808
+ tversion === nameOperatorVersion.version.replace("-*", "")
9668
9809
  ) {
9669
9810
  nameToUse = tname;
9670
9811
  matchFound = true;
@@ -11698,7 +11839,7 @@ export async function extractJarArchive(jarFile, tempDir, jarNSMapping = {}) {
11698
11839
  if (jarFiles.length !== pkgList.length) {
11699
11840
  if (pkgList.length) {
11700
11841
  console.log(
11701
- `Obtained only ${pkgList.length} components from ${jarFiles.length} jars.`,
11842
+ `Obtained only ${pkgList.length} components from ${jarFiles.length} jars at ${tempDir}.`,
11702
11843
  );
11703
11844
  } else {
11704
11845
  console.log(
@@ -11952,6 +12093,26 @@ export function getGradleCommand(srcPath, rootPath) {
11952
12093
  return gradleCmd;
11953
12094
  }
11954
12095
 
12096
+ /**
12097
+ * Method to return the mill command to use.
12098
+ *
12099
+ * @param {string} srcPath Path to look for mill wrapper
12100
+ */
12101
+ export function getMillCommand(srcPath) {
12102
+ let millCmd = `mill${platform() === "win32" ? ".bat" : ""}`;
12103
+ if (safeExistsSync(join(srcPath, millCmd))) {
12104
+ // Use local mill wrapper if available
12105
+ // Enable execute permission
12106
+ try {
12107
+ chmodSync(join(srcPath, millCmd), 0o775);
12108
+ } catch (e) {
12109
+ // continue regardless of error
12110
+ }
12111
+ millCmd = resolve(join(srcPath, millCmd));
12112
+ }
12113
+ return millCmd;
12114
+ }
12115
+
11955
12116
  /**
11956
12117
  * Method to combine the general gradle arguments, the sub-commands and the sub-commands' arguments in the correct way
11957
12118
  *
@@ -68,6 +68,7 @@ import {
68
68
  parseLeiningenData,
69
69
  parseMakeDFile,
70
70
  parseMavenTree,
71
+ parseMillDependency,
71
72
  parseMixLockData,
72
73
  parseNodeShrinkwrap,
73
74
  parseNupkg,
@@ -3784,8 +3785,8 @@ test("parsePnpmLock", async () => {
3784
3785
  expect(parsedList.dependenciesList).toHaveLength(462);
3785
3786
  expect(parsedList.pkgList.filter((pkg) => !pkg.scope)).toHaveLength(3);
3786
3787
  parsedList = await parsePnpmLock("./pnpm-lock.yaml");
3787
- expect(parsedList.pkgList.length).toEqual(623);
3788
- expect(parsedList.dependenciesList.length).toEqual(623);
3788
+ expect(parsedList.pkgList.length).toEqual(622);
3789
+ expect(parsedList.dependenciesList.length).toEqual(622);
3789
3790
  expect(parsedList.pkgList[0]).toEqual({
3790
3791
  group: "@ampproject",
3791
3792
  name: "remapping",
@@ -6169,3 +6170,48 @@ test("buildObjectForCocoaPod tests", async () => {
6169
6170
  "bom-ref": "pkg:cocoapods/boost@= 1.59.0#graph-includes",
6170
6171
  });
6171
6172
  });
6173
+
6174
+ test("parseMillDependency test", () => {
6175
+ const millTestDataRoot = "./test/data/mill/";
6176
+ const dependencies = new Map();
6177
+ const relations = new Map();
6178
+
6179
+ expect(dependencies.has("pkg:maven/bar@latest?type=jar")).toBeftoBeFalsy;
6180
+ expect(dependencies.has("pkg:maven/bar.test@latest?type=jar")).toBeftoBeFalsy;
6181
+ expect(dependencies.has("pkg:maven/foo@latest?type=jar")).toBeftoBeFalsy;
6182
+ expect(dependencies.has("pkg:maven/foo.test@latest?type=jar")).toBeftoBeFalsy;
6183
+ expect(dependencies.size).toEqual(0);
6184
+ expect(relations.size).toEqual(0);
6185
+
6186
+ parseMillDependency("bar", dependencies, relations, millTestDataRoot);
6187
+ expect(dependencies.has("pkg:maven/bar@latest?type=jar")).toBeTruthy;
6188
+ expect(dependencies.has("pkg:maven/bar.test@latest?type=jar")).toBeftoBeFalsy;
6189
+ expect(dependencies.has("pkg:maven/foo@latest?type=jar")).toBeftoBeFalsy;
6190
+ expect(dependencies.has("pkg:maven/foo.test@latest?type=jar")).toBeftoBeFalsy;
6191
+ expect(dependencies.size).toEqual(8);
6192
+ expect(relations.size).toEqual(8);
6193
+
6194
+ parseMillDependency("bar.test", dependencies, relations, millTestDataRoot);
6195
+ expect(dependencies.has("pkg:maven/bar@latest?type=jar")).toBeTruthy;
6196
+ expect(dependencies.has("pkg:maven/bar.test@latest?type=jar")).toBeTruthy;
6197
+ expect(dependencies.has("pkg:maven/foo@latest?type=jar")).toBeftoBeFalsy;
6198
+ expect(dependencies.has("pkg:maven/foo.test@latest?type=jar")).toBeftoBeFalsy;
6199
+ expect(dependencies.size).toEqual(13);
6200
+ expect(relations.size).toEqual(13);
6201
+
6202
+ parseMillDependency("foo", dependencies, relations, millTestDataRoot);
6203
+ expect(dependencies.has("pkg:maven/bar@latest?type=jar")).toBeTruthy;
6204
+ expect(dependencies.has("pkg:maven/bar.test@latest?type=jar")).toBeTruthy;
6205
+ expect(dependencies.has("pkg:maven/foo@latest?type=jar")).toBeTruthy;
6206
+ expect(dependencies.has("pkg:maven/foo.test@latest?type=jar")).toBeftoBeFalsy;
6207
+ expect(dependencies.size).toEqual(14);
6208
+ expect(relations.size).toEqual(14);
6209
+
6210
+ parseMillDependency("foo.test", dependencies, relations, millTestDataRoot);
6211
+ expect(dependencies.has("pkg:maven/bar@latest?type=jar")).toBeTruthy;
6212
+ expect(dependencies.has("pkg:maven/bar.test@latest?type=jar")).toBeTruthy;
6213
+ expect(dependencies.has("pkg:maven/foo@latest?type=jar")).toBeTruthy;
6214
+ expect(dependencies.has("pkg:maven/foo.test@latest?type=jar")).toBeTruthy;
6215
+ expect(dependencies.size).toEqual(15);
6216
+ expect(relations.size).toEqual(15);
6217
+ });
@@ -7,10 +7,7 @@ import { DEBUG_MODE, dirNameStr, isPartialTree } from "./utils.js";
7
7
 
8
8
  import { URL } from "node:url";
9
9
  import { thoughtLog } from "./logger.js";
10
- let url = import.meta.url;
11
- if (!url.startsWith("file://")) {
12
- url = new URL(`file://${import.meta.url}`).toString();
13
- }
10
+
14
11
  const dirName = dirNameStr;
15
12
 
16
13
  /**
@@ -30,10 +30,6 @@ import {
30
30
 
31
31
  import { URL } from "node:url";
32
32
 
33
- let url = import.meta.url;
34
- if (!url.startsWith("file://")) {
35
- url = new URL(`file://${import.meta.url}`).toString();
36
- }
37
33
  const dirName = dirNameStr;
38
34
 
39
35
  const isWin = _platform() === "win32";
@@ -228,7 +224,10 @@ const OS_DISTRO_ALIAS = {
228
224
  "ubuntu-19.10": "eoan",
229
225
  "ubuntu-20.04": "focal",
230
226
  "ubuntu-20.10": "groovy",
227
+ "ubuntu-21.04": "hirsute",
228
+ "ubuntu-21.10": "impish",
231
229
  "ubuntu-22.04": "jammy",
230
+ "ubuntu-22.10": "kinetic",
232
231
  "ubuntu-23.04": "lunar",
233
232
  "ubuntu-23.10": "mantic",
234
233
  "ubuntu-24.04": "noble",
@@ -262,6 +261,8 @@ const OS_DISTRO_ALIAS = {
262
261
  "debian-1.2": "rex",
263
262
  "debian-1.1": "buzz",
264
263
  "red hat enterprise linux": "rhel",
264
+ "red hat enterprise linux 6": "rhel-6",
265
+ "red hat enterprise linux 7": "rhel-7",
265
266
  "red hat enterprise linux 8": "rhel-8",
266
267
  "red hat enterprise linux 9": "rhel-9",
267
268
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclonedx/cdxgen",
3
- "version": "11.2.3",
3
+ "version": "11.2.4",
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>",
@@ -39,7 +39,8 @@
39
39
  "type": "module",
40
40
  "exports": {
41
41
  "import": "./lib/cli/index.js",
42
- "types": "./types/lib/cli/index.d.ts"
42
+ "types": "./types/lib/cli/index.d.ts",
43
+ "require": "./index.cjs"
43
44
  },
44
45
  "types": "./types/lib/cli/index.d.ts",
45
46
  "bin": {
@@ -69,7 +70,7 @@
69
70
  "@babel/parser": "^7.27.0",
70
71
  "@babel/traverse": "^7.27.0",
71
72
  "@iarna/toml": "2.2.5",
72
- "@npmcli/arborist": "9.0.1",
73
+ "@npmcli/arborist": "9.0.2",
73
74
  "ajv": "^8.17.1",
74
75
  "ajv-formats": "^3.0.1",
75
76
  "cheerio": "^1.0.0",
@@ -77,7 +78,7 @@
77
78
  "find-up": "7.0.0",
78
79
  "glob": "^11.0.0",
79
80
  "global-agent": "^3.0.0",
80
- "got": "^14.4.5",
81
+ "got": "^14.4.7",
81
82
  "iconv-lite": "^0.6.3",
82
83
  "js-yaml": "^4.1.0",
83
84
  "jws": "^4.0.0",
@@ -119,12 +120,13 @@
119
120
  "lib/**",
120
121
  "bin/",
121
122
  "data/",
122
- "types/"
123
+ "types/",
124
+ "index.cjs"
123
125
  ],
124
126
  "devDependencies": {
125
127
  "@biomejs/biome": "1.9.4",
126
128
  "jest": "^29.7.0",
127
- "typescript": "^5.8.2"
129
+ "typescript": "^5.8.3"
128
130
  },
129
131
  "overrides": {
130
132
  "glob": "^11.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAi7BA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAuXD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAyEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqkChB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAuvBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkehB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA+YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAuIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;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,yDA+FC;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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAk7BA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAuXD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAyEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BA+sChB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAuvBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkehB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA+YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAuIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;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,yDA+FC;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"}
@@ -226,6 +226,17 @@ export function parsePom(pomFile: string): any;
226
226
  * @returns {Object} Object containing packages and dependencies
227
227
  */
228
228
  export function parseMavenTree(rawOutput: string, pomFile: string): any;
229
+ /**
230
+ * Parse mill dependencies from file
231
+ *
232
+ * @param {string} module name of the module
233
+ * @param {map} dependencies the parsed dependencies
234
+ * @param {map} relations a map containing all relations
235
+ * @param {string} millRootPath root of the project
236
+ *
237
+ * @returns the bom-ref of the module
238
+ */
239
+ export function parseMillDependency(module: string, dependencies: map, relations: map, millRootPath: string): any;
229
240
  /**
230
241
  * Parse gradle dependencies output
231
242
  * @param {string} rawOutput Raw string output
@@ -1131,6 +1142,12 @@ export function getJarClasses(jarFile: string): Promise<any[]>;
1131
1142
  * @param {string|null} rootPath Root directory to look for gradlew wrapper
1132
1143
  */
1133
1144
  export function getGradleCommand(srcPath: string, rootPath: string | null): string;
1145
+ /**
1146
+ * Method to return the mill command to use.
1147
+ *
1148
+ * @param {string} srcPath Path to look for mill wrapper
1149
+ */
1150
+ export function getMillCommand(srcPath: string): string;
1134
1151
  /**
1135
1152
  * Method to combine the general gradle arguments, the sub-commands and the sub-commands' arguments in the correct way
1136
1153
  *
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../lib/helpers/validator.js"],"names":[],"mappings":"AAiUA;;;;GAIG;AACH,uCAFW,MAAM,WA0FhB;AAxYM,qCAJI,MAAM,WAkDhB;AAOM,0CAFI,MAAM,WA2DhB;AAOM,uCAFI,MAAM,WAmEhB;AA6BM,sCAFI,MAAM,WAwFhB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../lib/helpers/validator.js"],"names":[],"mappings":"AA8TA;;;;GAIG;AACH,uCAFW,MAAM,WA0FhB;AAxYM,qCAJI,MAAM,WAkDhB;AAOM,0CAFI,MAAM,WA2DhB;AAOM,uCAFI,MAAM,WAmEhB;AA6BM,sCAFI,MAAM,WAwFhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../lib/managers/binary.js"],"names":[],"mappings":"AA0SA,wDAkBC;AAED;;;;;GAKG;AACH,kDAFa,SAAS,MAAO,CAqB5B;AAED;;;;;;;GAOG;AACH,kEAqaC;AAsDD,gDAoDC;AAED;;;;;;GAMG;AACH,qCAJW,MAAM,cACN,MAAM,WA0ChB;AAED;;;;;;;;GAQG;AACH,kCANW,MAAM,iBACN,MAAM,YACN,OAAO,GAEN,OAAO,CA8BlB"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../lib/managers/binary.js"],"names":[],"mappings":"AA2SA,wDAkBC;AAED;;;;;GAKG;AACH,kDAFa,SAAS,MAAO,CAqB5B;AAED;;;;;;;GAOG;AACH,kEAqaC;AAsDD,gDAoDC;AAED;;;;;;GAMG;AACH,qCAJW,MAAM,cACN,MAAM,WA0ChB;AAED;;;;;;;;GAQG;AACH,kCANW,MAAM,iBACN,MAAM,YACN,OAAO,GAEN,OAAO,CA8BlB"}