@cyclonedx/cdxgen 10.8.5 → 10.8.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclonedx/cdxgen",
3
- "version": "10.8.5",
3
+ "version": "10.8.7",
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>",
@@ -88,13 +88,13 @@
88
88
  "optionalDependencies": {
89
89
  "@appthreat/atom": "2.0.17",
90
90
  "@appthreat/cdx-proto": "1.0.1",
91
- "@cyclonedx/cdxgen-plugins-bin": "1.6.2",
92
- "@cyclonedx/cdxgen-plugins-bin-arm64": "1.6.2",
93
- "@cyclonedx/cdxgen-plugins-bin-darwin-amd64": "1.6.2",
94
- "@cyclonedx/cdxgen-plugins-bin-darwin-arm64": "1.6.2",
95
- "@cyclonedx/cdxgen-plugins-bin-ppc64": "1.6.2",
96
- "@cyclonedx/cdxgen-plugins-bin-windows-amd64": "1.6.2",
97
- "@cyclonedx/cdxgen-plugins-bin-windows-arm64": "1.6.2",
91
+ "@cyclonedx/cdxgen-plugins-bin": "1.6.3",
92
+ "@cyclonedx/cdxgen-plugins-bin-arm64": "1.6.3",
93
+ "@cyclonedx/cdxgen-plugins-bin-darwin-amd64": "1.6.3",
94
+ "@cyclonedx/cdxgen-plugins-bin-darwin-arm64": "1.6.3",
95
+ "@cyclonedx/cdxgen-plugins-bin-ppc64": "1.6.3",
96
+ "@cyclonedx/cdxgen-plugins-bin-windows-amd64": "1.6.3",
97
+ "@cyclonedx/cdxgen-plugins-bin-windows-arm64": "1.6.3",
98
98
  "body-parser": "^1.20.2",
99
99
  "compression": "^1.7.4",
100
100
  "connect": "^3.7.0",
package/server.js CHANGED
@@ -94,7 +94,7 @@ const parseQueryString = (q, body, options = {}) => {
94
94
  }
95
95
  }
96
96
 
97
- options.projectType = options.type.split(",");
97
+ options.projectType = options.type?.split(",");
98
98
  delete options.type;
99
99
 
100
100
  return options;
package/types/utils.d.ts CHANGED
@@ -39,7 +39,8 @@ export function isSpdxLicenseExpression(license: string): boolean;
39
39
  * Convert the array of licenses to a CycloneDX 1.5 compliant license array.
40
40
  * This should return an array containing:
41
41
  * - one or more SPDX license if no expression is present
42
- * - the first license expression if at least one is present
42
+ * - the license of the expression if one expression is present
43
+ * - a unified conditional 'OR' license expression if more then one expression is present
43
44
  *
44
45
  * @param {Array} licenses Array of licenses
45
46
  * @returns {Array} CycloneDX 1.5 compliant license array
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.js"],"names":[],"mappings":"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"}
package/utils.js CHANGED
@@ -464,7 +464,8 @@ export function isSpdxLicenseExpression(license) {
464
464
  * Convert the array of licenses to a CycloneDX 1.5 compliant license array.
465
465
  * This should return an array containing:
466
466
  * - one or more SPDX license if no expression is present
467
- * - the first license expression if at least one is present
467
+ * - the license of the expression if one expression is present
468
+ * - a unified conditional 'OR' license expression if more then one expression is present
468
469
  *
469
470
  * @param {Array} licenses Array of licenses
470
471
  * @returns {Array} CycloneDX 1.5 compliant license array
@@ -479,7 +480,14 @@ export function adjustLicenseInformation(licenses) {
479
480
  });
480
481
  if (expressions.length >= 1) {
481
482
  if (expressions.length > 1) {
482
- console.warn("multiple license expressions found", expressions);
483
+ return [
484
+ {
485
+ expression: expressions
486
+ .map((e) => e.expression || "")
487
+ .filter(Boolean)
488
+ .join(" OR "),
489
+ },
490
+ ];
483
491
  }
484
492
  return [{ expression: expressions[0].expression }];
485
493
  }
@@ -504,43 +512,45 @@ export function getLicenses(pkg) {
504
512
  license = [license];
505
513
  }
506
514
  return adjustLicenseInformation(
507
- license.map((l) => {
508
- let licenseContent = {};
509
- if (typeof l === "string" || l instanceof String) {
510
- if (
511
- spdxLicenses.some((v) => {
512
- return l === v;
513
- })
514
- ) {
515
- licenseContent.id = l;
516
- licenseContent.url = `https://opensource.org/licenses/${l}`;
517
- } else if (l.startsWith("http")) {
518
- const knownLicense = getKnownLicense(l, pkg);
519
- if (knownLicense) {
520
- licenseContent.id = knownLicense.id;
521
- licenseContent.name = knownLicense.name;
522
- }
523
- // We always need a name to avoid validation errors
524
- // Issue: #469
525
- if (!licenseContent.name && !licenseContent.id) {
526
- licenseContent.name = "CUSTOM";
515
+ license
516
+ .filter((l) => l !== undefined)
517
+ .map((l) => {
518
+ let licenseContent = {};
519
+ if (typeof l === "string" || l instanceof String) {
520
+ if (
521
+ spdxLicenses.some((v) => {
522
+ return l === v;
523
+ })
524
+ ) {
525
+ licenseContent.id = l;
526
+ licenseContent.url = `https://opensource.org/licenses/${l}`;
527
+ } else if (l.startsWith("http")) {
528
+ const knownLicense = getKnownLicense(l, pkg);
529
+ if (knownLicense) {
530
+ licenseContent.id = knownLicense.id;
531
+ licenseContent.name = knownLicense.name;
532
+ }
533
+ // We always need a name to avoid validation errors
534
+ // Issue: #469
535
+ if (!licenseContent.name && !licenseContent.id) {
536
+ licenseContent.name = "CUSTOM";
537
+ }
538
+ licenseContent.url = l;
539
+ } else if (isSpdxLicenseExpression(l)) {
540
+ licenseContent.expression = l;
541
+ } else {
542
+ licenseContent.name = l;
527
543
  }
528
- licenseContent.url = l;
529
- } else if (isSpdxLicenseExpression(l)) {
530
- licenseContent.expression = l;
544
+ } else if (Object.keys(l).length) {
545
+ licenseContent = l;
531
546
  } else {
532
- licenseContent.name = l;
547
+ return undefined;
533
548
  }
534
- } else if (Object.keys(l).length) {
535
- licenseContent = l;
536
- } else {
537
- return undefined;
538
- }
539
- if (!licenseContent.id) {
540
- addLicenseText(pkg, l, licenseContent);
541
- }
542
- return licenseContent;
543
- }),
549
+ if (!licenseContent.id) {
550
+ addLicenseText(pkg, l, licenseContent);
551
+ }
552
+ return licenseContent;
553
+ }),
544
554
  );
545
555
  }
546
556
  const knownLicense = getKnownLicense(undefined, pkg);
@@ -2861,6 +2871,7 @@ export function executeGradleProperties(dir, rootPath, subProject) {
2861
2871
  cwd: dir,
2862
2872
  encoding: "utf-8",
2863
2873
  shell: isWin,
2874
+ maxBuffer: 10 * 1024 * 1024,
2864
2875
  });
2865
2876
  if (result.status !== 0 || result.error) {
2866
2877
  if (result.stderr) {
package/utils.test.js CHANGED
@@ -8,10 +8,12 @@ import {
8
8
  findLicenseId,
9
9
  getCratesMetadata,
10
10
  getDartMetadata,
11
+ getGoPkgLicense,
11
12
  getLicenses,
12
13
  getMvnMetadata,
13
14
  getNugetMetadata,
14
15
  getPyMetadata,
16
+ getRepoLicense,
15
17
  guessPypiMatchingVersion,
16
18
  hasAnyProjectType,
17
19
  isValidIriReference,
@@ -2246,32 +2248,38 @@ test("parsePomMetadata", async () => {
2246
2248
  const data = await getMvnMetadata(deps);
2247
2249
  expect(data.length).toEqual(deps.length);
2248
2250
  });
2249
- /*
2251
+
2250
2252
  test("get repo license", async () => {
2251
- let license = await utils.getRepoLicense(
2252
- "https://github.com/ShiftLeftSecurity/sast-scan"
2253
+ let license = await getRepoLicense(
2254
+ "https://github.com/ShiftLeftSecurity/sast-scan",
2255
+ {
2256
+ group: "ShiftLeftSecurity",
2257
+ name: "sast-scan",
2258
+ },
2253
2259
  );
2254
2260
  expect(license).toEqual({
2255
- id: "GPL-3.0-or-later",
2256
- url: "https://github.com/ShiftLeftSecurity/sast-scan/blob/master/LICENSE"
2261
+ id: "Apache-2.0",
2262
+ url: "https://github.com/ShiftLeftSecurity/sast-scan/blob/master/LICENSE",
2257
2263
  });
2258
2264
 
2259
- license = await utils.getRepoLicense("https://github.com/cyclonedx/cdxgen", {
2260
- group: "",
2261
- name: "cdxgen"
2265
+ license = await getRepoLicense("https://github.com/cyclonedx/cdxgen", {
2266
+ group: "cyclonedx",
2267
+ name: "cdxgen",
2262
2268
  });
2263
2269
  expect(license).toEqual({
2264
2270
  id: "Apache-2.0",
2265
- url: "https://github.com/cyclonedx/cdxgen/blob/master/LICENSE"
2271
+ url: "https://github.com/CycloneDX/cdxgen/blob/master/LICENSE",
2266
2272
  });
2267
2273
 
2268
- license = await utils.getRepoLicense("https://cloud.google.com/go", {
2274
+ // These tests are disabled because they are returning undefined
2275
+ /*
2276
+ license = await getRepoLicense("https://cloud.google.com/go", {
2269
2277
  group: "cloud.google.com",
2270
2278
  name: "go"
2271
2279
  });
2272
2280
  expect(license).toEqual("Apache-2.0");
2273
2281
 
2274
- license = await utils.getRepoLicense(undefined, {
2282
+ license = await getRepoLicense(undefined, {
2275
2283
  group: "github.com/ugorji",
2276
2284
  name: "go"
2277
2285
  });
@@ -2279,43 +2287,43 @@ test("get repo license", async () => {
2279
2287
  id: "MIT",
2280
2288
  url: "https://github.com/ugorji/go/blob/master/LICENSE"
2281
2289
  });
2290
+ */
2282
2291
  });
2292
+
2283
2293
  test("get go pkg license", async () => {
2284
- jest.setTimeout(120000);
2285
- let license = await utils.getGoPkgLicense({
2294
+ let license = await getGoPkgLicense({
2286
2295
  group: "github.com/Azure/azure-amqp-common-go",
2287
- name: "v2"
2296
+ name: "v2",
2288
2297
  });
2289
2298
  expect(license).toEqual([
2290
2299
  {
2291
2300
  id: "MIT",
2292
- url: "https://pkg.go.dev/github.com/Azure/azure-amqp-common-go/v2?tab=licenses"
2293
- }
2301
+ url: "https://pkg.go.dev/github.com/Azure/azure-amqp-common-go/v2?tab=licenses",
2302
+ },
2294
2303
  ]);
2295
2304
 
2296
- license = await utils.getGoPkgLicense({
2305
+ license = await getGoPkgLicense({
2297
2306
  group: "go.opencensus.io",
2298
- name: "go.opencensus.io"
2307
+ name: "go.opencensus.io",
2299
2308
  });
2300
2309
  expect(license).toEqual([
2301
2310
  {
2302
2311
  id: "Apache-2.0",
2303
- url: "https://pkg.go.dev/go.opencensus.io?tab=licenses"
2304
- }
2312
+ url: "https://pkg.go.dev/go.opencensus.io?tab=licenses",
2313
+ },
2305
2314
  ]);
2306
2315
 
2307
- license = await utils.getGoPkgLicense({
2316
+ license = await getGoPkgLicense({
2308
2317
  group: "github.com/DataDog",
2309
- name: "zstd"
2318
+ name: "zstd",
2310
2319
  });
2311
2320
  expect(license).toEqual([
2312
2321
  {
2313
2322
  id: "BSD-3-Clause",
2314
- url: "https://pkg.go.dev/github.com/DataDog/zstd?tab=licenses"
2315
- }
2323
+ url: "https://pkg.go.dev/github.com/DataDog/zstd?tab=licenses",
2324
+ },
2316
2325
  ]);
2317
2326
  });
2318
- */
2319
2327
 
2320
2328
  test("get licenses", () => {
2321
2329
  let licenses = getLicenses({ license: "MIT" });
@@ -2398,6 +2406,11 @@ test("get licenses", () => {
2398
2406
  expression: "GPL-3.0-only WITH Classpath-exception-2.0",
2399
2407
  },
2400
2408
  ]);
2409
+
2410
+ licenses = getLicenses({
2411
+ license: undefined,
2412
+ });
2413
+ expect(licenses).toEqual(undefined);
2401
2414
  });
2402
2415
 
2403
2416
  test("parsePkgJson", async () => {