scanoss 0.2.19 → 0.2.22
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/.cspell.json +2 -1
- package/build/main/bin/cli-bin.js +4 -2
- package/build/main/commands/dep.js +19 -7
- package/build/main/commands/helpers.d.ts +1 -0
- package/build/main/commands/helpers.js +22 -0
- package/build/main/commands/scan.js +3 -15
- package/build/main/index.d.ts +2 -1
- package/build/main/index.js +3 -2
- package/build/main/lib/dependencies/DependencyScanner.d.ts +6 -5
- package/build/main/lib/dependencies/DependencyScanner.js +34 -50
- package/build/main/lib/dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/main/lib/dependencies/DependencyScannerCfg.js +11 -0
- package/build/main/lib/dependencies/DependencyTypes.d.ts +10 -8
- package/build/main/lib/dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/main/lib/dependencies/LocalDependency/DependencyTypes.js +3 -0
- package/build/main/lib/dependencies/LocalDependency/LocalDependency.d.ts +6 -0
- package/build/main/lib/dependencies/LocalDependency/LocalDependency.js +51 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +2 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/golangParser.js +63 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/mavenParser.js +57 -0
- package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.d.ts +3 -3
- package/build/main/lib/dependencies/LocalDependency/parsers/npmParser.js +50 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.js +65 -0
- package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.d.ts +3 -3
- package/build/main/lib/dependencies/LocalDependency/parsers/rubyParser.js +133 -0
- package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/utils.d.ts +0 -0
- package/build/main/lib/dependencies/{parsers → LocalDependency/parsers}/utils.js +1 -1
- package/build/main/lib/grpc/GrpcDependencyService.d.ts +4 -5
- package/build/main/lib/grpc/GrpcDependencyService.js +19 -13
- package/build/main/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +22 -23
- package/build/main/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +5 -5
- package/build/main/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +90 -48
- package/build/main/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +4 -5
- package/build/main/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +5 -6
- package/build/main/lib/scanner/Scanner.js +1 -1
- package/build/module/bin/cli-bin.js +4 -2
- package/build/module/commands/dep.js +19 -7
- package/build/module/commands/helpers.d.ts +1 -0
- package/build/module/commands/helpers.js +15 -0
- package/build/module/commands/scan.js +2 -14
- package/build/module/index.d.ts +2 -1
- package/build/module/index.js +3 -2
- package/build/module/lib/dependencies/DependencyScanner.d.ts +6 -5
- package/build/module/lib/dependencies/DependencyScanner.js +35 -47
- package/build/module/lib/dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/module/lib/dependencies/DependencyScannerCfg.js +5 -0
- package/build/module/lib/dependencies/DependencyTypes.d.ts +10 -8
- package/build/module/lib/dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/module/lib/dependencies/LocalDependency/DependencyTypes.js +2 -0
- package/build/module/lib/dependencies/LocalDependency/LocalDependency.d.ts +6 -0
- package/build/module/lib/dependencies/LocalDependency/LocalDependency.js +45 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.d.ts +2 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/golangParser.js +55 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/mavenParser.js +50 -0
- package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.d.ts +3 -3
- package/build/module/lib/dependencies/LocalDependency/parsers/npmParser.js +42 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/pyParser.js +57 -0
- package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.d.ts +3 -3
- package/build/module/lib/dependencies/LocalDependency/parsers/rubyParser.js +130 -0
- package/build/module/lib/dependencies/{parsers → LocalDependency/parsers}/utils.d.ts +0 -0
- package/build/module/lib/dependencies/LocalDependency/parsers/utils.js +15 -0
- package/build/module/lib/grpc/GrpcDependencyService.d.ts +4 -5
- package/build/module/lib/grpc/GrpcDependencyService.js +20 -14
- package/build/module/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +22 -23
- package/build/module/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +5 -5
- package/build/module/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +90 -48
- package/build/module/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +4 -5
- package/build/module/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +5 -6
- package/build/module/lib/scanner/Scanner.js +1 -1
- package/build/tsconfig.module.tsbuildinfo +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/src/bin/cli-bin.ts +4 -1
- package/src/commands/dep.ts +18 -6
- package/src/commands/helpers.ts +14 -0
- package/src/commands/scan.ts +3 -12
- package/src/index.ts +5 -1
- package/src/lib/dependencies/DependencyScanner.ts +79 -0
- package/src/lib/dependencies/DependencyScannerCfg.ts +7 -0
- package/src/lib/dependencies/DependencyTypes.ts +16 -14
- package/src/lib/dependencies/LocalDependency/DependencyTypes.ts +21 -0
- package/src/lib/dependencies/LocalDependency/LocalDependency.ts +48 -0
- package/src/lib/dependencies/{parsers → LocalDependency/parsers}/golangParser.ts +4 -6
- package/src/lib/dependencies/{parsers → LocalDependency/parsers}/mavenParser.ts +10 -6
- package/src/lib/dependencies/{parsers → LocalDependency/parsers}/npmParser.ts +14 -8
- package/src/lib/dependencies/LocalDependency/parsers/pyParser.ts +58 -0
- package/src/lib/dependencies/{parsers → LocalDependency/parsers}/rubyParser.ts +21 -29
- package/src/lib/dependencies/{parsers → LocalDependency/parsers}/utils.ts +0 -1
- package/src/lib/grpc/GrpcDependencyService.ts +72 -0
- package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +1 -0
- package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +1 -0
- package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +79 -0
- package/src/lib/grpc/scanoss/api/common/v2/scanoss-common_pb.js +482 -0
- package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +30 -0
- package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +109 -0
- package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +206 -0
- package/src/lib/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1489 -0
- package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +25 -0
- package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +73 -0
- package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +6 -0
- package/src/lib/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +15 -0
- package/src/lib/scanner/Scanner.ts +2 -1
- package/tsconfig.json +5 -22
- package/yarn.lock +5252 -5213
- package/build/main/lib/dependencies/Dependency.d.ts +0 -9
- package/build/main/lib/dependencies/Dependency.js +0 -52
- package/build/main/lib/dependencies/PurlGenerator.d.ts +0 -2
- package/build/main/lib/dependencies/PurlGenerator.js +0 -46
- package/build/main/lib/dependencies/parsers/golangParser.d.ts +0 -2
- package/build/main/lib/dependencies/parsers/golangParser.js +0 -63
- package/build/main/lib/dependencies/parsers/mavenParser.d.ts +0 -2
- package/build/main/lib/dependencies/parsers/mavenParser.js +0 -54
- package/build/main/lib/dependencies/parsers/npmParser.js +0 -46
- package/build/main/lib/dependencies/parsers/pyParser.d.ts +0 -2
- package/build/main/lib/dependencies/parsers/pyParser.js +0 -51
- package/build/main/lib/dependencies/parsers/rubyParser.js +0 -135
- package/build/main/lib/dependencies/parsers/types.d.ts +0 -15
- package/build/main/lib/dependencies/parsers/types.js +0 -3
- package/build/main/lib/grpc/GrpcConfig.d.ts +0 -4
- package/build/main/lib/grpc/GrpcConfig.js +0 -11
- package/build/main/old/Dependency.d.ts +0 -9
- package/build/main/old/Dependency.js +0 -96
- package/build/main/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/main/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
- package/build/main/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
- package/build/main/scanoss/api/common/v2/scanoss-common_pb.js +0 -405
- package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -42
- package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
- package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
- package/build/main/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1156
- package/build/main/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -21
- package/build/main/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -67
- package/build/main/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
- package/build/main/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
- package/build/module/lib/dependencies/Dependency.d.ts +0 -9
- package/build/module/lib/dependencies/Dependency.js +0 -47
- package/build/module/lib/dependencies/PurlGenerator.d.ts +0 -2
- package/build/module/lib/dependencies/PurlGenerator.js +0 -39
- package/build/module/lib/dependencies/parsers/golangParser.d.ts +0 -2
- package/build/module/lib/dependencies/parsers/golangParser.js +0 -55
- package/build/module/lib/dependencies/parsers/mavenParser.d.ts +0 -2
- package/build/module/lib/dependencies/parsers/mavenParser.js +0 -47
- package/build/module/lib/dependencies/parsers/npmParser.js +0 -38
- package/build/module/lib/dependencies/parsers/pyParser.d.ts +0 -2
- package/build/module/lib/dependencies/parsers/pyParser.js +0 -44
- package/build/module/lib/dependencies/parsers/rubyParser.js +0 -132
- package/build/module/lib/dependencies/parsers/types.d.ts +0 -15
- package/build/module/lib/dependencies/parsers/types.js +0 -2
- package/build/module/lib/dependencies/parsers/utils.js +0 -15
- package/build/module/lib/grpc/GrpcConfig.d.ts +0 -4
- package/build/module/lib/grpc/GrpcConfig.js +0 -5
- package/build/module/old/Dependency.d.ts +0 -9
- package/build/module/old/Dependency.js +0 -72
- package/build/module/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/module/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
- package/build/module/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
- package/build/module/scanoss/api/common/v2/scanoss-common_pb.js +0 -405
- package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -42
- package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
- package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
- package/build/module/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1156
- package/build/module/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -21
- package/build/module/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -67
- package/build/module/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
- package/build/module/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
- package/package-lock.json +0 -18589
- package/src/lib/dependencies/Dependency.ts +0 -60
- package/src/lib/dependencies/PurlGenerator.ts +0 -45
- package/src/lib/dependencies/parsers/pyParser.ts +0 -46
- package/src/lib/dependencies/parsers/types.ts +0 -19
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.packagelockParser = exports.packageParser = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const packageurl_js_1 = require("packageurl-js");
|
|
9
|
+
const PURL_TYPE = 'npm';
|
|
10
|
+
// Parse a package.json file from node projects
|
|
11
|
+
// See reference on: https://docs.npmjs.com/cli/v8/configuring-npm/package-json
|
|
12
|
+
const MANIFEST_FILE = 'package.json';
|
|
13
|
+
function packageParser(fileContent, filePath) {
|
|
14
|
+
// If the file is not manifest file, return an empty results
|
|
15
|
+
const results = { file: filePath, purls: [] };
|
|
16
|
+
if (path_1.default.basename(filePath) != MANIFEST_FILE)
|
|
17
|
+
return results;
|
|
18
|
+
const o = JSON.parse(fileContent);
|
|
19
|
+
let devDeps = Object.keys(o.devDependencies || {});
|
|
20
|
+
let deps = Object.keys(o.dependencies || {});
|
|
21
|
+
let listDeps = [...deps, ...devDeps];
|
|
22
|
+
for (const name of deps) {
|
|
23
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
|
|
24
|
+
results.purls.push({ purl: purlString, scope: "dependencies", requirement: o.dependencies[name] });
|
|
25
|
+
}
|
|
26
|
+
for (const name of devDeps) {
|
|
27
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
|
|
28
|
+
results.purls.push({ purl: purlString, scope: "devDependencies", requirement: o.devDependencies[name] });
|
|
29
|
+
}
|
|
30
|
+
return results;
|
|
31
|
+
}
|
|
32
|
+
exports.packageParser = packageParser;
|
|
33
|
+
// Parse a package-lock.json file from node projects
|
|
34
|
+
// See reference on: https://docs.npmjs.com/cli/v8/configuring-npm/package-json
|
|
35
|
+
const MANIFEST_FILE_1 = 'package-lock.json';
|
|
36
|
+
function packagelockParser(fileContent, filePath) {
|
|
37
|
+
const results = { file: filePath, purls: [] };
|
|
38
|
+
if (path_1.default.basename(filePath) != MANIFEST_FILE_1)
|
|
39
|
+
return results;
|
|
40
|
+
const o = JSON.parse(fileContent).dependencies;
|
|
41
|
+
for (const [key, value] of Object.entries(o)) {
|
|
42
|
+
if (!key)
|
|
43
|
+
continue;
|
|
44
|
+
let purl = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, key, value['version'], undefined, undefined).toString();
|
|
45
|
+
results.purls.push({ purl });
|
|
46
|
+
}
|
|
47
|
+
return results;
|
|
48
|
+
}
|
|
49
|
+
exports.packagelockParser = packagelockParser;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L3BhcnNlcnMvbnBtUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixpREFBMkM7QUFHM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDO0FBR3hCLCtDQUErQztBQUMvQywrRUFBK0U7QUFDL0UsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDO0FBQ3JDLFNBQWdCLGFBQWEsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO0lBQy9ELDREQUE0RDtJQUM1RCxNQUFNLE9BQU8sR0FBcUIsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUM5RCxJQUFHLGNBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYTtRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUNuQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsSUFBSSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLEtBQUksTUFBTSxJQUFJLElBQUksSUFBSSxFQUFDO1FBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQztLQUNwRztJQUVELEtBQUksTUFBTSxJQUFJLElBQUksT0FBTyxFQUFDO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0tBQ3hHO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQXJCRCxzQ0FxQkM7QUFHRCxvREFBb0Q7QUFDcEQsK0VBQStFO0FBQy9FLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDO0FBQzVDLFNBQWdCLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFbkUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGVBQWU7UUFDekMsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDL0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDMUMsSUFBRyxDQUFDLEdBQUc7WUFBRSxTQUFTO1FBQ2xCLElBQUksSUFBSSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztLQUM5QjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFiRCw4Q0FhQyJ9
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.requirementsParser = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const packageurl_js_1 = require("packageurl-js");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
function parseDep(str) {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
const res = /^(?<name>[-\w]+)\s*(?<sym>[>=~!]*)\s*(?<version>[\d\.]*)/.exec(str);
|
|
13
|
+
return {
|
|
14
|
+
name: (_a = res === null || res === void 0 ? void 0 : res.groups) === null || _a === void 0 ? void 0 : _a.name,
|
|
15
|
+
sym: (_b = res === null || res === void 0 ? void 0 : res.groups) === null || _b === void 0 ? void 0 : _b.sym,
|
|
16
|
+
version: (_c = res === null || res === void 0 ? void 0 : res.groups) === null || _c === void 0 ? void 0 : _c.version,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const PURL_TYPE = 'pypi';
|
|
20
|
+
// Parse a requirements.txt file from python projects
|
|
21
|
+
// See reference on: https://pip.pypa.io/en/stable/reference/requirements-file-format/
|
|
22
|
+
const MANIFEST_FILE = 'requirements.txt';
|
|
23
|
+
function requirementsParser(fileContent, filePath) {
|
|
24
|
+
// If the file is not a python manifest file, return an empty results
|
|
25
|
+
const results = { file: filePath, purls: [] };
|
|
26
|
+
if (path_1.default.basename(filePath) != MANIFEST_FILE)
|
|
27
|
+
return results;
|
|
28
|
+
const lines = fileContent.split('\n');
|
|
29
|
+
for (let line of lines) {
|
|
30
|
+
line = line.trim();
|
|
31
|
+
if (line.length == 0)
|
|
32
|
+
continue;
|
|
33
|
+
if (!line.startsWith('#') && line.length > 0) { // Avoid comments and new lines
|
|
34
|
+
if ((0, utils_1.isValidUrl)(line)) {
|
|
35
|
+
// For reference about the regex see https://www.rfc-editor.org/rfc/rfc3986#appendix-B
|
|
36
|
+
const res = line.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
else if ((0, utils_1.isValidPath)(line)) {
|
|
40
|
+
continue;
|
|
41
|
+
} // Do not parse local dependencies.
|
|
42
|
+
else if (line.startsWith('-r')) {
|
|
43
|
+
continue;
|
|
44
|
+
} // Recursive dependencies (NOT SUPPORTED YET)
|
|
45
|
+
else {
|
|
46
|
+
const dep = parseDep(line);
|
|
47
|
+
if (!dep.sym) {
|
|
48
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
|
|
49
|
+
results.purls.push({ purl: purlString });
|
|
50
|
+
}
|
|
51
|
+
else if (dep.sym === '==') {
|
|
52
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, dep.name, dep.version, undefined, undefined).toString();
|
|
53
|
+
results.purls.push({ purl: purlString });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
|
|
57
|
+
results.purls.push({ purl: purlString, requirement: dep.sym + dep.version });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return results;
|
|
63
|
+
}
|
|
64
|
+
exports.requirementsParser = requirementsParser;
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHlQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy9weVBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsaURBQTJDO0FBRTNDLG1DQUFrRDtBQUdsRCxTQUFTLFFBQVEsQ0FBRSxHQUFXOztJQUM1QixNQUFNLEdBQUcsR0FBRywwREFBMEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakYsT0FBTztRQUNMLElBQUksRUFBRSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLDBDQUFFLElBQUk7UUFDdkIsR0FBRyxFQUFFLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sMENBQUUsR0FBRztRQUNyQixPQUFPLEVBQUUsTUFBQSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsTUFBTSwwQ0FBRSxPQUFPO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBRXpCLHFEQUFxRDtBQUNyRCxzRkFBc0Y7QUFDdEYsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDekMsU0FBZ0Isa0JBQWtCLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUVwRSxxRUFBcUU7SUFDckUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxLQUFLLEdBQWtCLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLFNBQVM7UUFDOUIsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsRUFBRSwrQkFBK0I7WUFDeEUsSUFBRyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pCLHNGQUFzRjtnQkFDdEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO2dCQUN4RixTQUFTO2FBQ1o7aUJBQ0ksSUFBRyxJQUFBLG1CQUFXLEVBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUMsU0FBUzthQUFDLENBQUMsbUNBQW1DO2lCQUNyRSxJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUMsU0FBUzthQUFDLENBQUMsNkNBQTZDO2lCQUNuRjtnQkFFRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDOUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztpQkFDeEM7cUJBQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtvQkFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEgsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztpQkFDeEM7cUJBQU07b0JBQ0wsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5RyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7aUJBQzFFO2FBQ0o7U0FDSjtLQUNKO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQXJDRCxnREFxQ0MifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function gemfileParser(fileContent: string, filePath: string):
|
|
3
|
-
export declare function gemfilelockParser(fileContent: string, filePath: string):
|
|
1
|
+
import { ILocalDependency } from "../DependencyTypes";
|
|
2
|
+
export declare function gemfileParser(fileContent: string, filePath: string): ILocalDependency;
|
|
3
|
+
export declare function gemfilelockParser(fileContent: string, filePath: string): ILocalDependency;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.gemfilelockParser = exports.gemfileParser = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const packageurl_js_1 = require("packageurl-js");
|
|
9
|
+
const PURL_TYPE = 'gem';
|
|
10
|
+
// Parse a gemfile file from ruby
|
|
11
|
+
// See reference on: https://bundler.io/gemfile.html
|
|
12
|
+
// and https://bundler.io/man/gemfile.5.html
|
|
13
|
+
const MANIFEST_FILE = 'Gemfile';
|
|
14
|
+
function gemfileParser(fileContent, filePath) {
|
|
15
|
+
// If the file is not a manifest file, return an empty results
|
|
16
|
+
const results = { file: filePath, purls: [] };
|
|
17
|
+
if (path_1.default.basename(filePath) != MANIFEST_FILE)
|
|
18
|
+
return results;
|
|
19
|
+
const lines = fileContent.split('\n');
|
|
20
|
+
let compName = '';
|
|
21
|
+
for (let line of lines) {
|
|
22
|
+
line = line.trim();
|
|
23
|
+
if (!line.startsWith('#') && line.length > 0) { // Avoid comments and empty lines
|
|
24
|
+
// Line contains a package name and/or version.
|
|
25
|
+
const res = line.match(/^gem\s*(["']\w+["'])/); //Extract name
|
|
26
|
+
if (res) {
|
|
27
|
+
compName = res.length > 1 ? res[1] : ' ';
|
|
28
|
+
compName = compName.replace(/['"]/g, '');
|
|
29
|
+
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, compName, undefined, undefined, undefined).toString();
|
|
30
|
+
results.purls.push({ purl: purlString });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
exports.gemfileParser = gemfileParser;
|
|
37
|
+
const MANIFEST_FILE_1 = 'Gemfile.lock';
|
|
38
|
+
function gemfilelockParser(fileContent, filePath) {
|
|
39
|
+
// If the file is not a manifest file, return an empty results
|
|
40
|
+
const results = { file: filePath, purls: [] };
|
|
41
|
+
if (path_1.default.basename(filePath) != MANIFEST_FILE_1)
|
|
42
|
+
return results;
|
|
43
|
+
const gemlockParser = new GemfileLockParser();
|
|
44
|
+
const purls = gemlockParser.getDependencies(fileContent);
|
|
45
|
+
for (const purl of purls) {
|
|
46
|
+
results.purls.push({ purl });
|
|
47
|
+
}
|
|
48
|
+
return results;
|
|
49
|
+
}
|
|
50
|
+
exports.gemfilelockParser = gemfilelockParser;
|
|
51
|
+
// Section headings: these are also used as switches to track a parsing state
|
|
52
|
+
const PATH = 'PATH';
|
|
53
|
+
const GIT = 'GIT';
|
|
54
|
+
const SVN = 'SVN';
|
|
55
|
+
const GEM = 'GEM';
|
|
56
|
+
const PLATFORMS = 'PLATFORMS';
|
|
57
|
+
const DEPENDENCIES = 'DEPENDENCIES';
|
|
58
|
+
const SPECS = ' specs:';
|
|
59
|
+
// types of Gems, which is really where they are provisioned from
|
|
60
|
+
// RubyGems repo, local path or VCS
|
|
61
|
+
const GEM_TYPES = [GEM, PATH, GIT, SVN];
|
|
62
|
+
const specRegex = /(?<name>[^ \)\(,!:]+)?(?: \((?<version>[^-]*?)(?:-(?<platform>[^!]*))?\))?/;
|
|
63
|
+
const firstDepLevelRegex = /^ {4}(?! )/;
|
|
64
|
+
/*
|
|
65
|
+
The parsing use a simple state machine, switching states based on sections
|
|
66
|
+
headings. The result is a list of purls
|
|
67
|
+
*/
|
|
68
|
+
class GemfileLockParser {
|
|
69
|
+
constructor() {
|
|
70
|
+
this.purlList = [];
|
|
71
|
+
// map of a line start string to the next parsing state function
|
|
72
|
+
this.statesMap = {};
|
|
73
|
+
this.statesMap[DEPENDENCIES] = this.parseDependency;
|
|
74
|
+
this.statesMap[PLATFORMS] = this.parsePlatform;
|
|
75
|
+
this.statesMap[GIT] = this.parseOptions;
|
|
76
|
+
this.statesMap[PATH] = this.parseOptions;
|
|
77
|
+
this.statesMap[SVN] = this.parseOptions;
|
|
78
|
+
this.statesMap[GEM] = this.parseOptions;
|
|
79
|
+
this.statesMap[SPECS] = this.parseSpec;
|
|
80
|
+
}
|
|
81
|
+
getDependencies(filecontent) {
|
|
82
|
+
this.resetState();
|
|
83
|
+
let file = filecontent.split('\n');
|
|
84
|
+
for (let line of file) {
|
|
85
|
+
line = line.trimEnd();
|
|
86
|
+
//reset state on empty lines
|
|
87
|
+
if (!line.length) {
|
|
88
|
+
this.resetState();
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
//switch to new state
|
|
92
|
+
if (line in this.statesMap) {
|
|
93
|
+
if (GEM_TYPES.includes(line))
|
|
94
|
+
this.current_gem = line;
|
|
95
|
+
this.state = this.statesMap[line];
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
// process the line
|
|
99
|
+
if (this.state)
|
|
100
|
+
this.state(line);
|
|
101
|
+
}
|
|
102
|
+
return this.purlList;
|
|
103
|
+
}
|
|
104
|
+
resetState() {
|
|
105
|
+
this.current_options = {};
|
|
106
|
+
this.state = null;
|
|
107
|
+
}
|
|
108
|
+
parseOptions(line) {
|
|
109
|
+
const match = line.match(/\s*(\w+):\s*(.*)/);
|
|
110
|
+
const key = match.length >= 1 ? match[1] : null;
|
|
111
|
+
const value = match.length >= 2 ? match[2] : null;
|
|
112
|
+
if (key)
|
|
113
|
+
this.current_options[key] = value;
|
|
114
|
+
}
|
|
115
|
+
parseDependency(line) { }
|
|
116
|
+
parsePlatform(line) { }
|
|
117
|
+
parseSpec(line) {
|
|
118
|
+
if (this.current_gem == GEM) {
|
|
119
|
+
if (firstDepLevelRegex.test(line)) {
|
|
120
|
+
line = line.trimStart();
|
|
121
|
+
const match = line.match(specRegex);
|
|
122
|
+
const purl = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, match.groups.name, match.groups.version, undefined, undefined).toString();
|
|
123
|
+
this.purlList.push(purl);
|
|
124
|
+
}
|
|
125
|
+
else { // Second level of dependence
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (this.current_gem == GIT) { }
|
|
129
|
+
// Purl from local dependencies are not generated
|
|
130
|
+
if (this.current_gem == PATH) { }
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVieVBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVwZW5kZW5jaWVzL0xvY2FsRGVwZW5kZW5jeS9wYXJzZXJzL3J1YnlQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLGlEQUEyQztBQUkzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFHeEIsaUNBQWlDO0FBQ2pDLG9EQUFvRDtBQUNwRCw0Q0FBNEM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ2hDLFNBQWdCLGFBQWEsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO0lBRS9ELDhEQUE4RDtJQUM5RCxNQUFNLE9BQU8sR0FBcUIsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUM5RCxJQUFHLGNBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYTtRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUduQixNQUFNLEtBQUssR0FBa0IsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFFMUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxFQUFFLGlDQUFpQztZQUMzRSwrQ0FBK0M7WUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUksY0FBYztZQUNqRSxJQUFJLEdBQUcsRUFBRTtnQkFDTCxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMs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
|
|
File without changes
|
|
@@ -17,4 +17,4 @@ function isValidPath(string) {
|
|
|
17
17
|
return /^((?:\.\.?)|(?:[a-zA-Z]:\\)|(?:\/))/gm.test(string);
|
|
18
18
|
}
|
|
19
19
|
exports.isValidPath = isValidPath;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBMEI7QUFFMUIsU0FBZ0IsVUFBVSxDQUFDLE1BQWM7SUFDckMsSUFBSSxHQUFRLENBQUM7SUFDYixJQUFJO1FBQ0YsSUFBSSxTQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDakI7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFSSCxnQ0FRRztBQUVILFNBQWdCLFdBQVcsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sdUNBQXVDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFGRCxrQ0FFQyJ9
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { GrpcConfig } from './GrpcConfig';
|
|
2
1
|
import * as DependenciesMessages from './scanoss/api/dependencies/v2/scanoss-dependencies_pb.js';
|
|
3
2
|
import * as CommonMessages from './scanoss/api/common/v2/scanoss-common_pb';
|
|
4
3
|
export declare class GrpcDependencyService {
|
|
5
4
|
private client;
|
|
6
|
-
private
|
|
7
|
-
constructor(
|
|
5
|
+
private metadata;
|
|
6
|
+
constructor(endpoint: string, port: string, apiKey?: string);
|
|
8
7
|
get(req: DependenciesMessages.DependencyRequest): Promise<DependenciesMessages.DependencyResponse>;
|
|
9
|
-
|
|
8
|
+
buildDependencyRequestMsg(plainObj: DependenciesMessages.DependencyRequest.AsObject): DependenciesMessages.DependencyRequest;
|
|
10
9
|
echo(req: CommonMessages.EchoRequest): Promise<CommonMessages.EchoResponse>;
|
|
11
|
-
|
|
10
|
+
buildEchoRequestMsg(plainObj: CommonMessages.EchoRequest.AsObject): CommonMessages.EchoRequest;
|
|
12
11
|
}
|
|
@@ -21,17 +21,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.GrpcDependencyService = void 0;
|
|
23
23
|
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
24
|
-
const GrpcConfig_1 = require("./GrpcConfig");
|
|
25
24
|
const scanoss_dependencies_grpc_pb_1 = require("./scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb");
|
|
26
25
|
const DependenciesMessages = __importStar(require("./scanoss/api/dependencies/v2/scanoss-dependencies_pb.js"));
|
|
27
26
|
const CommonMessages = __importStar(require("./scanoss/api/common/v2/scanoss-common_pb"));
|
|
28
27
|
class GrpcDependencyService {
|
|
29
|
-
constructor(
|
|
30
|
-
this.
|
|
31
|
-
|
|
28
|
+
constructor(endpoint, port, apiKey = '') {
|
|
29
|
+
this.client = new scanoss_dependencies_grpc_pb_1.DependenciesClient(endpoint + ':' + port, grpc.credentials.createSsl());
|
|
30
|
+
if (apiKey) {
|
|
31
|
+
this.metadata = new grpc.Metadata();
|
|
32
|
+
this.metadata.add('x-api-key', apiKey);
|
|
33
|
+
}
|
|
32
34
|
}
|
|
33
35
|
async get(req) {
|
|
34
|
-
//const msg = this.buildDepRequestFromPlainObject(request);
|
|
35
36
|
return new Promise((resolve, reject) => {
|
|
36
37
|
this.client.getDependencies(req, (err, response) => {
|
|
37
38
|
if (err)
|
|
@@ -40,7 +41,7 @@ class GrpcDependencyService {
|
|
|
40
41
|
});
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
+
buildDependencyRequestMsg(plainObj) {
|
|
44
45
|
try {
|
|
45
46
|
const depMessage = new DependenciesMessages.DependencyRequest();
|
|
46
47
|
for (const dependency of plainObj.filesList) {
|
|
@@ -49,7 +50,7 @@ class GrpcDependencyService {
|
|
|
49
50
|
for (const purl of dependency.purlsList) {
|
|
50
51
|
const purlMsg = new DependenciesMessages.DependencyRequest.Purls();
|
|
51
52
|
purlMsg.setPurl(purl.purl);
|
|
52
|
-
purlMsg.setRequirement(purl.requirement);
|
|
53
|
+
purlMsg.setRequirement(purl === null || purl === void 0 ? void 0 : purl.requirement);
|
|
53
54
|
fileMsg.addPurls(purlMsg);
|
|
54
55
|
}
|
|
55
56
|
depMessage.addFiles(fileMsg);
|
|
@@ -62,7 +63,6 @@ class GrpcDependencyService {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
async echo(req) {
|
|
65
|
-
//const msg = this.buildEchoRequestFromPlainObject(request);
|
|
66
66
|
return new Promise((resolve, reject) => {
|
|
67
67
|
this.client.echo(req, (err, response) => {
|
|
68
68
|
if (err)
|
|
@@ -71,11 +71,17 @@ class GrpcDependencyService {
|
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
buildEchoRequestMsg(plainObj) {
|
|
75
|
+
try {
|
|
76
|
+
const echoMessage = new CommonMessages.EchoRequest();
|
|
77
|
+
echoMessage.setMessage(plainObj.message);
|
|
78
|
+
return echoMessage;
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
console.error(e);
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
exports.GrpcDependencyService = GrpcDependencyService;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JwY0RlcGVuZGVuY3lTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9ncnBjL0dycGNEZXBlbmRlbmN5U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQXNDO0FBQ3RDLDZHQUFnRztBQUNoRywrR0FBaUc7QUFDakcsMEZBQTJFO0FBRTNFLE1BQWEscUJBQXFCO0lBTWhDLFlBQVksUUFBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBTSxHQUFDLEVBQUU7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlEQUFrQixDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFHLE1BQU0sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBMkM7UUFDMUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFFBQXlEO1FBQ3hGLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsS0FBSyxNQUFNLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFO2dCQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFO29CQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxDQUFDLENBQUM7b0JBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzNCO2dCQUNELFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7WUFDRCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUdNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBK0I7UUFDL0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLG1CQUFtQixDQUFDLFFBQTZDO1FBQ3RFLElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztDQUVGO0FBbEVELHNEQWtFQyJ9
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
1
|
/**
|
|
3
2
|
* @fileoverview
|
|
4
3
|
* @enhanceable
|
|
@@ -7,9 +6,9 @@
|
|
|
7
6
|
* @public
|
|
8
7
|
*/
|
|
9
8
|
// GENERATED CODE -- DO NOT EDIT!
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
var jspb = require('google-protobuf');
|
|
10
|
+
var goog = jspb;
|
|
11
|
+
var global = Function('return this')();
|
|
13
12
|
goog.exportSymbol('proto.scanoss.api.common.v2.EchoRequest', null, global);
|
|
14
13
|
goog.exportSymbol('proto.scanoss.api.common.v2.EchoResponse', null, global);
|
|
15
14
|
goog.exportSymbol('proto.scanoss.api.common.v2.StatusCode', null, global);
|
|
@@ -55,7 +54,7 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
55
54
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
56
55
|
*/
|
|
57
56
|
proto.scanoss.api.common.v2.StatusResponse.toObject = function (includeInstance, msg) {
|
|
58
|
-
|
|
57
|
+
var f, obj = {
|
|
59
58
|
status: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
|
60
59
|
message: jspb.Message.getFieldWithDefault(msg, 2, "")
|
|
61
60
|
};
|
|
@@ -71,8 +70,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
71
70
|
* @return {!proto.scanoss.api.common.v2.StatusResponse}
|
|
72
71
|
*/
|
|
73
72
|
proto.scanoss.api.common.v2.StatusResponse.deserializeBinary = function (bytes) {
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
var reader = new jspb.BinaryReader(bytes);
|
|
74
|
+
var msg = new proto.scanoss.api.common.v2.StatusResponse;
|
|
76
75
|
return proto.scanoss.api.common.v2.StatusResponse.deserializeBinaryFromReader(msg, reader);
|
|
77
76
|
};
|
|
78
77
|
/**
|
|
@@ -87,7 +86,7 @@ proto.scanoss.api.common.v2.StatusResponse.deserializeBinaryFromReader = functio
|
|
|
87
86
|
if (reader.isEndGroup()) {
|
|
88
87
|
break;
|
|
89
88
|
}
|
|
90
|
-
|
|
89
|
+
var field = reader.getFieldNumber();
|
|
91
90
|
switch (field) {
|
|
92
91
|
case 1:
|
|
93
92
|
var value = /** @type {!proto.scanoss.api.common.v2.StatusCode} */ (reader.readEnum());
|
|
@@ -109,7 +108,7 @@ proto.scanoss.api.common.v2.StatusResponse.deserializeBinaryFromReader = functio
|
|
|
109
108
|
* @return {!Uint8Array}
|
|
110
109
|
*/
|
|
111
110
|
proto.scanoss.api.common.v2.StatusResponse.prototype.serializeBinary = function () {
|
|
112
|
-
|
|
111
|
+
var writer = new jspb.BinaryWriter();
|
|
113
112
|
proto.scanoss.api.common.v2.StatusResponse.serializeBinaryToWriter(this, writer);
|
|
114
113
|
return writer.getResultBuffer();
|
|
115
114
|
};
|
|
@@ -121,7 +120,7 @@ proto.scanoss.api.common.v2.StatusResponse.prototype.serializeBinary = function
|
|
|
121
120
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
122
121
|
*/
|
|
123
122
|
proto.scanoss.api.common.v2.StatusResponse.serializeBinaryToWriter = function (message, writer) {
|
|
124
|
-
|
|
123
|
+
var f = undefined;
|
|
125
124
|
f = message.getStatus();
|
|
126
125
|
if (f !== 0.0) {
|
|
127
126
|
writer.writeEnum(1, f);
|
|
@@ -194,7 +193,7 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
194
193
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
195
194
|
*/
|
|
196
195
|
proto.scanoss.api.common.v2.EchoRequest.toObject = function (includeInstance, msg) {
|
|
197
|
-
|
|
196
|
+
var f, obj = {
|
|
198
197
|
message: jspb.Message.getFieldWithDefault(msg, 1, "")
|
|
199
198
|
};
|
|
200
199
|
if (includeInstance) {
|
|
@@ -209,8 +208,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
209
208
|
* @return {!proto.scanoss.api.common.v2.EchoRequest}
|
|
210
209
|
*/
|
|
211
210
|
proto.scanoss.api.common.v2.EchoRequest.deserializeBinary = function (bytes) {
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
var reader = new jspb.BinaryReader(bytes);
|
|
212
|
+
var msg = new proto.scanoss.api.common.v2.EchoRequest;
|
|
214
213
|
return proto.scanoss.api.common.v2.EchoRequest.deserializeBinaryFromReader(msg, reader);
|
|
215
214
|
};
|
|
216
215
|
/**
|
|
@@ -225,7 +224,7 @@ proto.scanoss.api.common.v2.EchoRequest.deserializeBinaryFromReader = function (
|
|
|
225
224
|
if (reader.isEndGroup()) {
|
|
226
225
|
break;
|
|
227
226
|
}
|
|
228
|
-
|
|
227
|
+
var field = reader.getFieldNumber();
|
|
229
228
|
switch (field) {
|
|
230
229
|
case 1:
|
|
231
230
|
var value = /** @type {string} */ (reader.readString());
|
|
@@ -243,7 +242,7 @@ proto.scanoss.api.common.v2.EchoRequest.deserializeBinaryFromReader = function (
|
|
|
243
242
|
* @return {!Uint8Array}
|
|
244
243
|
*/
|
|
245
244
|
proto.scanoss.api.common.v2.EchoRequest.prototype.serializeBinary = function () {
|
|
246
|
-
|
|
245
|
+
var writer = new jspb.BinaryWriter();
|
|
247
246
|
proto.scanoss.api.common.v2.EchoRequest.serializeBinaryToWriter(this, writer);
|
|
248
247
|
return writer.getResultBuffer();
|
|
249
248
|
};
|
|
@@ -255,7 +254,7 @@ proto.scanoss.api.common.v2.EchoRequest.prototype.serializeBinary = function ()
|
|
|
255
254
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
256
255
|
*/
|
|
257
256
|
proto.scanoss.api.common.v2.EchoRequest.serializeBinaryToWriter = function (message, writer) {
|
|
258
|
-
|
|
257
|
+
var f = undefined;
|
|
259
258
|
f = message.getMessage();
|
|
260
259
|
if (f.length > 0) {
|
|
261
260
|
writer.writeString(1, f);
|
|
@@ -313,7 +312,7 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
313
312
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
314
313
|
*/
|
|
315
314
|
proto.scanoss.api.common.v2.EchoResponse.toObject = function (includeInstance, msg) {
|
|
316
|
-
|
|
315
|
+
var f, obj = {
|
|
317
316
|
message: jspb.Message.getFieldWithDefault(msg, 1, "")
|
|
318
317
|
};
|
|
319
318
|
if (includeInstance) {
|
|
@@ -328,8 +327,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) {
|
|
|
328
327
|
* @return {!proto.scanoss.api.common.v2.EchoResponse}
|
|
329
328
|
*/
|
|
330
329
|
proto.scanoss.api.common.v2.EchoResponse.deserializeBinary = function (bytes) {
|
|
331
|
-
|
|
332
|
-
|
|
330
|
+
var reader = new jspb.BinaryReader(bytes);
|
|
331
|
+
var msg = new proto.scanoss.api.common.v2.EchoResponse;
|
|
333
332
|
return proto.scanoss.api.common.v2.EchoResponse.deserializeBinaryFromReader(msg, reader);
|
|
334
333
|
};
|
|
335
334
|
/**
|
|
@@ -344,7 +343,7 @@ proto.scanoss.api.common.v2.EchoResponse.deserializeBinaryFromReader = function
|
|
|
344
343
|
if (reader.isEndGroup()) {
|
|
345
344
|
break;
|
|
346
345
|
}
|
|
347
|
-
|
|
346
|
+
var field = reader.getFieldNumber();
|
|
348
347
|
switch (field) {
|
|
349
348
|
case 1:
|
|
350
349
|
var value = /** @type {string} */ (reader.readString());
|
|
@@ -362,7 +361,7 @@ proto.scanoss.api.common.v2.EchoResponse.deserializeBinaryFromReader = function
|
|
|
362
361
|
* @return {!Uint8Array}
|
|
363
362
|
*/
|
|
364
363
|
proto.scanoss.api.common.v2.EchoResponse.prototype.serializeBinary = function () {
|
|
365
|
-
|
|
364
|
+
var writer = new jspb.BinaryWriter();
|
|
366
365
|
proto.scanoss.api.common.v2.EchoResponse.serializeBinaryToWriter(this, writer);
|
|
367
366
|
return writer.getResultBuffer();
|
|
368
367
|
};
|
|
@@ -374,7 +373,7 @@ proto.scanoss.api.common.v2.EchoResponse.prototype.serializeBinary = function ()
|
|
|
374
373
|
* @suppress {unusedLocalVariables} f is only used for nested messages
|
|
375
374
|
*/
|
|
376
375
|
proto.scanoss.api.common.v2.EchoResponse.serializeBinaryToWriter = function (message, writer) {
|
|
377
|
-
|
|
376
|
+
var f = undefined;
|
|
378
377
|
f = message.getMessage();
|
|
379
378
|
if (f.length > 0) {
|
|
380
379
|
writer.writeString(1, f);
|
|
@@ -402,4 +401,4 @@ proto.scanoss.api.common.v2.StatusCode = {
|
|
|
402
401
|
FAILED: 4
|
|
403
402
|
};
|
|
404
403
|
goog.object.extend(exports, proto.scanoss.api.common.v2);
|
|
405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm9zcy1jb21tb25fcGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dycGMvc2Nhbm9zcy9hcGkvY29tbW9uL3YyL3NjYW5vc3MtY29tbW9uX3BiLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZDs7Ozs7O0dBTUc7QUFDSCxpQ0FBaUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2xCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0FBRXpDLElBQUksQ0FBQyxZQUFZLENBQUMseUNBQXlDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzNFLElBQUksQ0FBQyxZQUFZLENBQUMsMENBQTBDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsd0NBQXdDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzFFLElBQUksQ0FBQyxZQUFZLENBQUMsNENBQTRDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTlFOzs7Ozs7Ozs7R0FTRztBQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLFVBQVUsUUFBUTtJQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJ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
|
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm9zcy1jb21tb25fcGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dycGMvc2Nhbm9zcy9hcGkvY29tbW9uL3YyL3NjYW5vc3MtY29tbW9uX3BiLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILGlDQUFpQztBQUVqQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN0QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDaEIsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7QUFFdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyx5Q0FBeUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0UsSUFBSSxDQUFDLFlBQVksQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyx3Q0FBd0MsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyw0Q0FBNEMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFOUU7Ozs7Ozs7OztHQVNHO0FBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEdBQUcsVUFBUyxRQUFRO0lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFP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
|