scanoss 0.2.19 → 0.2.20
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/build/main/bin/cli-bin.js +3 -1
- 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 +1 -2
- package/build/main/index.js +2 -3
- package/build/main/lib/dependencies/DependencyScanner.d.ts +6 -5
- package/build/main/lib/dependencies/DependencyScanner.js +31 -49
- 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 +61 -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 +3 -5
- package/build/main/lib/grpc/GrpcDependencyService.js +15 -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 +3 -1
- 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 +1 -2
- package/build/module/index.js +2 -3
- package/build/module/lib/dependencies/DependencyScanner.d.ts +6 -5
- package/build/module/lib/dependencies/DependencyScanner.js +32 -46
- 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 +53 -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 +3 -5
- package/build/module/lib/grpc/GrpcDependencyService.js +15 -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 +2 -2
- package/src/lib/dependencies/DependencyScanner.ts +77 -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 +55 -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 +66 -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
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IDependencyResponse } from "./DependencyTypes";
|
|
2
|
-
export declare class Dependency {
|
|
3
|
-
private workDirectory;
|
|
4
|
-
private resultFilePath;
|
|
5
|
-
constructor();
|
|
6
|
-
scan(fileList: Array<string>): Promise<IDependencyResponse>;
|
|
7
|
-
setWorkDirectory(workDirectory: string): void;
|
|
8
|
-
private adapterToDependencyResponse;
|
|
9
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
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.Dependency = void 0;
|
|
7
|
-
const os_1 = __importDefault(require("os"));
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const PurlGenerator_1 = require("./PurlGenerator");
|
|
10
|
-
const packageurl_js_1 = require("packageurl-js");
|
|
11
|
-
class Dependency {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.setWorkDirectory(`${os_1.default.tmpdir()}/depscanner-${new Date().getTime()}`);
|
|
14
|
-
}
|
|
15
|
-
async scan(fileList) {
|
|
16
|
-
const toGrpc = await (0, PurlGenerator_1.generateDependenciesPurls)(fileList);
|
|
17
|
-
// Here we should call to the grpc server
|
|
18
|
-
return this.adapterToDependencyResponse(toGrpc);
|
|
19
|
-
}
|
|
20
|
-
setWorkDirectory(workDirectory) {
|
|
21
|
-
this.workDirectory = workDirectory;
|
|
22
|
-
this.resultFilePath = `${this.workDirectory}/dependencies.json`;
|
|
23
|
-
if (!fs_1.default.existsSync(this.workDirectory))
|
|
24
|
-
fs_1.default.mkdirSync(this.workDirectory);
|
|
25
|
-
}
|
|
26
|
-
adapterToDependencyResponse(dependencies) {
|
|
27
|
-
const results = { files: [] };
|
|
28
|
-
for (const dependency of dependencies.files) {
|
|
29
|
-
let depArr = [];
|
|
30
|
-
for (const purl of dependency.purls) {
|
|
31
|
-
const pkg = packageurl_js_1.PackageURL.fromString(purl.purl);
|
|
32
|
-
depArr.push({
|
|
33
|
-
component: null,
|
|
34
|
-
purl: purl.purl,
|
|
35
|
-
version: pkg.version,
|
|
36
|
-
licenses: [{ name: null }]
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
let fileArr = {};
|
|
40
|
-
fileArr = ({
|
|
41
|
-
file: dependency.file,
|
|
42
|
-
id: "dependency",
|
|
43
|
-
status: "pending",
|
|
44
|
-
dependencies: depArr
|
|
45
|
-
});
|
|
46
|
-
results.files.push(fileArr);
|
|
47
|
-
}
|
|
48
|
-
return results;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.Dependency = Dependency;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGVwZW5kZW5jaWVzL0RlcGVuZGVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQW9CO0FBQ3BCLDRDQUFvQjtBQUlwQixtREFBNEQ7QUFDNUQsaURBQTJDO0FBRTNDLE1BQWEsVUFBVTtJQU1yQjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFlBQUUsQ0FBQyxNQUFNLEVBQUUsZUFBZSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FBRSxRQUF1QjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEseUNBQXlCLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDekQseUNBQXlDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxhQUFxQjtRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsb0JBQW9CLENBQUM7UUFFaEUsSUFBSSxDQUFDLFlBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUFFLFlBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTywyQkFBMkIsQ0FBRSxZQUFnQztRQUNuRSxNQUFNLE9BQU8sR0FBd0IsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFFakQsS0FBSyxNQUFNLFVBQVUsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFDO1lBQzFDLElBQUksTUFBTSxHQUF1QixFQUFFLENBQUM7WUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxNQUFNLEdBQUcsR0FBRywwQkFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTdDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ1YsU0FBUyxFQUFFLElBQUk7b0JBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO29CQUNmLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztvQkFDcEIsUUFBUSxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUM7aUJBQ3pCLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxPQUFPLEdBQVUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxDQUFDO2dCQUNULElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtnQkFDckIsRUFBRSxFQUFFLFlBQVk7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixZQUFZLEVBQUUsTUFBTTthQUNyQixDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7Q0FDRjtBQW5ERCxnQ0FtREMifQ==
|
|
@@ -1,46 +0,0 @@
|
|
|
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.generateDependenciesPurls = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const mavenParser_1 = require("./parsers/mavenParser");
|
|
10
|
-
const npmParser_1 = require("./parsers/npmParser");
|
|
11
|
-
const pyParser_1 = require("./parsers/pyParser");
|
|
12
|
-
const rubyParser_1 = require("./parsers/rubyParser");
|
|
13
|
-
const golangParser_1 = require("./parsers/golangParser");
|
|
14
|
-
/*
|
|
15
|
-
This is a hash map that connect a filename with it's own parser function
|
|
16
|
-
Any parser function must return a FileDependency object (See type.ts file in src/parser
|
|
17
|
-
*/
|
|
18
|
-
const Parser = {
|
|
19
|
-
'requirements.txt': pyParser_1.requirementsParser,
|
|
20
|
-
'pom.xml': mavenParser_1.pomParser,
|
|
21
|
-
'package.json': npmParser_1.packageParser,
|
|
22
|
-
'package-lock.json': npmParser_1.packagelockParser,
|
|
23
|
-
'Gemfile': rubyParser_1.gemfileParser,
|
|
24
|
-
'Gemfile.lock': rubyParser_1.gemfilelockParser,
|
|
25
|
-
'go.mod': golangParser_1.goModParser,
|
|
26
|
-
};
|
|
27
|
-
async function generateDependenciesPurls(files) {
|
|
28
|
-
let results = { files: [] };
|
|
29
|
-
for (const filePath of files) {
|
|
30
|
-
const fileName = path_1.default.basename(filePath);
|
|
31
|
-
if (Parser[fileName] != null) {
|
|
32
|
-
try {
|
|
33
|
-
const fileContent = await fs_1.default.promises.readFile(filePath, 'utf8');
|
|
34
|
-
const dependency = Parser[fileName](fileContent, filePath);
|
|
35
|
-
if (dependency.purls.length != 0)
|
|
36
|
-
results.files.push(dependency);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
console.error(`Error parsing file: ${filePath}\n`, error);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return results;
|
|
44
|
-
}
|
|
45
|
-
exports.generateDependenciesPurls = generateDependenciesPurls;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVybEdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGVwZW5kZW5jaWVzL1B1cmxHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQW9CO0FBQ3BCLGdEQUF3QjtBQUl4Qix1REFBa0Q7QUFDbEQsbURBQXVFO0FBQ3ZFLGlEQUF3RDtBQUN4RCxxREFBd0U7QUFDeEUseURBQXFEO0FBR3JEOzs7RUFHRTtBQUNGLE1BQU0sTUFBTSxHQUFzQjtJQUM5QixrQkFBa0IsRUFBRSw2QkFBa0I7SUFDdEMsU0FBUyxFQUFFLHVCQUFTO0lBQ3BCLGNBQWMsRUFBRSx5QkFBYTtJQUM3QixtQkFBbUIsRUFBRSw2QkFBaUI7SUFDdEMsU0FBUyxFQUFFLDBCQUFhO0lBQ3hCLGNBQWMsRUFBRSw4QkFBaUI7SUFDakMsUUFBUSxFQUFFLDBCQUFXO0NBQ3hCLENBQUM7QUFHSyxLQUFLLFVBQVUseUJBQXlCLENBQUMsS0FBb0I7SUFDaEUsSUFBSSxPQUFPLEdBQXVCLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzlDLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxFQUFFO1FBQzFCLE1BQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzNCLElBQUk7Z0JBQ0YsTUFBTSxXQUFXLEdBQUcsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzNELElBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQztvQkFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDcEM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixRQUFRLElBQUksRUFBQyxLQUFLLENBQUMsQ0FBQzthQUMxRDtTQUNGO0tBQ0o7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBaEJELDhEQWdCQyJ9
|
|
@@ -1,63 +0,0 @@
|
|
|
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.goModParser = void 0;
|
|
7
|
-
const packageurl_js_1 = require("packageurl-js");
|
|
8
|
-
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
|
-
function parseDepLink(str) {
|
|
18
|
-
var _a, _b;
|
|
19
|
-
const res = /.*?(?<ns_name>[^\s]+)\s+(?<version>(.*))/.exec(str);
|
|
20
|
-
return {
|
|
21
|
-
ns_name: (_a = res === null || res === void 0 ? void 0 : res.groups) === null || _a === void 0 ? void 0 : _a.ns_name,
|
|
22
|
-
version: (_b = res === null || res === void 0 ? void 0 : res.groups) === null || _b === void 0 ? void 0 : _b.version
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
// Removes comments and spaces
|
|
26
|
-
function preprocessLine(line) {
|
|
27
|
-
if (line.includes("//"))
|
|
28
|
-
line = line.substring(0, line.indexOf("//"));
|
|
29
|
-
return line.trim();
|
|
30
|
-
}
|
|
31
|
-
const PURL_TYPE = 'golang';
|
|
32
|
-
// See reference on: https://go.dev/ref/mod#go-mod-file
|
|
33
|
-
const MANIFEST_FILE = 'go.mod';
|
|
34
|
-
function goModParser(fileContent, filePath) {
|
|
35
|
-
// If the file is not a go.mod manifest file, return an empty results
|
|
36
|
-
const results = { file: filePath, purls: [] };
|
|
37
|
-
if (path_1.default.basename(filePath) != MANIFEST_FILE)
|
|
38
|
-
return results;
|
|
39
|
-
const lines = fileContent.split('\n');
|
|
40
|
-
const require = [];
|
|
41
|
-
const exclude = [];
|
|
42
|
-
for (let num = 0; num < lines.length; num += 1) {
|
|
43
|
-
let line = preprocessLine(lines[num]);
|
|
44
|
-
if (line.includes('require') && line.includes('(')) {
|
|
45
|
-
num += 1;
|
|
46
|
-
line = preprocessLine(lines[num]);
|
|
47
|
-
while (num < lines.length && line !== ')') {
|
|
48
|
-
const { ns_name, version } = parseDepLink(line);
|
|
49
|
-
const index = ns_name.lastIndexOf('/');
|
|
50
|
-
const namespace = ns_name.substring(0, index);
|
|
51
|
-
const name = ns_name.substring(index + 1);
|
|
52
|
-
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, namespace, name, version, undefined, undefined).toString();
|
|
53
|
-
results.purls.push({ purl: purlString });
|
|
54
|
-
require.push(line);
|
|
55
|
-
num += 1;
|
|
56
|
-
line = preprocessLine(lines[num]);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return results;
|
|
61
|
-
}
|
|
62
|
-
exports.goModParser = goModParser;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29sYW5nUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcGFyc2Vycy9nb2xhbmdQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTJDO0FBQzNDLGdEQUF3QjtBQUd4QixTQUFTLFdBQVcsQ0FBRSxHQUFXO0lBQy9CLE1BQU0sR0FBRyxHQUFHLDZEQUE2RCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwRixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUNyQixPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1FBQzNCLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU87S0FDNUIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBRSxHQUFXOztJQUNoQyxNQUFNLEdBQUcsR0FBRywwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsT0FBTztRQUNMLE9BQU8sRUFBRSxNQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLDBDQUFFLE9BQU87UUFDN0IsT0FBTyxFQUFFLE1BQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sMENBQUUsT0FBTztLQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELDhCQUE4QjtBQUM5QixTQUFTLGNBQWMsQ0FBQyxJQUFZO0lBQ2hDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN2QixDQUFDO0FBS0QsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDO0FBRzNCLHVEQUF1RDtBQUN2RCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUM7QUFDL0IsU0FBZ0IsV0FBVyxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFL0QscUVBQXFFO0lBQ3JFLE1BQU0sT0FBTyxHQUFtQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzVELElBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBRW5CLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVsQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRyxHQUFHLElBQUUsQ0FBQyxFQUFFO1FBRTlDLElBQUksSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUd0QyxJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxHQUFHLElBQUUsQ0FBQyxDQUFDO1lBQ1AsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsQyxPQUFPLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksS0FBRyxHQUFHLEVBQUU7Z0JBRXZDLE1BQU0sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU5QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTFDLE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4RyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2dCQUV2QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVuQixHQUFHLElBQUUsQ0FBQyxDQUFDO2dCQUNQLElBQUksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkM7U0FDRjtLQUNGO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQXhDRCxrQ0F3Q0MifQ==
|
|
@@ -1,54 +0,0 @@
|
|
|
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.pomParser = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const packageurl_js_1 = require("packageurl-js");
|
|
9
|
-
const PURL_TYPE = 'maven';
|
|
10
|
-
// Parse a pom.txt file from maven manifest file
|
|
11
|
-
// See reference on: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
|
|
12
|
-
// and https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
|
|
13
|
-
const MANIFEST_FILE = 'pom.xml';
|
|
14
|
-
function pomParser(fileContent, filePath) {
|
|
15
|
-
// If the file is not a python 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 dependencies = fileContent.match(/<dependency>((?:.|\n)*?)<\/dependency>/gm);
|
|
20
|
-
if (dependencies) {
|
|
21
|
-
// TODO: classifier are not supported yet
|
|
22
|
-
dependencies.forEach(dependency => {
|
|
23
|
-
// Extract groupId. It's the purl namespace
|
|
24
|
-
const groupId = dependency.match(/<groupId>([^<]*)<\/groupId>/);
|
|
25
|
-
const namespace = groupId ? groupId[1] : '';
|
|
26
|
-
// Extract artifact id. It's the purl name
|
|
27
|
-
const artifactId = dependency.match(/<artifactId>([^<]*)<\/artifactId>/);
|
|
28
|
-
const name = artifactId ? artifactId[1] : '';
|
|
29
|
-
const versionReg = dependency.match(/<version>([^<]*)<\/version>/);
|
|
30
|
-
let version = versionReg ? versionReg[1] : '';
|
|
31
|
-
const ver = version.match(/\${(.*?)}/);
|
|
32
|
-
if (ver && ver.length >= 1) {
|
|
33
|
-
if (ver[1] === 'project.version') { // TODO: Add support for project.version
|
|
34
|
-
version = undefined;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
const res = fileContent.match(new RegExp(`<${ver[1]}>([^<]*)<\/${ver[1]}>`));
|
|
38
|
-
version = res.length >= 1 ? res[1] : '';
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
let purlQualifiers;
|
|
42
|
-
const type = dependency.match(/<type>([^<]*)<\/type>/);
|
|
43
|
-
if (type) {
|
|
44
|
-
purlQualifiers = {};
|
|
45
|
-
purlQualifiers['type'] = type[1];
|
|
46
|
-
}
|
|
47
|
-
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, namespace, name, version, purlQualifiers, undefined).toString();
|
|
48
|
-
results.purls.push({ purl: purlString });
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return results;
|
|
52
|
-
}
|
|
53
|
-
exports.pomParser = pomParser;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW5QYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9wYXJzZXJzL21hdmVuUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixpREFBMkM7QUFJM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBRzFCLGdEQUFnRDtBQUNoRCw4RkFBOEY7QUFDOUYsNkZBQTZGO0FBQzdGLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUNoQyxTQUFnQixTQUFTLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUUzRCxxRUFBcUU7SUFDckUsTUFBTSxPQUFPLEdBQW1CLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDNUQsSUFBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQ25GLElBQUcsWUFBWSxFQUFFO1FBRWYseUNBQXlDO1FBQ3pDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsMkNBQTJDO1lBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNoRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRTVDLDBDQUEwQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDekUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUU3QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDbkUsSUFBSSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUU5QyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZDLElBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFHO2dCQUMxQixJQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsRUFBRSxFQUFFLHdDQUF3QztvQkFDekUsT0FBTyxHQUFHLFNBQVMsQ0FBQztpQkFDckI7cUJBQU07b0JBQ0wsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzdFLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ3pDO2FBQ0Y7WUFFRCxJQUFJLGNBQWMsQ0FBQztZQUNuQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDdkQsSUFBRyxJQUFJLEVBQUU7Z0JBQ0wsY0FBYyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNuQztZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksMEJBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUE3Q0QsOEJBNkNDIn0=
|
|
@@ -1,46 +0,0 @@
|
|
|
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 listDeps) {
|
|
23
|
-
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
|
|
24
|
-
results.purls.push({ purl: purlString });
|
|
25
|
-
}
|
|
26
|
-
return results;
|
|
27
|
-
}
|
|
28
|
-
exports.packageParser = packageParser;
|
|
29
|
-
// Parse a package-lock.json file from node projects
|
|
30
|
-
// See reference on: https://docs.npmjs.com/cli/v8/configuring-npm/package-json
|
|
31
|
-
const MANIFEST_FILE_1 = 'package-lock.json';
|
|
32
|
-
function packagelockParser(fileContent, filePath) {
|
|
33
|
-
const results = { file: filePath, purls: [] };
|
|
34
|
-
if (path_1.default.basename(filePath) != MANIFEST_FILE_1)
|
|
35
|
-
return results;
|
|
36
|
-
const o = JSON.parse(fileContent).dependencies;
|
|
37
|
-
for (const [key, value] of Object.entries(o)) {
|
|
38
|
-
if (!key)
|
|
39
|
-
continue;
|
|
40
|
-
let purl = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, key, value['version'], undefined, undefined).toString();
|
|
41
|
-
results.purls.push({ purl });
|
|
42
|
-
}
|
|
43
|
-
return results;
|
|
44
|
-
}
|
|
45
|
-
exports.packagelockParser = packagelockParser;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvcGFyc2Vycy9ucG1QYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLGlEQUEyQztBQUkzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFHeEIsK0NBQStDO0FBQy9DLCtFQUErRTtBQUMvRSxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUM7QUFDckMsU0FBZ0IsYUFBYSxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFDL0QsNERBQTREO0lBQzVELE1BQU0sT0FBTyxHQUFtQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzVELElBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDckMsS0FBSSxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztLQUMxQztJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFkRCxzQ0FjQztBQUdELG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDNUMsU0FBZ0IsaUJBQWlCLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUVuRSxNQUFNLE9BQU8sR0FBbUIsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUM1RCxJQUFHLGNBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksZUFBZTtRQUN6QyxPQUFPLE9BQU8sQ0FBQztJQUVuQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUMvQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMxQyxJQUFHLENBQUMsR0FBRztZQUFFLFNBQVM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsSUFBSSwwQkFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQWJELDhDQWFDIn0=
|
|
@@ -1,51 +0,0 @@
|
|
|
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
|
-
const PURL_TYPE = 'pypi';
|
|
11
|
-
// Parse a requirements.txt file from python projects
|
|
12
|
-
// See reference on: https://pip.pypa.io/en/stable/reference/requirements-file-format/
|
|
13
|
-
const MANIFEST_FILE = 'requirements.txt';
|
|
14
|
-
function requirementsParser(fileContent, filePath) {
|
|
15
|
-
// If the file is not a python 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
|
-
let compVer = '';
|
|
22
|
-
for (let line of lines) {
|
|
23
|
-
line = line.trim();
|
|
24
|
-
if (!line.startsWith('#') && line.length > 0) { // Avoid comments and new lines
|
|
25
|
-
if ((0, utils_1.isValidUrl)(line)) {
|
|
26
|
-
// For reference about the regex see https://www.rfc-editor.org/rfc/rfc3986#appendix-B
|
|
27
|
-
const res = line.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/);
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
else if ((0, utils_1.isValidPath)(line)) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
else if (line.startsWith('-r')) {
|
|
34
|
-
continue;
|
|
35
|
-
} // recursive dependencies (NOT SUPPORTED YET)
|
|
36
|
-
else {
|
|
37
|
-
// Line contains a package name and/or version.
|
|
38
|
-
const res = line.match(/^([-\w]+)\s*(?:[>=~!]*)\s*([\d\.]*)/); //Extract name and version
|
|
39
|
-
if (res) {
|
|
40
|
-
compName = res.length > 1 ? res[1] : ' ';
|
|
41
|
-
compVer = undefined;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const purlString = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, compName, compVer, undefined, undefined).toString();
|
|
45
|
-
results.purls.push({ purl: purlString });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return results;
|
|
49
|
-
}
|
|
50
|
-
exports.requirementsParser = requirementsParser;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHlQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9wYXJzZXJzL3B5UGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QixpREFBMkM7QUFFM0MsbUNBQWtEO0FBRWxELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUV6QixxREFBcUQ7QUFDckQsc0ZBQXNGO0FBQ3RGLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ3pDLFNBQWdCLGtCQUFrQixDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFcEUscUVBQXFFO0lBQ3JFLE1BQU0sT0FBTyxHQUFtQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzVELElBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBR25CLE1BQU0sS0FBSyxHQUFrQixXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUMxQixJQUFJLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFFekIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxFQUFFLCtCQUErQjtZQUN6RSxJQUFHLElBQUEsa0JBQVUsRUFBQyxJQUFJLENBQUMsRUFBRTtnQkFDakIsc0ZBQXNGO2dCQUN0RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7Z0JBQ3hGLFNBQVM7YUFDWjtpQkFDSSxJQUFHLElBQUEsbUJBQVcsRUFBQyxJQUFJLENBQUMsRUFBRTtnQkFBQyxTQUFTO2FBQUM7aUJBQ2pDLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFBQyxTQUFTO2FBQUMsQ0FBQyw2Q0FBNkM7aUJBQ25GO2dCQUNELCtDQUErQztnQkFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUksMEJBQTBCO2dCQUM1RixJQUFJLEdBQUcsRUFBRTtvQkFDTCxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUN6QyxPQUFPLEdBQUcsU0FBUyxDQUFDO2lCQUN2QjthQUNKO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSwwQkFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUMxQztLQUNKO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQW5DRCxnREFtQ0MifQ==
|
|
@@ -1,135 +0,0 @@
|
|
|
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
|
-
this.refine();
|
|
103
|
-
return this.purlList;
|
|
104
|
-
}
|
|
105
|
-
resetState() {
|
|
106
|
-
this.current_options = {};
|
|
107
|
-
this.state = null;
|
|
108
|
-
}
|
|
109
|
-
parseOptions(line) {
|
|
110
|
-
const match = line.match(/\s*(\w+):\s*(.*)/);
|
|
111
|
-
const key = match.length >= 1 ? match[1] : null;
|
|
112
|
-
const value = match.length >= 2 ? match[2] : null;
|
|
113
|
-
if (key)
|
|
114
|
-
this.current_options[key] = value;
|
|
115
|
-
}
|
|
116
|
-
parseDependency(line) { }
|
|
117
|
-
parsePlatform(line) { }
|
|
118
|
-
parseSpec(line) {
|
|
119
|
-
if (this.current_gem == GEM) {
|
|
120
|
-
if (firstDepLevelRegex.test(line)) {
|
|
121
|
-
line = line.trimStart();
|
|
122
|
-
const match = line.match(specRegex);
|
|
123
|
-
const purl = new packageurl_js_1.PackageURL(PURL_TYPE, undefined, match.groups.name, match.groups.version, undefined, undefined).toString();
|
|
124
|
-
this.purlList.push(purl);
|
|
125
|
-
}
|
|
126
|
-
else { // Second level of dependence
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (this.current_gem == GIT) { }
|
|
130
|
-
// Purl from local dependencies are not generated
|
|
131
|
-
if (this.current_gem == PATH) { }
|
|
132
|
-
}
|
|
133
|
-
refine() { }
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVieVBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVwZW5kZW5jaWVzL3BhcnNlcnMvcnVieVBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsaURBQTJDO0FBSzNDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUd4QixpQ0FBaUM7QUFDakMsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUM1QyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDaEMsU0FBZ0IsYUFBYSxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFL0QsOERBQThEO0lBQzlELE1BQU0sT0FBTyxHQUFtQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzVELElBQUcsY0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBR25CLE1BQU0sS0FBSyxHQUFrQixXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUUxQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRTtRQUNwQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFFLEVBQUUsaUNBQWlDO1lBQzNFLCtDQUErQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBSSxjQUFjO1lBQ2pFLElBQUksR0FBRyxFQUFFO2dCQUNMLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFD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
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface Purl {
|
|
2
|
-
purl: string;
|
|
3
|
-
}
|
|
4
|
-
export interface FileDependency {
|
|
5
|
-
file: string;
|
|
6
|
-
purls: Array<Purl>;
|
|
7
|
-
}
|
|
8
|
-
export interface FileListDependency {
|
|
9
|
-
files: Array<FileDependency>;
|
|
10
|
-
}
|
|
11
|
-
declare type ParserFuncType = (fileContent: string, filePath: string) => FileDependency;
|
|
12
|
-
export interface ParserDefinitions {
|
|
13
|
-
[key: string]: ParserFuncType;
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9wYXJzZXJzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GrpcConfig = void 0;
|
|
4
|
-
class GrpcConfig {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.DEFAULT_GRPC_PORT = 50051;
|
|
7
|
-
this.DEFAULT_GRPC_HOST = 'localhost';
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.GrpcConfig = GrpcConfig;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JwY0NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZ3JwYy9HcnBjQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsVUFBVTtJQUF2QjtRQUVFLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUxQixzQkFBaUIsR0FBRyxXQUFXLENBQUM7SUFFbEMsQ0FBQztDQUFBO0FBTkQsZ0NBTUMifQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IDependencyResponse } from "./DependencyTypes";
|
|
2
|
-
export declare class Dependency {
|
|
3
|
-
private workDirectory;
|
|
4
|
-
private resultFilePath;
|
|
5
|
-
constructor();
|
|
6
|
-
scan(fileList: Array<string>): Promise<IDependencyResponse>;
|
|
7
|
-
setWorkDirectory(workDirectory: string): void;
|
|
8
|
-
private createDependencyRequest;
|
|
9
|
-
}
|