@datadog/datadog-ci 2.33.0 → 2.33.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/dist/commands/flutter-symbols/helpers.js +2 -2
- package/dist/commands/flutter-symbols/helpers.js.map +1 -1
- package/dist/commands/git-metadata/library.js +1 -1
- package/dist/commands/git-metadata/upload.js +1 -1
- package/dist/commands/react-native/upload.js +1 -1
- package/dist/commands/sbom/payload.js +1 -2
- package/dist/commands/sbom/payload.js.map +1 -1
- package/dist/commands/sbom/upload.js +8 -3
- package/dist/commands/sbom/upload.js.map +1 -1
- package/dist/commands/sbom/validation.d.ts +9 -2
- package/dist/commands/sbom/validation.js +47 -6
- package/dist/commands/sbom/validation.js.map +1 -1
- package/dist/commands/sourcemaps/upload.js +1 -1
- package/dist/commands/unity-symbols/helpers.js +1 -1
- package/package.json +1 -1
- package/dist/commands/sbom/license.d.ts +0 -3
- package/dist/commands/sbom/license.js +0 -113
- package/dist/commands/sbom/license.js.map +0 -1
|
@@ -41,13 +41,13 @@ const getFlutterRequestBuilder = (apiKey, cliVersion, site) => (0, utils_1.getRe
|
|
|
41
41
|
apiKey,
|
|
42
42
|
baseUrl: (0, base_intake_url_1.getBaseSourcemapIntakeUrl)(site),
|
|
43
43
|
headers: new Map([
|
|
44
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
44
|
+
['DD-EVP-ORIGIN', 'datadog-ci_flutter-symbols'],
|
|
45
45
|
['DD-EVP-ORIGIN-VERSION', cliVersion],
|
|
46
46
|
]),
|
|
47
47
|
overrideUrl: 'api/v2/srcmap',
|
|
48
48
|
});
|
|
49
49
|
exports.getFlutterRequestBuilder = getFlutterRequestBuilder;
|
|
50
|
-
// This function exists partially just to make mocking
|
|
50
|
+
// This function exists partially just to make mocking network calls easier.
|
|
51
51
|
const uploadMultipartHelper = (requestBuilder, payload, opts) => __awaiter(void 0, void 0, void 0, function* () { return (0, upload_1.upload)(requestBuilder)(payload, opts); });
|
|
52
52
|
exports.uploadMultipartHelper = uploadMultipartHelper;
|
|
53
53
|
const getArchInfoFromFilename = (filename) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/flutter-symbols/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B,mEAAuE;AAEvE,iDAA4E;AAC5E,+CAAqD;AAE9C,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,IAAY,EAAE,EAAE,CAC3F,IAAA,yBAAiB,EAAC;IAChB,MAAM;IACN,OAAO,EAAE,IAAA,2CAAyB,EAAC,IAAI,CAAC;IACxC,OAAO,EAAE,IAAI,GAAG,CAAC;QACf,CAAC,eAAe,EAAE,4BAA4B,CAAC;QAC/C,CAAC,uBAAuB,EAAE,UAAU,CAAC;KACtC,CAAC;IACF,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAA;AATS,QAAA,wBAAwB,4BASjC;AAEJ,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/flutter-symbols/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B,mEAAuE;AAEvE,iDAA4E;AAC5E,+CAAqD;AAE9C,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,UAAkB,EAAE,IAAY,EAAE,EAAE,CAC3F,IAAA,yBAAiB,EAAC;IAChB,MAAM;IACN,OAAO,EAAE,IAAA,2CAAyB,EAAC,IAAI,CAAC;IACxC,OAAO,EAAE,IAAI,GAAG,CAAC;QACf,CAAC,eAAe,EAAE,4BAA4B,CAAC;QAC/C,CAAC,uBAAuB,EAAE,UAAU,CAAC;KACtC,CAAC;IACF,WAAW,EAAE,eAAe;CAC7B,CAAC,CAAA;AATS,QAAA,wBAAwB,4BASjC;AAEJ,4EAA4E;AACrE,MAAM,qBAAqB,GAAG,CACnC,cAA8B,EAC9B,OAAyB,EACzB,IAAmB,EACnB,EAAE,kDAAC,OAAA,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA,GAAA,CAAA;AAJ7B,QAAA,qBAAqB,yBAIQ;AAEnC,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,EAAE;;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAA,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,0CAAE,MAAM,CAAA;IACzE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAA;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAClC,OAAO,SAAS,CAAA;KACjB;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAlBY,QAAA,uBAAuB,2BAkBnC"}
|
|
@@ -72,7 +72,7 @@ const uploadToSrcmapTrack = (apiKey, datadogSite, payload) => __awaiter(void 0,
|
|
|
72
72
|
apiKey,
|
|
73
73
|
baseUrl: 'https://sourcemap-intake.' + datadogSite,
|
|
74
74
|
headers: new Map([
|
|
75
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
75
|
+
['DD-EVP-ORIGIN', 'datadog-ci_sci'],
|
|
76
76
|
['DD-EVP-ORIGIN-VERSION', version_1.version],
|
|
77
77
|
]),
|
|
78
78
|
overrideUrl: 'api/v2/srcmap',
|
|
@@ -185,7 +185,7 @@ class UploadCommand extends clipanion_1.Command {
|
|
|
185
185
|
apiKey,
|
|
186
186
|
baseUrl: (0, api_1.getBaseIntakeUrl)(),
|
|
187
187
|
headers: new Map([
|
|
188
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
188
|
+
['DD-EVP-ORIGIN', 'datadog-ci_git-metadata'],
|
|
189
189
|
['DD-EVP-ORIGIN-VERSION', this.cliVersion],
|
|
190
190
|
]),
|
|
191
191
|
overrideUrl: 'api/v2/srcmap',
|
|
@@ -227,7 +227,7 @@ class UploadCommand extends clipanion_1.Command {
|
|
|
227
227
|
apiKey: this.config.apiKey,
|
|
228
228
|
baseUrl: (0, base_intake_url_1.getBaseSourcemapIntakeUrl)(this.config.datadogSite),
|
|
229
229
|
headers: new Map([
|
|
230
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
230
|
+
['DD-EVP-ORIGIN', 'datadog-ci_react-native'],
|
|
231
231
|
['DD-EVP-ORIGIN-VERSION', this.cliVersion],
|
|
232
232
|
]),
|
|
233
233
|
overrideUrl: 'api/v2/srcmap',
|
|
@@ -31,7 +31,6 @@ const console = __importStar(require("console"));
|
|
|
31
31
|
const crypto_1 = __importDefault(require("crypto"));
|
|
32
32
|
const tags_1 = require("../../helpers/tags");
|
|
33
33
|
const language_1 = require("./language");
|
|
34
|
-
const license_1 = require("./license");
|
|
35
34
|
// Parse a location from the file generated by osv-scanner into a location that can be
|
|
36
35
|
// sent to our API.
|
|
37
36
|
const parseLocation = (location) => {
|
|
@@ -142,7 +141,7 @@ const generatePayload = (jsonContent, tags, service, env) => {
|
|
|
142
141
|
group: component['group'] || undefined,
|
|
143
142
|
version: component['version'],
|
|
144
143
|
language: lang,
|
|
145
|
-
licenses:
|
|
144
|
+
licenses: [],
|
|
146
145
|
purl,
|
|
147
146
|
locations,
|
|
148
147
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/sbom/payload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,oDAA2B;AAG3B,6CAM2B;AAE3B,yCAAmD;
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/sbom/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,9 +83,14 @@ class UploadSbomCommand extends clipanion_1.Command {
|
|
|
83
83
|
if (this.debug) {
|
|
84
84
|
this.context.stdout.write(`Processing file ${basePath}\n`);
|
|
85
85
|
}
|
|
86
|
-
if (!(0, validation_1.
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
if (!(0, validation_1.validateSbomFileAgainstSchema)(basePath, validator, !!this.debug)) {
|
|
87
|
+
if (!(0, validation_1.validateFileAgainstToolRequirements)(basePath, !!this.debug)) {
|
|
88
|
+
this.context.stdout.write((0, renderer_1.renderInvalidFile)(basePath));
|
|
89
|
+
return 1;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.context.stdout.write('Invalid SBOM file but enough data to be processed (use --debug to get validation error)\n');
|
|
93
|
+
}
|
|
89
94
|
}
|
|
90
95
|
const jsonContent = JSON.parse(fs_1.default.readFileSync(basePath).toString('utf8'));
|
|
91
96
|
// Upload content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/sbom/upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,sDAA6B;AAG7B,iCAA+D;AAC/D,yCAAyC;AAEzC,6CAA2E;AAE3E,+BAAkC;AAClC,uCAAyC;AACzC,yCAQmB;AAEnB,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/sbom/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,16 @@ import Ajv from 'ajv';
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const getValidator: () => Ajv;
|
|
7
7
|
/**
|
|
8
|
-
* Validate an SBOM file.
|
|
8
|
+
* Validate an SBOM file against the SBOM CycloneDX schema.
|
|
9
|
+
*
|
|
9
10
|
* @param path - the path of the file to validate
|
|
10
11
|
* @param ajv - an instance of Ajv fully initialized and ready to use.
|
|
11
12
|
* @param debug - if we need to show debug information
|
|
12
13
|
*/
|
|
13
|
-
export declare const
|
|
14
|
+
export declare const validateSbomFileAgainstSchema: (path: string, ajv: Ajv, debug: boolean) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Validate an SBOM file again what we need.
|
|
17
|
+
* @param path - the path of the file to validate
|
|
18
|
+
* @param debug - if we need to show debug information
|
|
19
|
+
*/
|
|
20
|
+
export declare const validateFileAgainstToolRequirements: (path: string, debug: boolean) => boolean;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.validateFileAgainstToolRequirements = exports.validateSbomFileAgainstSchema = exports.getValidator = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const ajv_1 = __importDefault(require("ajv"));
|
|
9
9
|
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
@@ -24,12 +24,13 @@ const getValidator = () => {
|
|
|
24
24
|
};
|
|
25
25
|
exports.getValidator = getValidator;
|
|
26
26
|
/**
|
|
27
|
-
* Validate an SBOM file.
|
|
27
|
+
* Validate an SBOM file against the SBOM CycloneDX schema.
|
|
28
|
+
*
|
|
28
29
|
* @param path - the path of the file to validate
|
|
29
30
|
* @param ajv - an instance of Ajv fully initialized and ready to use.
|
|
30
31
|
* @param debug - if we need to show debug information
|
|
31
32
|
*/
|
|
32
|
-
const
|
|
33
|
+
const validateSbomFileAgainstSchema = (path, ajv, debug) => {
|
|
33
34
|
try {
|
|
34
35
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
35
36
|
const fileContent = JSON.parse(fs_1.default.readFileSync(path).toString('utf8'));
|
|
@@ -52,7 +53,7 @@ const validateSbomFile = (path, ajv, debug) => {
|
|
|
52
53
|
const errors15 = validateFunctionCycloneDx15.errors || [];
|
|
53
54
|
if (debug) {
|
|
54
55
|
errors15.forEach((message) => {
|
|
55
|
-
process.stderr.write(`Error while validating file ${path}, ${message.schemaPath}: ${message.instancePath} ${message.message}\n`);
|
|
56
|
+
process.stderr.write(`Error while validating file against CycloneDX 1.5: ${path}, ${message.schemaPath}: ${message.instancePath} ${message.message}\n`);
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
}
|
|
@@ -60,7 +61,7 @@ const validateSbomFile = (path, ajv, debug) => {
|
|
|
60
61
|
const errors14 = validateFunctionCycloneDx14.errors || [];
|
|
61
62
|
if (debug) {
|
|
62
63
|
errors14.forEach((message) => {
|
|
63
|
-
process.stderr.write(`Error while validating file ${path}, ${message.schemaPath}: ${message.instancePath} ${message.message}\n`);
|
|
64
|
+
process.stderr.write(`Error while validating file against CycloneDX 1.4: ${path}, ${message.schemaPath}: ${message.instancePath} ${message.message}\n`);
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
67
|
}
|
|
@@ -73,5 +74,45 @@ const validateSbomFile = (path, ajv, debug) => {
|
|
|
73
74
|
return false;
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
|
-
exports.
|
|
77
|
+
exports.validateSbomFileAgainstSchema = validateSbomFileAgainstSchema;
|
|
78
|
+
/**
|
|
79
|
+
* Validate an SBOM file again what we need.
|
|
80
|
+
* @param path - the path of the file to validate
|
|
81
|
+
* @param debug - if we need to show debug information
|
|
82
|
+
*/
|
|
83
|
+
const validateFileAgainstToolRequirements = (path, debug) => {
|
|
84
|
+
try {
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
86
|
+
const fileContent = JSON.parse(fs_1.default.readFileSync(path).toString('utf8'));
|
|
87
|
+
if (!fileContent) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
const components = fileContent['components'];
|
|
91
|
+
for (const component of components) {
|
|
92
|
+
if (!component['type']) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (component['type'] === 'library') {
|
|
96
|
+
const name = component['name'];
|
|
97
|
+
if (!!component['version']) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (!component['purl']) {
|
|
101
|
+
if (debug) {
|
|
102
|
+
process.stderr.write(`Component ${name} has no purl\n`);
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
if (debug) {
|
|
111
|
+
process.stderr.write(`Error while reading file: ${error.message}\n`);
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
};
|
|
117
|
+
exports.validateFileAgainstToolRequirements = validateFileAgainstToolRequirements;
|
|
77
118
|
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/sbom/validation.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAmB;AAEnB,8CAAqB;AACrB,8DAAoC;AAEpC,sGAA2E;AAC3E,sGAA2E;AAC3E,kGAA8D;AAC9D,2FAA4D;AAE5D;;;GAGG;AACI,MAAM,YAAY,GAAG,GAAQ,EAAE;IACpC,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAC,CAAC,CAAA;IAC5D,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,CAAA;IAC7B,GAAG,CAAC,aAAa,CAAC,8BAAS,CAAC,CAAA;IAC5B,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAA;IAEf,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAPY,QAAA,YAAY,gBAOxB;AAED
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/sbom/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -212,7 +212,7 @@ class UploadCommand extends clipanion_1.Command {
|
|
|
212
212
|
apiKey: this.config.apiKey,
|
|
213
213
|
baseUrl: (0, base_intake_url_1.getBaseSourcemapIntakeUrl)(this.config.datadogSite),
|
|
214
214
|
headers: new Map([
|
|
215
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
215
|
+
['DD-EVP-ORIGIN', 'datadog-ci_sourcemaps'],
|
|
216
216
|
['DD-EVP-ORIGIN-VERSION', this.cliVersion],
|
|
217
217
|
]),
|
|
218
218
|
overrideUrl: 'api/v2/srcmap',
|
|
@@ -17,7 +17,7 @@ const getUnityRequestBuilder = (apiKey, cliVersion, site) => (0, utils_1.getRequ
|
|
|
17
17
|
apiKey,
|
|
18
18
|
baseUrl: (0, base_intake_url_1.getBaseSourcemapIntakeUrl)(site),
|
|
19
19
|
headers: new Map([
|
|
20
|
-
['DD-EVP-ORIGIN', 'datadog-
|
|
20
|
+
['DD-EVP-ORIGIN', 'datadog-ci_unity-symbols'],
|
|
21
21
|
['DD-EVP-ORIGIN-VERSION', cliVersion],
|
|
22
22
|
]),
|
|
23
23
|
overrideUrl: 'api/v2/srcmap',
|
package/package.json
CHANGED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLicensesFromComponent = exports.getLicensesFromString = void 0;
|
|
4
|
-
const types_1 = require("./types");
|
|
5
|
-
// Get the license from a string. If the license is valid, we return it. Otherwise, we return undefined
|
|
6
|
-
// List of licenses: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
|
|
7
|
-
const getLicenseFromString = (s) => {
|
|
8
|
-
if (!s) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
switch (s.toLowerCase()) {
|
|
12
|
-
case '0bsd':
|
|
13
|
-
return types_1.DependencyLicense.ZEROBSD;
|
|
14
|
-
case 'apache-2.0':
|
|
15
|
-
case 'apache 2':
|
|
16
|
-
case 'apache license, version 2.0':
|
|
17
|
-
case 'the apache software license, version 2.0':
|
|
18
|
-
case 'apache license 2.0':
|
|
19
|
-
case 'apache public license 2.0':
|
|
20
|
-
case 'the apache license, version 2.0':
|
|
21
|
-
case 'apache license version 2.0':
|
|
22
|
-
return types_1.DependencyLicense.APACHE2;
|
|
23
|
-
case 'bsd-2-clause':
|
|
24
|
-
return types_1.DependencyLicense.BSD2CLAUSE;
|
|
25
|
-
case 'bsd-3-clause':
|
|
26
|
-
return types_1.DependencyLicense.BSD3CLAUSE;
|
|
27
|
-
case 'bsl-1.0':
|
|
28
|
-
return types_1.DependencyLicense.BSL1;
|
|
29
|
-
case 'cc0':
|
|
30
|
-
return types_1.DependencyLicense.CC0_1_0;
|
|
31
|
-
case 'epl 1.0':
|
|
32
|
-
case 'eclipse public license 1.0':
|
|
33
|
-
case 'eclipse public license, version 1.0':
|
|
34
|
-
return types_1.DependencyLicense.EPL1_0;
|
|
35
|
-
case 'eclipse public license - v 2.0':
|
|
36
|
-
case 'eclipse public license v2.0':
|
|
37
|
-
return types_1.DependencyLicense.EPL2_0;
|
|
38
|
-
case 'gpl v2':
|
|
39
|
-
case 'gnu general public license, version 2 (gpl2)':
|
|
40
|
-
return types_1.DependencyLicense.GPL2_0;
|
|
41
|
-
case 'gpl v3':
|
|
42
|
-
return types_1.DependencyLicense.GPL3_0;
|
|
43
|
-
case 'isc':
|
|
44
|
-
return types_1.DependencyLicense.ISC;
|
|
45
|
-
case 'mit':
|
|
46
|
-
case 'the mit license':
|
|
47
|
-
case 'mit license':
|
|
48
|
-
return types_1.DependencyLicense.MIT;
|
|
49
|
-
case 'mpl-2.0':
|
|
50
|
-
case 'mozilla public license, version 2.0':
|
|
51
|
-
return types_1.DependencyLicense.MPL_2_0;
|
|
52
|
-
case 'unlicense':
|
|
53
|
-
return types_1.DependencyLicense.UNLICENSE;
|
|
54
|
-
case 'zlib':
|
|
55
|
-
return types_1.DependencyLicense.ZLIB;
|
|
56
|
-
}
|
|
57
|
-
console.debug(`license |${s}| not recognized`);
|
|
58
|
-
return undefined;
|
|
59
|
-
};
|
|
60
|
-
// Get all the licenses from a string. Sometimes, there are two licenses in one string
|
|
61
|
-
// such as "MIT OR Apache-2.0". In this case, we return all the licenses in this condition.
|
|
62
|
-
const getLicensesFromString = (s) => {
|
|
63
|
-
if (!s) {
|
|
64
|
-
return [];
|
|
65
|
-
}
|
|
66
|
-
const licenses = [];
|
|
67
|
-
if (s.toLowerCase().includes('or')) {
|
|
68
|
-
for (const lic of s.toLowerCase().split(' or ')) {
|
|
69
|
-
const l = getLicenseFromString(lic.trim());
|
|
70
|
-
if (l) {
|
|
71
|
-
licenses.push(l);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const lic = getLicenseFromString(s);
|
|
77
|
-
if (lic) {
|
|
78
|
-
licenses.push(lic);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return licenses;
|
|
82
|
-
};
|
|
83
|
-
exports.getLicensesFromString = getLicensesFromString;
|
|
84
|
-
// Get all the licenses of this component. We extract the "licenses" element from the SBOM component.
|
|
85
|
-
// Unfortunately, depending on the SBOM generator, the licenses are generated in a different manner.
|
|
86
|
-
// We attempt to get as much as possible.
|
|
87
|
-
const getLicensesFromComponent = (component) => {
|
|
88
|
-
var _a;
|
|
89
|
-
const elementsForLicense = ['id', 'name'];
|
|
90
|
-
const licensesSet = new Set();
|
|
91
|
-
// Get the "licenses" attribute of the SBOM component.
|
|
92
|
-
if (component['licenses']) {
|
|
93
|
-
for (const license of component['licenses']) {
|
|
94
|
-
for (const el of elementsForLicense) {
|
|
95
|
-
// Handle "license": [ {"license": {"id": <license>}} ]
|
|
96
|
-
if ((_a = license['license']) === null || _a === void 0 ? void 0 : _a[el]) {
|
|
97
|
-
for (const l of (0, exports.getLicensesFromString)(license['license'][el])) {
|
|
98
|
-
licensesSet.add(l);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Handle "license": [ {"expression": "MIT"} ]
|
|
103
|
-
if (license['expression']) {
|
|
104
|
-
for (const l of (0, exports.getLicensesFromString)(license['expression'])) {
|
|
105
|
-
licensesSet.add(l);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
return Array.from(licensesSet);
|
|
111
|
-
};
|
|
112
|
-
exports.getLicensesFromComponent = getLicensesFromComponent;
|
|
113
|
-
//# sourceMappingURL=license.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"license.js","sourceRoot":"","sources":["../../../src/commands/sbom/license.ts"],"names":[],"mappings":"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"}
|