scanoss 0.2.26 → 0.3.0
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/.github/workflows/reuse.yml +15 -0
- package/.github/workflows/scanoss.yml +24 -0
- package/.gitignore +0 -1
- package/.idea/.gitignore +5 -0
- package/.idea/codeStyles/Project.xml +61 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/scanoss.js.iml +12 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +366 -0
- package/.nyc_output/a25d3ac4-ee71-4c5e-926e-3a17714555cd.json +1 -0
- package/.nyc_output/processinfo/a25d3ac4-ee71-4c5e-926e-3a17714555cd.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/.reuse/dep5 +16 -0
- package/LICENSES/CC0-1.0.txt +121 -0
- package/LICENSES/MIT.txt +9 -0
- package/README.md +9 -0
- package/build/main/bin/cli-bin.js +5 -3
- package/build/main/commands/dep.js +1 -2
- package/build/main/commands/fingerprint.js +20 -12
- package/build/main/commands/helpers.js +1 -2
- package/build/main/commands/scan.js +7 -2
- package/build/main/index.js +1 -2
- package/build/main/lib/dependencies/DependencyScanner.d.ts +1 -1
- package/build/main/lib/dependencies/DependencyScanner.js +23 -12
- package/build/main/lib/dependencies/DependencyScannerCfg.js +1 -2
- package/build/main/lib/dependencies/DependencyTypes.js +0 -1
- package/build/main/lib/dependencies/LocalDependency/DependencyTypes.js +0 -1
- package/build/main/lib/dependencies/LocalDependency/LocalDependency.js +3 -2
- package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +1 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.js +50 -16
- package/build/main/lib/dependencies/LocalDependency/parsers/mavenParser.js +130 -15
- package/build/main/lib/dependencies/LocalDependency/parsers/npmParser.d.ts +10 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/npmParser.js +146 -10
- package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.js +1 -2
- package/build/main/lib/dependencies/LocalDependency/parsers/rubyParser.js +1 -2
- package/build/main/lib/dependencies/LocalDependency/parsers/utils.js +1 -2
- package/build/main/lib/filters/defaultFilter.js +1 -2
- package/build/main/lib/filters/filtering.js +1 -2
- package/build/main/lib/grpc/GrpcDependencyService.js +1 -2
- package/build/main/lib/grpc/scanoss/api/components/v2/scanoss-components_grpc_pb.d.ts +62 -0
- package/build/main/lib/grpc/scanoss/api/components/v2/scanoss-components_grpc_pb.js +128 -0
- package/build/main/lib/grpc/scanoss/api/components/v2/scanoss-components_pb.d.ts +1 -0
- package/build/main/lib/grpc/scanoss/api/components/v2/scanoss-components_pb.js +1403 -0
- package/build/main/lib/scanner/Dispatcher/DispatchableItem.d.ts +14 -5
- package/build/main/lib/scanner/Dispatcher/DispatchableItem.js +30 -10
- package/build/main/lib/scanner/Dispatcher/Dispatcher.d.ts +2 -2
- package/build/main/lib/scanner/Dispatcher/Dispatcher.js +10 -15
- package/build/main/lib/scanner/Dispatcher/DispatcherResponse.js +1 -2
- package/build/main/lib/scanner/Dispatcher/GlobalControllerAborter.js +1 -2
- package/build/main/lib/scanner/Scannable/ScannableItem.js +1 -2
- package/build/main/lib/scanner/Scanner.js +13 -9
- package/build/main/lib/scanner/ScannerCfg.js +2 -3
- package/build/main/lib/scanner/ScannerQueue.d.ts +3 -0
- package/build/main/lib/scanner/ScannerQueue.js +8 -0
- package/build/main/lib/scanner/ScannerTypes.d.ts +9 -2
- package/build/main/lib/scanner/ScannerTypes.js +8 -3
- package/build/main/lib/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/main/lib/scanner/WfpProvider/FingerprintPackage.js +31 -0
- package/build/main/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +178 -21
- package/build/main/lib/scanner/WfpProvider/WfpCalculator/Winnower.d.ts +3 -0
- package/build/main/lib/scanner/WfpProvider/WfpCalculator/Winnower.js +211 -0
- package/build/main/lib/scanner/WfpProvider/WfpProvider.d.ts +2 -2
- package/build/main/lib/scanner/WfpProvider/WfpProvider.js +6 -7
- package/build/main/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +1 -2
- package/build/main/lib/tree/File.js +1 -2
- package/build/main/lib/tree/Folder.js +1 -2
- package/build/main/lib/tree/Node.js +1 -2
- package/build/main/lib/tree/Tree.js +1 -2
- package/build/module/bin/cli-bin.js +5 -2
- package/build/module/commands/fingerprint.js +25 -16
- package/build/module/commands/scan.js +8 -2
- package/build/module/lib/dependencies/DependencyScanner.d.ts +1 -1
- package/build/module/lib/dependencies/DependencyScanner.js +23 -11
- package/build/module/lib/dependencies/LocalDependency/LocalDependency.js +5 -3
- package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +1 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.js +47 -14
- package/build/module/lib/dependencies/LocalDependency/parsers/mavenParser.js +130 -14
- package/build/module/lib/dependencies/LocalDependency/parsers/npmParser.d.ts +10 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/npmParser.js +140 -8
- package/build/module/lib/grpc/scanoss/api/components/v2/scanoss-components_grpc_pb.d.ts +62 -0
- package/build/module/lib/grpc/scanoss/api/components/v2/scanoss-components_grpc_pb.js +128 -0
- package/build/module/lib/grpc/scanoss/api/components/v2/scanoss-components_pb.d.ts +1 -0
- package/build/module/lib/grpc/scanoss/api/components/v2/scanoss-components_pb.js +1403 -0
- package/build/module/lib/scanner/Dispatcher/DispatchableItem.d.ts +14 -5
- package/build/module/lib/scanner/Dispatcher/DispatchableItem.js +32 -10
- package/build/module/lib/scanner/Dispatcher/Dispatcher.d.ts +2 -2
- package/build/module/lib/scanner/Dispatcher/Dispatcher.js +10 -14
- package/build/module/lib/scanner/Scanner.js +12 -8
- package/build/module/lib/scanner/ScannerCfg.js +2 -2
- package/build/module/lib/scanner/ScannerQueue.d.ts +3 -0
- package/build/module/lib/scanner/ScannerQueue.js +4 -0
- package/build/module/lib/scanner/ScannerTypes.d.ts +9 -2
- package/build/module/lib/scanner/ScannerTypes.js +7 -1
- package/build/module/lib/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/module/lib/scanner/WfpProvider/FingerprintPackage.js +30 -0
- package/build/module/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +178 -20
- package/build/module/lib/scanner/WfpProvider/WfpCalculator/Winnower.d.ts +3 -0
- package/build/module/lib/scanner/WfpProvider/WfpCalculator/Winnower.js +211 -0
- package/build/module/lib/scanner/WfpProvider/WfpProvider.d.ts +2 -2
- package/build/module/lib/scanner/WfpProvider/WfpProvider.js +6 -6
- package/build/tsconfig.module.tsbuildinfo +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -17
- package/src/bin/cli-bin.ts +4 -1
- package/src/commands/fingerprint.ts +26 -17
- package/src/commands/scan.ts +16 -3
- package/src/lib/dependencies/DependencyScanner.ts +20 -13
- package/src/lib/dependencies/LocalDependency/LocalDependency.ts +8 -2
- package/src/lib/dependencies/LocalDependency/parsers/golangParser.ts +67 -15
- package/src/lib/dependencies/LocalDependency/parsers/mavenParser.ts +143 -16
- package/src/lib/dependencies/LocalDependency/parsers/npmParser.ts +182 -7
- package/src/lib/scanner/Dispatcher/DispatchableItem.ts +45 -11
- package/src/lib/scanner/Dispatcher/Dispatcher.ts +11 -14
- package/src/lib/scanner/Scanner.ts +17 -13
- package/src/lib/scanner/ScannerCfg.ts +2 -1
- package/src/lib/scanner/ScannerTypes.ts +10 -2
- package/src/lib/scanner/WfpProvider/{FingerprintPacket.ts → FingerprintPackage.ts} +4 -14
- package/src/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +177 -20
- package/src/lib/scanner/WfpProvider/WfpProvider.ts +5 -5
- package/tests/WfpCalculator.spec.ts +103 -0
- package/tests/data/dependencies/Gemfile/1/Gemfile +6 -0
- package/tests/data/dependencies/Gemfile/1/Gemfile~ +0 -0
- package/tests/data/dependencies/Gemfile/2/Gemfile +3 -0
- package/tests/data/dependencies/Gemfile/2/Gemfile~ +6 -0
- package/tests/data/dependencies/Gemfile/3/Gemfile +7 -0
- package/tests/data/dependencies/Gemfile/3/Gemfile~ +6 -0
- package/tests/data/dependencies/Gemfile/4/Gemfile +31 -0
- package/tests/data/dependencies/Gemfile/4/Gemfile~ +7 -0
- package/tests/data/dependencies/Gemfile.lock/1/Gemfile.lock +180 -0
- package/tests/data/dependencies/Gemfile.lock/2/Gemfile.lock +60 -0
- package/tests/data/dependencies/Gemfile.lock/2/Gemfile.lock~ +0 -0
- package/tests/data/dependencies/go.sum/1/go.sum +119 -0
- package/tests/data/dependencies/go.sum/depJSON.sh +23 -0
- package/tests/data/dependencies/package-lock/1/package-lock.json +715 -0
- package/tests/data/dependencies/package-lock/2/package-lock.json +32069 -0
- package/tests/data/dependencies/package-lock/3/package-lock.json +9013 -0
- package/tests/data/dependencies/pom.xml/1/pom.xml +162 -0
- package/tests/data/dependencies/yarn-lock/generate_expected_output.sh +4 -0
- package/tests/data/dependencies/yarn-lock/v1/yarn.lock +50 -0
- package/tests/data/dependencies/yarn-lock/v1/yarn.lock-expected +13 -0
- package/tests/data/dependencies/yarn-lock/v1-complex/yarn.lock +27 -0
- package/tests/data/dependencies/yarn-lock/v1-complex/yarn.lock-expected +8 -0
- package/tests/data/dependencies/yarn-lock/v1-complex2/yarn.lock +220 -0
- package/tests/data/dependencies/yarn-lock/v2/yarn.lock +31 -0
- package/tests/data/dependencies/yarn-lock/v2/yarn.lock-expected +57 -0
- package/tests/data/dependencies/yarn-lock/v2-local/yarn.lock +11 -0
- package/tests/data/dependencies/yarn-lock/v2-local/yarn.lock-expected +27204 -0
- package/tests/data/scanner/file1.c +41 -0
- package/tests/data/scanner/file2.go +87 -0
- package/tests/dependencies/golangParser.goModParser.specs.ts +146 -0
- package/tests/dependencies/npmParser.spec.ts +133 -0
- package/tsconfig.json +4 -3
- package/yarn.lock +4596 -5321
- package/examples/defaultFilter.json +0 -203
- package/package-lock.json +0 -18588
- package/src/lib/scanner/Winnower/WinnowerExtractor.ts +0 -37
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
const commander_1 = require("commander");
|
|
5
4
|
const dep_1 = require("../commands/dep");
|
|
@@ -12,13 +11,15 @@ function CLIErrorHandler(e) {
|
|
|
12
11
|
}
|
|
13
12
|
async function main() {
|
|
14
13
|
commander_1.program
|
|
15
|
-
.version("0.
|
|
14
|
+
.version("0.3.0")
|
|
16
15
|
.description('The SCANOSS JS package provides a simple, easy to consume module for interacting with SCANOSS APIs/Engine.');
|
|
17
16
|
commander_1.program
|
|
18
17
|
.command('scan <source>')
|
|
19
18
|
.description('Scan a folder/file')
|
|
20
19
|
.option('-w, --wfp', 'Scan a .wfp file instead of a folder')
|
|
20
|
+
.option('-H, --hpsm', 'Scan using winnowing high precision matching')
|
|
21
21
|
.option('-c, --concurrency <number>', 'Number of concurrent connections to use while scanning (optional -default 10)')
|
|
22
|
+
.option('-n, --ignore <ignore>', 'Ignore components specified in the SBOM file')
|
|
22
23
|
.option('-f, --filter <path>', 'Loads an user defined filter (optional)')
|
|
23
24
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
24
25
|
.option('-F, --flags <flags>', 'Scanning engine flags (1: disable snippet matching, 2 enable snippet ids, 4: disable dependencies, 8: disable licenses, 16: disable copyrights,32: disable vulnerabilities, 64: disable quality, 128: disable cryptography,256: disable best match, 512: Report identified files)')
|
|
@@ -42,6 +43,7 @@ async function main() {
|
|
|
42
43
|
commander_1.program
|
|
43
44
|
.command('fingerprint <source>')
|
|
44
45
|
.description('Generates fingerprints for a folder/file')
|
|
46
|
+
.option('-H, --hpsm', 'Scan using winnowing high precision matching')
|
|
45
47
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
46
48
|
.option('-p, --block-size <size>', 'Maximum size in Kb for each fingerprint block (optional - default 64Kb)')
|
|
47
49
|
.action((source, options) => { (0, fingerprint_1.fingerprintHandler)(source, options).catch((e) => { CLIErrorHandler(e); }); });
|
|
@@ -54,4 +56,4 @@ catch (e) {
|
|
|
54
56
|
console.error(e);
|
|
55
57
|
process.exit(1);
|
|
56
58
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW4vY2xpLWJpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHlDQUFvQztBQUNwQyx5Q0FBNkM7QUFDN0MseURBQTZEO0FBQzdELDJDQUErQztBQUUvQyxTQUFTLGVBQWUsQ0FBQyxDQUFRO0lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFLRCxLQUFLLFVBQVUsSUFBSTtJQUNqQixtQkFBTztTQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEIsV0FBVyxDQUFDLDRHQUE0RyxDQUFDLENBQUE7SUFFNUgsbUJBQU87U0FDSixPQUFPLENBQUMsZUFBZSxDQUFDO1NBQ3hCLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztTQUNqQyxNQUFNLENBQUMsV0FBVyxFQUFFLHNDQUFzQyxDQUFDO1NBQzNELE1BQU0sQ0FBQyxZQUFZLEVBQUUsOENBQThDLENBQUM7U0FDcEUsTUFBTSxDQUFDLDRCQUE0QixFQUFFLCtFQUErRSxDQUFDO1NBQ3JILE1BQU0sQ0FBQyx1QkFBdUIsRUFBRyw4Q0FBOEMsQ0FBQztTQUNoRixNQUFNLENBQUMscUJBQXFCLEVBQUUseUNBQXlDLENBQUM7U0FDeEUsTUFBTSxDQUFDLHlCQUF5QixFQUFFLHFEQUFxRCxDQUFDO1NBQ3hGLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxtUkFBbVIsQ0FBQztTQUNsVCxNQUFNLENBQUMsNEJBQTRCLEVBQUUsaUZBQWlGLENBQUM7U0FDdkgsTUFBTSxDQUFDLHlCQUF5QixFQUFFLDJEQUEyRCxDQUFDO1NBQzlGLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxvRUFBb0UsQ0FBQztTQUN2RyxNQUFNLENBQUMsdUJBQXVCLEVBQUUseUVBQXlFLENBQUM7U0FDMUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLHVFQUF1RSxDQUFDO1NBQ2xHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7U0FDdkQsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUUsSUFBQSxrQkFBVyxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDO1NBQzlGLFdBQVcsQ0FBQyxPQUFPLEVBQUU7OzBEQUVnQyxDQUNyRCxDQUFDO0lBRUYsbUJBQU87U0FDTixPQUFPLENBQUMsY0FBYyxDQUFDO1NBQ3ZCLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQztTQUNwQyxNQUFNLENBQUMseUJBQXlCLEVBQUUscURBQXFELENBQUM7U0FDeEYsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHFEQUFxRCxDQUFDO1NBQ3ZGLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSw4Q0FBOEMsQ0FBQztTQUNoRixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRSxJQUFBLGdCQUFVLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUU5RixtQkFBTztTQUNOLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztTQUMvQixXQUFXLENBQUMsMENBQTBDLENBQUM7U0FDdkQsTUFBTSxDQUFDLFlBQVksRUFBRSw4Q0FBOEMsQ0FBQztTQUNwRSxNQUFNLENBQUMseUJBQXlCLEVBQUUscURBQXFELENBQUM7U0FDeEYsTUFBTSxDQUFDLHlCQUF5QixFQUFFLHlFQUF5RSxDQUFDO1NBQzVHLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFFLElBQUEsZ0NBQWtCLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUV0RyxNQUFNLG1CQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBR0QsSUFBSTtJQUNGLElBQUksRUFBRSxDQUFDO0NBQ1I7QUFBQyxPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUNqQiJ9
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
@@ -35,4 +34,4 @@ async function depHandler(rootPath, options) {
|
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
exports.depHandler = depHandler;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUFvQjtBQUNwQiw2RUFBMEU7QUFDMUUsbUZBQWdGO0FBQ2hGLDJDQUF3QztBQUN4Qyx1Q0FBcUM7QUFFOUIsS0FBSyxVQUFVLFVBQVUsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFFN0QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsRUFBRSxDQUFDO0lBQ3hELElBQUcsT0FBTyxDQUFDLFFBQVE7UUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQy9FLElBQUcsT0FBTyxDQUFDLFFBQVE7UUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBRS9FLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXRFLElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFFLE9BQU8sUUFBUSxHQUFDLElBQUksQ0FBQSxDQUFBLENBQUMsQ0FBQyxDQUFDO0tBQ2xGO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdkQsSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ2pCLFlBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDekU7U0FBTTtRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDL0M7QUFFSCxDQUFDO0FBNUJELGdDQTRCQyJ9
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
@@ -16,19 +15,25 @@ async function fingerprintHandler(rootPath, options) {
|
|
|
16
15
|
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
17
16
|
const pathIsFolder = await (0, helpers_1.isFolder)(rootPath);
|
|
18
17
|
const wfpCalculator = new __1.WfpCalculator();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
let filesToFingerprint = [];
|
|
19
|
+
if (pathIsFolder) {
|
|
20
|
+
const tree = new Tree_1.Tree(rootPath);
|
|
21
|
+
const filter = new filtering_1.FilterList('');
|
|
22
|
+
filter.load(defaultFilter_1.defaultFilter);
|
|
23
|
+
tree.loadFilter(filter);
|
|
24
|
+
tree.buildTree();
|
|
25
|
+
filesToFingerprint = tree.getFileList();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
filesToFingerprint.push(rootPath);
|
|
29
|
+
}
|
|
25
30
|
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
26
31
|
const bar1 = new cli_progress_1.default.SingleBar(optBar1, cli_progress_1.default.Presets.shades_classic);
|
|
27
32
|
bar1.start(filesToFingerprint.length, 0);
|
|
28
33
|
let fingerprints = '';
|
|
29
|
-
wfpCalculator.on(__1.ScannerEvents.WINNOWING_NEW_CONTENT, (
|
|
30
|
-
bar1.increment(
|
|
31
|
-
fingerprints = fingerprints.concat(
|
|
34
|
+
wfpCalculator.on(__1.ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
35
|
+
bar1.increment(fingerprintPackage.getNumberFilesFingerprinted());
|
|
36
|
+
fingerprints = fingerprints.concat(fingerprintPackage.getContent());
|
|
32
37
|
});
|
|
33
38
|
if (options.verbose)
|
|
34
39
|
wfpCalculator.on(__1.ScannerEvents.WINNOWER_LOG, (log) => {
|
|
@@ -43,7 +48,10 @@ async function fingerprintHandler(rootPath, options) {
|
|
|
43
48
|
console.log(fingerprints);
|
|
44
49
|
}
|
|
45
50
|
});
|
|
46
|
-
|
|
51
|
+
const wfpInput = { fileList: filesToFingerprint, folderRoot: rootPath };
|
|
52
|
+
if (options.hpsm)
|
|
53
|
+
wfpInput.winnowingMode = __1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
54
|
+
wfpCalculator.start(wfpInput);
|
|
47
55
|
}
|
|
48
56
|
exports.fingerprintHandler = fingerprintHandler;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZmluZ2VycHJpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1Q0FBcUM7QUFDckMsMEJBQWlFO0FBQ2pFLDJDQUF3QztBQUN4Qyx3REFBc0Q7QUFJdEQsNENBQW9CO0FBQ3BCLGdFQUE2RDtBQUM3RCxnRUFBdUM7QUFJaEMsS0FBSyxVQUFVLGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUVyRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxpQkFBYSxFQUFFLENBQUM7SUFFMUMsSUFBSSxrQkFBa0IsR0FBYSxFQUFFLENBQUM7SUFDdEMsSUFBSSxZQUFZLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTJCLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDekM7U0FBTTtRQUNMLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtLQUNsQztJQUdELE1BQU0sT0FBTyxHQUFHLEVBQUUsTUFBTSxFQUFFLHlGQUF5RixFQUFFLENBQUM7SUFDdEgsTUFBTSxJQUFJLEdBQUcsSUFBSSxzQkFBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsc0JBQVcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLGFBQWEsQ0FBQyxFQUFFLENBQUMsaUJBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFzQyxFQUFFLEVBQUU7UUFDL0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7UUFDakUsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUUsQ0FBQztJQUN4RSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxDQUFDLE9BQU87UUFDakIsYUFBYSxDQUFDLEVBQUUsQ0FBQyxpQkFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQzNELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFFTCxhQUFhLENBQUMsRUFBRSxDQUFDLGlCQUFhLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1FBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNqQixZQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDaEQ7YUFBTTtZQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFzQixFQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUE7SUFDeEYsSUFBRyxPQUFPLENBQUMsSUFBSTtRQUFFLFFBQVEsQ0FBQyxhQUFhLEdBQUcsaUJBQWEsQ0FBQyxtQkFBbUIsQ0FBQztJQUM1RSxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBR2hDLENBQUM7QUFsREQsZ0RBa0RDIn0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
@@ -19,4 +18,4 @@ const isFolder = (path) => {
|
|
|
19
18
|
});
|
|
20
19
|
};
|
|
21
20
|
exports.isFolder = isFolder;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBRXBCLDBHQUEwRztBQUNuRyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVksRUFBb0IsRUFBRTtJQUN6RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLFlBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzNCLElBQUksR0FBRyxFQUFFO2dCQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNiO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUE7QUFWWSxRQUFBLFFBQVEsWUFVcEIifQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
@@ -81,7 +80,13 @@ async function scanHandler(rootPath, options) {
|
|
|
81
80
|
});
|
|
82
81
|
if (options.wfp)
|
|
83
82
|
scannerInput.wfpPath = rootPath;
|
|
83
|
+
if (options.hpsm)
|
|
84
|
+
scannerInput.winnowingMode = ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
85
|
+
if (options.ignore) {
|
|
86
|
+
scannerInput.sbom = fs_1.default.readFileSync(options.ignore, 'utf-8');
|
|
87
|
+
scannerInput.sbomMode = ScannerTypes_1.SbomMode.SBOM_IGNORE;
|
|
88
|
+
}
|
|
84
89
|
await scanner.scan([scannerInput]);
|
|
85
90
|
}
|
|
86
91
|
exports.scanHandler = scanHandler;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zY2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQWlEO0FBQ2pELDhEQUtxQztBQUNyQywwREFBdUQ7QUFDdkQsMkNBQXdDO0FBRXhDLGdFQUF1QztBQUl2QyxnRUFBNkQ7QUFDN0Qsd0RBQXNEO0FBRXRELHVDQUFxQztBQUVyQyw0Q0FBb0I7QUFHYixLQUFLLFVBQVUsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUU5RCxJQUFJLFlBQVksR0FBaUIsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFFaEQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlDLGdEQUFnRDtJQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUFVLEVBQUUsQ0FBQztJQUNwQyxJQUFHLE9BQU8sQ0FBQyxXQUFXO1FBQUUsVUFBVSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsSUFBRyxPQUFPLENBQUMsUUFBUTtRQUFFLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN0RixJQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQUUsVUFBVSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3ZELElBQUcsT0FBTyxDQUFDLEdBQUc7UUFBRSxVQUFVLENB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
|
package/build/main/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
2
|
if (k2 === undefined) k2 = k;
|
|
4
3
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -17,4 +16,4 @@ __exportStar(require("./lib/scanner/WfpProvider/WfpCalculator/WfpCalculator"), e
|
|
|
17
16
|
__exportStar(require("./lib/dependencies/DependencyTypes"), exports);
|
|
18
17
|
__exportStar(require("./lib/dependencies/DependencyScannerCfg"), exports);
|
|
19
18
|
__exportStar(require("./lib/dependencies/DependencyScanner"), exports);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSw2REFBMkM7QUFDM0MsMkRBQXdDO0FBQ3hDLHdEQUFxQztBQUNyQyx3RkFBc0U7QUFDdEUscUVBQW1EO0FBQ25ELDBFQUF3RDtBQUN4RCx1RUFBcUQifQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
exports.DependencyScanner = void 0;
|
|
4
3
|
const GrpcDependencyService_1 = require("../grpc/GrpcDependencyService");
|
|
@@ -20,7 +19,9 @@ class DependencyScanner {
|
|
|
20
19
|
const grpcResponse = await this.grpcDependencyService.get(request);
|
|
21
20
|
const response = grpcResponse.toObject();
|
|
22
21
|
// Extract scope from localDependencies and add it to response
|
|
23
|
-
|
|
22
|
+
// Also adds the requirements field from localDependency to the response if the server didn't
|
|
23
|
+
// replay back a version
|
|
24
|
+
this.repairOutput(localDependencies, response);
|
|
24
25
|
return response;
|
|
25
26
|
}
|
|
26
27
|
purlAdapter(localDependencies) {
|
|
@@ -58,25 +59,35 @@ class DependencyScanner {
|
|
|
58
59
|
return null;
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
repairOutput(localdependency, serverResponse) {
|
|
63
|
+
// Create a map with key = [filename + purl] and the value is an object containing:
|
|
64
|
+
// * The scope of the local dependency
|
|
65
|
+
// * The requirement of the local dependency
|
|
66
|
+
// Later this map is used to add information in the server response
|
|
67
|
+
const localDependencyInfo = {};
|
|
63
68
|
for (const file of localdependency.files) {
|
|
64
69
|
const filename = file.file;
|
|
65
|
-
for (const
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
for (const localDependency of file.purls) {
|
|
71
|
+
const localInfo = {};
|
|
72
|
+
if (localDependency === null || localDependency === void 0 ? void 0 : localDependency.scope)
|
|
73
|
+
localInfo['scope'] = localDependency.scope;
|
|
74
|
+
if (localDependency === null || localDependency === void 0 ? void 0 : localDependency.requirement)
|
|
75
|
+
localInfo['requirement'] = localDependency.requirement;
|
|
76
|
+
localDependencyInfo[filename + localDependency.purl] = localInfo;
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
for (const file of serverResponse.filesList) {
|
|
71
80
|
const filename = file.file;
|
|
72
81
|
for (const dependency of file.dependenciesList) {
|
|
73
|
-
const
|
|
74
|
-
if (scope)
|
|
75
|
-
dependency['scope'] = scope;
|
|
82
|
+
const localDependencyData = localDependencyInfo[filename + dependency.purl];
|
|
83
|
+
if (localDependencyData === null || localDependencyData === void 0 ? void 0 : localDependencyData.scope)
|
|
84
|
+
dependency['scope'] = localDependencyData.scope;
|
|
85
|
+
if ((localDependencyData === null || localDependencyData === void 0 ? void 0 : localDependencyData.requirement) && dependency.version == "") {
|
|
86
|
+
dependency.version = localDependencyData.requirement;
|
|
87
|
+
}
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
|
-
return serverResponse;
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
exports.DependencyScanner = DependencyScanner;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlFQUFzRTtBQUN0RSx5R0FBb0g7QUFDcEgsdUVBQXNFO0FBQ3RFLGlFQUE4RDtBQUU5RCxpREFBMkM7QUFFM0MsTUFBYSxpQkFBaUI7SUFNNUIsWUFBWSxHQUFHLEdBQUcsSUFBSSwyQ0FBb0IsRUFBRTtRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1DQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQUdNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUNqRSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMsOERBQThEO1FBQzlELDZGQUE2RjtRQUM3Rix3QkFBd0I7UUFDeEIsSUFBSSxD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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
exports.DependencyScannerCfg = void 0;
|
|
4
3
|
class DependencyScannerCfg {
|
|
@@ -8,4 +7,4 @@ class DependencyScannerCfg {
|
|
|
8
7
|
}
|
|
9
8
|
}
|
|
10
9
|
exports.DependencyScannerCfg = DependencyScannerCfg;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXJDZmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lckNmZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQWEsb0JBQW9CO0lBQWpDO1FBRUUsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztJQUVwQyxDQUFDO0NBQUE7QUFORCxvREFNQyJ9
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvRGVwZW5kZW5jeVR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0RlcGVuZGVuY3lUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
@@ -25,6 +24,8 @@ class LocalDependencies {
|
|
|
25
24
|
'Gemfile': rubyParser_1.gemfileParser,
|
|
26
25
|
'Gemfile.lock': rubyParser_1.gemfilelockParser,
|
|
27
26
|
'go.mod': golangParser_1.goModParser,
|
|
27
|
+
'go.sum': golangParser_1.goSumParser,
|
|
28
|
+
'yarn.lock': npmParser_1.yarnLockParser
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
async search(files) {
|
|
@@ -48,4 +49,4 @@ class LocalDependencies {
|
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
exports.LocalDependencies = LocalDependencies;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0xvY2FsRGVwZW5kZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUN4Qiw0Q0FBb0I7QUFFcEIsaURBQXdEO0FBQ3hELHVEQUFrRDtBQUNsRCxtREFJNkI7QUFDN0IscURBQXdFO0FBQ3hFLHlEQUFrRTtBQUVsRSxNQUFhLGlCQUFpQjtJQUk1QjtRQUNJOzs7VUFHRTtRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixrQkFBa0IsRUFBRSw2QkFBa0I7WUFDdEMsU0FBUyxFQUFFLHVCQUFTO1lBQ3BCLGNBQWMsRUFBRSx5QkFBYTtZQUM3QixtQkFBbUIsRUFBRSw2QkFBaUI7WUFDdEMsU0FBUyxFQUFFLDBCQUFhO1lBQ3hCLGNBQWMsRUFBRSw4QkFBaUI7WUFDakMsUUFBUSxFQUFFLDBCQUFXO1lBQ3JCLFFBQVEsRUFBRSwwQkFBVztZQUNyQixXQUFXLEVBQUUsMEJBQWM7U0FDNUIsQ0FBQztJQUNOLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQW9CO1FBQ3RDLElBQUksT0FBTyxHQUF1QixFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUM5QyxLQUFLLE1BQU0sUUFBUSxJQUFJLEtBQUssRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ25DLElBQUc7b0JBQ0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQ2pFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNuRSxJQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUM7d0JBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNwQztnQkFBQyxPQUFNLENBQUMsRUFBRTtvQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqQixTQUFTO2lCQUNWO2FBQ0Y7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQXhDRCw4Q0F3Q0MifQ==
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
2
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
3
|
};
|
|
5
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.goModParser = void 0;
|
|
5
|
+
exports.goSumParser = exports.goModParser = void 0;
|
|
7
6
|
const packageurl_js_1 = require("packageurl-js");
|
|
8
7
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
function parseModule(str) {
|
|
10
|
-
const res = /(?<type>[^\s]+)(?:\s)+(?<ns_name>[^\s]+)\s?(?<version>(.*))/.exec(str);
|
|
11
|
-
return {
|
|
12
|
-
type: res.groups.type,
|
|
13
|
-
ns_name: res.groups.ns_name,
|
|
14
|
-
version: res.groups.version
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
8
|
function parseDepLink(str) {
|
|
18
9
|
var _a, _b;
|
|
19
10
|
const res = /.*?(?<ns_name>[^\s]+)\s+(?<version>(.*))/.exec(str);
|
|
@@ -22,6 +13,13 @@ function parseDepLink(str) {
|
|
|
22
13
|
version: (_b = res === null || res === void 0 ? void 0 : res.groups) === null || _b === void 0 ? void 0 : _b.version
|
|
23
14
|
};
|
|
24
15
|
}
|
|
16
|
+
function getDepDataGoModFromLine(line) {
|
|
17
|
+
const { ns_name, version } = parseDepLink(line);
|
|
18
|
+
const index = ns_name.lastIndexOf('/');
|
|
19
|
+
const namespace = ns_name.substring(0, index);
|
|
20
|
+
const name = ns_name.substring(index + 1);
|
|
21
|
+
return { namespace, name, version };
|
|
22
|
+
}
|
|
25
23
|
// Removes comments and spaces
|
|
26
24
|
function preprocessLine(line) {
|
|
27
25
|
if (line.includes("//"))
|
|
@@ -38,17 +36,13 @@ function goModParser(fileContent, filePath) {
|
|
|
38
36
|
return results;
|
|
39
37
|
const lines = fileContent.split('\n');
|
|
40
38
|
const require = [];
|
|
41
|
-
const exclude = [];
|
|
42
39
|
for (let num = 0; num < lines.length; num += 1) {
|
|
43
40
|
let line = preprocessLine(lines[num]);
|
|
44
41
|
if (line.includes('require') && line.includes('(')) {
|
|
45
42
|
num += 1;
|
|
46
43
|
line = preprocessLine(lines[num]);
|
|
47
44
|
while (num < lines.length && line !== ')') {
|
|
48
|
-
const {
|
|
49
|
-
const index = ns_name.lastIndexOf('/');
|
|
50
|
-
const namespace = ns_name.substring(0, index);
|
|
51
|
-
const name = ns_name.substring(index + 1);
|
|
45
|
+
const { namespace, name, version } = getDepDataGoModFromLine(line);
|
|
52
46
|
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, namespace, name, version, undefined, undefined).toString();
|
|
53
47
|
results.purls.push({ purl: purlString });
|
|
54
48
|
require.push(line);
|
|
@@ -60,4 +54,44 @@ function goModParser(fileContent, filePath) {
|
|
|
60
54
|
return results;
|
|
61
55
|
}
|
|
62
56
|
exports.goModParser = goModParser;
|
|
63
|
-
|
|
57
|
+
function parseGoSumDepLink(str) {
|
|
58
|
+
var _a, _b, _c;
|
|
59
|
+
const res = /.*?(?<ns_name>[^\s]+)\s+(?<version>(.*))\s+h1:(?<checksum>(.*))/.exec(str);
|
|
60
|
+
return {
|
|
61
|
+
ns_name: (_a = res === null || res === void 0 ? void 0 : res.groups) === null || _a === void 0 ? void 0 : _a.ns_name,
|
|
62
|
+
version: (_b = res === null || res === void 0 ? void 0 : res.groups) === null || _b === void 0 ? void 0 : _b.version,
|
|
63
|
+
checksum: (_c = res === null || res === void 0 ? void 0 : res.groups) === null || _c === void 0 ? void 0 : _c.checksum
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function getDepDataGoSumFromLine(line) {
|
|
67
|
+
const { ns_name, version } = parseGoSumDepLink(line);
|
|
68
|
+
if (!ns_name)
|
|
69
|
+
return {};
|
|
70
|
+
const index = ns_name.lastIndexOf('/');
|
|
71
|
+
const namespace = ns_name.substring(0, index);
|
|
72
|
+
const name = ns_name.substring(index + 1);
|
|
73
|
+
return { namespace, name, version };
|
|
74
|
+
}
|
|
75
|
+
// See reference on: https://go.dev/ref/mod#go-mod-file
|
|
76
|
+
function goSumParser(fileContent, filePath) {
|
|
77
|
+
// If the file is not a go.mod manifest file, return an empty results
|
|
78
|
+
const results = { file: filePath, purls: [] };
|
|
79
|
+
if (path_1.default.basename(filePath) != 'go.sum')
|
|
80
|
+
return results;
|
|
81
|
+
const lines = fileContent.split('\n');
|
|
82
|
+
for (let num = 0; num < lines.length; num += 1) {
|
|
83
|
+
let line = preprocessLine(lines[num]); //Deletes coments
|
|
84
|
+
if (!line)
|
|
85
|
+
continue;
|
|
86
|
+
line = line.replace('/go.mod', '');
|
|
87
|
+
const { namespace, name, version } = getDepDataGoSumFromLine(line);
|
|
88
|
+
if (!name)
|
|
89
|
+
continue;
|
|
90
|
+
//const purlString = new PackageURL(PURL_TYPE, namespace, name, undefined, undefined, undefined).toString();
|
|
91
|
+
const purlString = `pkg:${PURL_TYPE}/${namespace}/${name}`;
|
|
92
|
+
results.purls.push({ purl: purlString, requirement: version });
|
|
93
|
+
}
|
|
94
|
+
return results;
|
|
95
|
+
}
|
|
96
|
+
exports.goSumParser = goSumParser;
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29sYW5nUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L3BhcnNlcnMvZ29sYW5nUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsaURBQTJDO0FBQzNDLGdEQUF3QjtBQUV4QixTQUFTLFlBQVksQ0FBRSxHQUFXOztJQUNoQyxNQUFNLEdBQUcsR0FBRywwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsT0FBTztRQUNMLE9BQU8sRUFBRSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLDBDQUFFLE9BQU87UUFDN0IsT0FBTyxFQUFFLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sMENBQUUsT0FBTztLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsSUFBWTtJQUMzQyxNQUFNLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFBO0FBQ25DLENBQUM7QUFFRCw4QkFBOEI7QUFDOUIsU0FBUyxjQUFjLENBQUMsSUFBWTtJQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMs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
|