scanoss 0.2.21 → 0.2.24
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 +3 -1
- package/build/main/bin/cli-bin.js +11 -4
- package/build/main/commands/fingerprint.d.ts +1 -0
- package/build/main/commands/fingerprint.js +49 -0
- package/build/main/commands/scan.js +4 -5
- package/build/main/index.d.ts +1 -0
- package/build/main/index.js +2 -1
- package/build/main/lib/dependencies/DependencyScanner.d.ts +1 -0
- package/build/main/lib/dependencies/DependencyScanner.js +18 -4
- package/build/main/lib/dependencies/LocalDependency/DependencyTypes.d.ts +1 -1
- package/build/main/lib/dependencies/LocalDependency/parsers/npmParser.js +3 -3
- package/build/main/lib/dependencies/LocalDependency/parsers/pyParser.js +7 -3
- package/build/main/lib/grpc/GrpcDependencyService.js +1 -2
- package/build/main/lib/scanner/Dispatcher/DispatchableItem.d.ts +4 -4
- package/build/main/lib/scanner/Dispatcher/DispatchableItem.js +5 -5
- package/build/main/lib/scanner/Scanner.d.ts +17 -19
- package/build/main/lib/scanner/Scanner.js +44 -33
- package/build/main/lib/scanner/ScannerCfg.js +3 -3
- package/build/main/lib/scanner/ScannerTypes.d.ts +1 -0
- package/build/main/lib/scanner/ScannerTypes.js +1 -1
- package/build/main/lib/scanner/WfpProvider/FingerprintPacket.d.ts +12 -0
- package/build/main/lib/scanner/WfpProvider/FingerprintPacket.js +38 -0
- package/build/main/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/main/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +334 -0
- package/build/main/lib/scanner/WfpProvider/WfpProvider.d.ts +32 -0
- package/build/main/lib/scanner/WfpProvider/WfpProvider.js +63 -0
- package/build/main/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +20 -0
- package/build/main/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +94 -0
- package/build/main/lib/scanner/Winnower/WinnowerExtractor.js +1 -1
- package/build/module/bin/cli-bin.js +11 -4
- package/build/module/commands/fingerprint.d.ts +1 -0
- package/build/module/commands/fingerprint.js +42 -0
- package/build/module/commands/scan.js +4 -5
- package/build/module/index.d.ts +1 -0
- package/build/module/index.js +2 -1
- package/build/module/lib/dependencies/DependencyScanner.d.ts +1 -0
- package/build/module/lib/dependencies/DependencyScanner.js +18 -4
- package/build/module/lib/dependencies/LocalDependency/DependencyTypes.d.ts +1 -1
- package/build/module/lib/dependencies/LocalDependency/parsers/npmParser.js +3 -3
- package/build/module/lib/dependencies/LocalDependency/parsers/pyParser.js +7 -3
- package/build/module/lib/grpc/GrpcDependencyService.js +1 -2
- package/build/module/lib/scanner/Dispatcher/DispatchableItem.d.ts +4 -4
- package/build/module/lib/scanner/Dispatcher/DispatchableItem.js +6 -6
- package/build/module/lib/scanner/Scanner.d.ts +17 -19
- package/build/module/lib/scanner/Scanner.js +50 -39
- package/build/module/lib/scanner/ScannerCfg.js +3 -3
- package/build/module/lib/scanner/ScannerTypes.d.ts +1 -0
- package/build/module/lib/scanner/ScannerTypes.js +1 -1
- package/build/module/lib/scanner/WfpProvider/FingerprintPacket.d.ts +12 -0
- package/build/module/lib/scanner/WfpProvider/FingerprintPacket.js +37 -0
- package/build/module/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/module/lib/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +330 -0
- package/build/module/lib/scanner/WfpProvider/WfpProvider.d.ts +32 -0
- package/build/module/lib/scanner/WfpProvider/WfpProvider.js +65 -0
- package/build/module/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +20 -0
- package/build/module/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +93 -0
- package/build/module/lib/scanner/Winnower/WinnowerExtractor.js +1 -1
- package/build/tsconfig.module.tsbuildinfo +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package-lock.json +18588 -0
- package/package.json +1 -1
- package/src/bin/cli-bin.ts +11 -4
- package/src/commands/fingerprint.ts +55 -0
- package/src/commands/scan.ts +3 -3
- package/src/index.js +1 -0
- package/src/index.ts +1 -0
- package/src/lib/dependencies/DependencyScanner.ts +21 -3
- package/src/lib/dependencies/LocalDependency/DependencyTypes.ts +1 -1
- package/src/lib/dependencies/LocalDependency/parsers/npmParser.ts +2 -2
- package/src/lib/dependencies/LocalDependency/parsers/pyParser.ts +5 -2
- package/src/lib/grpc/GrpcDependencyService.ts +0 -1
- package/src/lib/scanner/Dispatcher/DispatchableItem.ts +7 -8
- package/src/lib/scanner/Scanner.ts +64 -53
- package/src/lib/scanner/ScannerCfg.ts +2 -2
- package/src/lib/scanner/ScannerTypes.ts +1 -0
- package/src/lib/scanner/{Winnower/WinnowerResponse.ts → WfpProvider/FingerprintPacket.ts} +11 -5
- package/src/lib/scanner/{Winnower/Winnower.ts → WfpProvider/WfpCalculator/WfpCalculator.ts} +32 -119
- package/src/lib/scanner/WfpProvider/WfpProvider.ts +91 -0
- package/src/lib/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts +120 -0
- package/src/lib/scanner/Winnower/WinnowerExtractor.ts +0 -1
- package/yarn.lock +5289 -5202
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isFolder } from "./helpers";
|
|
2
|
+
import { ScannerEvents, WfpCalculator } from "..";
|
|
3
|
+
import { Tree } from "../lib/tree/Tree";
|
|
4
|
+
import { FilterList } from "../lib/filters/filtering";
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import { defaultFilter } from "../lib/filters/defaultFilter";
|
|
7
|
+
import cliProgress from 'cli-progress';
|
|
8
|
+
export async function fingerprintHandler(rootPath, options) {
|
|
9
|
+
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
10
|
+
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
11
|
+
const pathIsFolder = await isFolder(rootPath);
|
|
12
|
+
const wfpCalculator = new WfpCalculator();
|
|
13
|
+
const tree = new Tree(rootPath);
|
|
14
|
+
const filter = new FilterList('');
|
|
15
|
+
filter.load(defaultFilter);
|
|
16
|
+
tree.loadFilter(filter);
|
|
17
|
+
tree.buildTree();
|
|
18
|
+
const filesToFingerprint = tree.getFileList();
|
|
19
|
+
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
20
|
+
const bar1 = new cliProgress.SingleBar(optBar1, cliProgress.Presets.shades_classic);
|
|
21
|
+
bar1.start(filesToFingerprint.length, 0);
|
|
22
|
+
let fingerprints = '';
|
|
23
|
+
wfpCalculator.on(ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPacket) => {
|
|
24
|
+
bar1.increment(fingerprintPacket.getNumberFilesFingerprinted());
|
|
25
|
+
fingerprints = fingerprints.concat(fingerprintPacket.getContent());
|
|
26
|
+
});
|
|
27
|
+
if (options.verbose)
|
|
28
|
+
wfpCalculator.on(ScannerEvents.WINNOWER_LOG, (log) => {
|
|
29
|
+
console.error(log);
|
|
30
|
+
});
|
|
31
|
+
wfpCalculator.on(ScannerEvents.WINNOWING_FINISHED, () => {
|
|
32
|
+
bar1.stop();
|
|
33
|
+
if (options.output) {
|
|
34
|
+
fs.writeFileSync(options.output, fingerprints);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
console.log(fingerprints);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
wfpCalculator.start({ fileList: filesToFingerprint, folderRoot: rootPath });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZmluZ2VycHJpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBR3ZDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBRXJFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFFLGtDQUFrQztJQUMzRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLDBDQUEwQztJQUNoRyxNQUFNLFlBQVksR0FBRyxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBRTFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBMkIsQ0FBQyxDQUFDO0lBRXpDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRWpCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTlDLE1BQU0sT0FBTyxHQUFHLEVBQUUsTUFBTSxFQUFFLHlGQUF5RixFQUFFLENBQUM7SUFDdEgsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN0QixhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGlCQUFvQyxFQUFFLEVBQUU7UUFDN0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7UUFDaEUsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUUsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUUsQ0FBQztJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxDQUFDLE9BQU87UUFDakIsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUVMLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUN0RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDakIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFHSCxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO0FBRzVFLENBQUMifQ==
|
|
@@ -53,7 +53,7 @@ export async function scanHandler(rootPath, options) {
|
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
55
|
const winnowing = fs.readFileSync(rootPath, { encoding: 'utf-8' });
|
|
56
|
-
|
|
56
|
+
scannerInput.fileList.length = [...winnowing.matchAll(/file=/g)].length;
|
|
57
57
|
}
|
|
58
58
|
if (!options.verbose) {
|
|
59
59
|
const optBar1 = { format: 'Scan Progress: [{bar}] {percentage}% | Scanned {value} files of {total}' };
|
|
@@ -74,8 +74,7 @@ export async function scanHandler(rootPath, options) {
|
|
|
74
74
|
console.log(await fs.promises.readFile(resultPath, 'utf8'));
|
|
75
75
|
});
|
|
76
76
|
if (options.wfp)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
await scanner.scan([scannerInput]);
|
|
77
|
+
scannerInput.wfpPath = rootPath;
|
|
78
|
+
await scanner.scan([scannerInput]);
|
|
80
79
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zY2FuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFJcEIsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBRTlELElBQUksWUFBWSxHQUFpQixFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUVoRCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFOUMsZ0RBQWdEO0lBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7SUFDcEMsSUFBRyxPQUFPLENBQUMsV0FBVztRQUFFLFVBQVUsQ0FBQyxpQkFBaUIsR0FB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
|
package/build/module/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './lib/scanner/ScannerTypes';
|
|
2
2
|
export * from './lib/scanner/ScannerCfg';
|
|
3
3
|
export * from './lib/scanner/Scanner';
|
|
4
|
+
export * from './lib/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
4
5
|
export * from './lib/dependencies/DependencyTypes';
|
|
5
6
|
export * from './lib/dependencies/DependencyScannerCfg';
|
|
6
7
|
export * from './lib/dependencies/DependencyScanner';
|
package/build/module/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './lib/scanner/ScannerTypes';
|
|
2
2
|
export * from './lib/scanner/ScannerCfg';
|
|
3
3
|
export * from './lib/scanner/Scanner';
|
|
4
|
+
export * from './lib/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
4
5
|
export * from './lib/dependencies/DependencyTypes';
|
|
5
6
|
export * from './lib/dependencies/DependencyScannerCfg';
|
|
6
7
|
export * from './lib/dependencies/DependencyScanner';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQyJ9
|
|
@@ -2,6 +2,7 @@ import { GrpcDependencyService } from "../grpc/GrpcDependencyService";
|
|
|
2
2
|
import { DependencyRequest } from "../grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb";
|
|
3
3
|
import { LocalDependencies } from "./LocalDependency/LocalDependency";
|
|
4
4
|
import { DependencyScannerCfg } from "./DependencyScannerCfg";
|
|
5
|
+
import { PackageURL } from "packageurl-js";
|
|
5
6
|
export class DependencyScanner {
|
|
6
7
|
localDependency;
|
|
7
8
|
grpcDependencyService;
|
|
@@ -10,9 +11,10 @@ export class DependencyScanner {
|
|
|
10
11
|
this.localDependency = new LocalDependencies();
|
|
11
12
|
}
|
|
12
13
|
async scan(files) {
|
|
13
|
-
|
|
14
|
+
let localDependencies = await this.localDependency.search(files);
|
|
14
15
|
if (localDependencies.files.length === 0)
|
|
15
|
-
return
|
|
16
|
+
return { filesList: [] };
|
|
17
|
+
localDependencies = this.purlAdapter(localDependencies);
|
|
16
18
|
const request = this.buildRequest(localDependencies);
|
|
17
19
|
const grpcResponse = await this.grpcDependencyService.get(request);
|
|
18
20
|
const response = grpcResponse.toObject();
|
|
@@ -20,16 +22,28 @@ export class DependencyScanner {
|
|
|
20
22
|
this.mergeScopeField(localDependencies, response);
|
|
21
23
|
return response;
|
|
22
24
|
}
|
|
25
|
+
purlAdapter(localDependencies) {
|
|
26
|
+
for (const file of localDependencies.files) {
|
|
27
|
+
for (const purl of file.purls) {
|
|
28
|
+
const version = PackageURL.fromString(purl.purl).version;
|
|
29
|
+
purl.requirement = version;
|
|
30
|
+
purl.purl = purl.purl.replace('@' + version, '');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return localDependencies;
|
|
34
|
+
}
|
|
23
35
|
buildRequest(localDependencies) {
|
|
24
36
|
try {
|
|
25
37
|
const depRequest = new DependencyRequest();
|
|
38
|
+
depRequest.setDepth(1);
|
|
26
39
|
for (const file of localDependencies.files) {
|
|
27
40
|
const fileMsg = new DependencyRequest.Files();
|
|
28
41
|
fileMsg.setFile(file.file);
|
|
29
42
|
for (const purl of file.purls) {
|
|
30
43
|
const purlMsg = new DependencyRequest.Purls();
|
|
31
44
|
purlMsg.setPurl(purl.purl);
|
|
32
|
-
|
|
45
|
+
if (purl?.requirement)
|
|
46
|
+
purlMsg.setRequirement(purl.requirement);
|
|
33
47
|
fileMsg.addPurls(purlMsg);
|
|
34
48
|
}
|
|
35
49
|
depRequest.addFiles(fileMsg);
|
|
@@ -61,4 +75,4 @@ export class DependencyScanner {
|
|
|
61
75
|
return serverResponse;
|
|
62
76
|
}
|
|
63
77
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sNkRBQTZELENBQUM7QUFDcEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLE9BQU8saUJBQWlCO0lBRXBCLGVBQWUsQ0FBb0I7SUFFbkMscUJBQXFCLENBQXdCO0lBRXJELFlBQVksR0FBRyxHQUFHLElBQUksb0JBQW9CLEVBQUU7UUFDMUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUJBQXFCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFHTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQW9CO1FBQ3BDLElBQUksaUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDakUsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXhELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZ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
|
|
@@ -15,11 +15,11 @@ export function packageParser(fileContent, filePath) {
|
|
|
15
15
|
let listDeps = [...deps, ...devDeps];
|
|
16
16
|
for (const name of deps) {
|
|
17
17
|
const purlString = new PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
|
|
18
|
-
results.purls.push({ purl: purlString, scope: "dependencies",
|
|
18
|
+
results.purls.push({ purl: purlString, scope: "dependencies", requirement: o.dependencies[name] });
|
|
19
19
|
}
|
|
20
20
|
for (const name of devDeps) {
|
|
21
21
|
const purlString = new PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
|
|
22
|
-
results.purls.push({ purl: purlString, scope: "devDependencies",
|
|
22
|
+
results.purls.push({ purl: purlString, scope: "devDependencies", requirement: o.devDependencies[name] });
|
|
23
23
|
}
|
|
24
24
|
return results;
|
|
25
25
|
}
|
|
@@ -39,4 +39,4 @@ export function packagelockParser(fileContent, filePath) {
|
|
|
39
39
|
}
|
|
40
40
|
return results;
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L3BhcnNlcnMvbnBtUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUd4QiwrQ0FBK0M7QUFDL0MsK0VBQStFO0FBQy9FLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUNyQyxNQUFNLFVBQVUsYUFBYSxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFDL0QsNERBQTREO0lBQzVELE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzlELElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFFckMsS0FBSSxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDcEc7SUFFRCxLQUFJLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBQztRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0tBQ3hHO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUdELG9EQUFvRDtBQUNwRCwrRUFBK0U7QUFDL0UsTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUM7QUFDNUMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFbkUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGVBQWU7UUFDekMsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDL0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDMUMsSUFBRyxDQUFDLEdBQUc7WUFBRSxTQUFTO1FBQ2xCLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO0tBQzlCO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyJ9
|
|
@@ -37,17 +37,21 @@ export function requirementsParser(fileContent, filePath) {
|
|
|
37
37
|
} // Recursive dependencies (NOT SUPPORTED YET)
|
|
38
38
|
else {
|
|
39
39
|
const dep = parseDep(line);
|
|
40
|
-
if (dep.sym
|
|
40
|
+
if (!dep.sym) {
|
|
41
|
+
const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
|
|
42
|
+
results.purls.push({ purl: purlString });
|
|
43
|
+
}
|
|
44
|
+
else if (dep.sym === '==') {
|
|
41
45
|
const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, dep.version, undefined, undefined).toString();
|
|
42
46
|
results.purls.push({ purl: purlString });
|
|
43
47
|
}
|
|
44
48
|
else {
|
|
45
49
|
const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
|
|
46
|
-
results.purls.push({ purl: purlString,
|
|
50
|
+
results.purls.push({ purl: purlString, requirement: dep.sym + dep.version });
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
return results;
|
|
52
56
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHlQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy9weVBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsRCxTQUFTLFFBQVEsQ0FBRSxHQUFXO0lBQzVCLE1BQU0sR0FBRyxHQUFHLDBEQUEwRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSTtRQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO1FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU87S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFFekIscURBQXFEO0FBQ3JELHNGQUFzRjtBQUN0RixNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUN6QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUVwRSxxRUFBcUU7SUFDckUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFFbkIsTUFBTSxLQUFLLEdBQWtCLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckQsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLFNBQVM7UUFDOUIsSUFBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsRUFBRSwrQkFBK0I7WUFDeEUsSUFBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pCLHNGQUFzRjtnQkFDdEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO2dCQUN4RixTQUFTO2FBQ1o7aUJBQ0ksSUFBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUMsU0FBUzthQUFDLENBQUMsbUNBQW1DO2lCQUNyRSxJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQUMsU0FBUzthQUFDLENBQUMsNkNBQTZDO2lCQUNuRjtnQkFFRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5RyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFO29CQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hILE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7aUJBQ3hDO3FCQUFNO29CQUNMLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5RyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUMsR0FBRyxDQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7aUJBQzFFO2FBQ0o7U0FDSjtLQUNKO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyJ9
|
|
@@ -9,7 +9,6 @@ export class GrpcDependencyService {
|
|
|
9
9
|
this.client = new DependenciesClient(endpoint + ':' + port, grpc.credentials.createSsl());
|
|
10
10
|
if (apiKey) {
|
|
11
11
|
this.metadata = new grpc.Metadata();
|
|
12
|
-
console.log("Pased here");
|
|
13
12
|
this.metadata.add('x-api-key', apiKey);
|
|
14
13
|
}
|
|
15
14
|
}
|
|
@@ -64,4 +63,4 @@ export class GrpcDependencyService {
|
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JwY0RlcGVuZGVuY3lTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9ncnBjL0dycGNEZXBlbmRlbmN5U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNoRyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxLQUFLLGNBQWMsTUFBTSwyQ0FBMkMsQ0FBQTtBQUUzRSxNQUFNLE9BQU8scUJBQXFCO0lBRXhCLE1BQU0sQ0FBcUI7SUFFM0IsUUFBUSxDQUFDO0lBRWpCLFlBQVksUUFBZ0IsRUFBRSxJQUFZLEVBQUUsTUFBTSxHQUFDLEVBQUU7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFHLE1BQU0sRUFBRTtZQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBMkM7UUFDMUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFFBQXlEO1FBQ3hGLElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsS0FBSyxNQUFNLFVBQVUsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFO2dCQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFO29CQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzNCO2dCQUNELFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDOUI7WUFDRCxPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUdNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBK0I7UUFDL0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdNLG1CQUFtQixDQUFDLFFBQTZDO1FBQ3RFLElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztTQUNwQjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztDQUVGIn0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FingerprintPacket } from "../WfpProvider/FingerprintPacket";
|
|
2
2
|
export declare class DispatchableItem {
|
|
3
|
-
private
|
|
3
|
+
private fingerprintPacket;
|
|
4
4
|
private errorCounter;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(fingerprintPacket: FingerprintPacket);
|
|
6
6
|
increaseErrorCounter(): void;
|
|
7
|
-
getWinnowerResponse():
|
|
7
|
+
getWinnowerResponse(): FingerprintPacket;
|
|
8
8
|
getContent(): string;
|
|
9
9
|
getErrorCounter(): number;
|
|
10
10
|
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
export class DispatchableItem {
|
|
2
|
-
|
|
2
|
+
fingerprintPacket;
|
|
3
3
|
errorCounter;
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(fingerprintPacket) {
|
|
5
|
+
this.fingerprintPacket = fingerprintPacket;
|
|
6
6
|
this.errorCounter = 0;
|
|
7
7
|
}
|
|
8
8
|
increaseErrorCounter() {
|
|
9
9
|
this.errorCounter += 1;
|
|
10
10
|
}
|
|
11
11
|
getWinnowerResponse() {
|
|
12
|
-
return this.
|
|
12
|
+
return this.fingerprintPacket;
|
|
13
13
|
}
|
|
14
14
|
getContent() {
|
|
15
|
-
return this.
|
|
15
|
+
return this.fingerprintPacket.getContent();
|
|
16
16
|
}
|
|
17
17
|
getErrorCounter() {
|
|
18
18
|
return this.errorCounter;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzcGF0Y2hhYmxlSXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2Nhbm5lci9EaXNwYXRjaGVyL0Rpc3BhdGNoYWJsZUl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixpQkFBaUIsQ0FBb0I7SUFFckMsWUFBWSxDQUFTO0lBRTdCLFlBQVksaUJBQW9DO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBRUYifQ==
|
|
@@ -3,23 +3,23 @@ import { DispatcherResponse } from './Dispatcher/DispatcherResponse';
|
|
|
3
3
|
import { ScannerCfg } from './ScannerCfg';
|
|
4
4
|
import { ScannerInput } from './ScannerTypes';
|
|
5
5
|
export declare class Scanner extends EventEmitter {
|
|
6
|
-
scannerCfg
|
|
7
|
-
workDirectory
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
private
|
|
6
|
+
private scannerCfg;
|
|
7
|
+
private workDirectory;
|
|
8
|
+
private resultFilePath;
|
|
9
|
+
private wfpFilePath;
|
|
10
|
+
private scanRoot;
|
|
11
|
+
private scannerId;
|
|
12
|
+
private wfpProvider;
|
|
11
13
|
private dispatcher;
|
|
12
|
-
|
|
13
|
-
wfpFilePath: any;
|
|
14
|
-
scanFinished: any;
|
|
15
|
-
processingNewData: any;
|
|
16
|
-
responseBuffer: any;
|
|
17
|
-
processedFiles: any;
|
|
18
|
-
running: any;
|
|
19
|
-
filesToScan: any;
|
|
20
|
-
filesNotScanned: any;
|
|
21
|
-
finishPromise: Promise<void>;
|
|
14
|
+
private finishPromise;
|
|
22
15
|
private scannerInput;
|
|
16
|
+
private scanFinished;
|
|
17
|
+
private processingNewData;
|
|
18
|
+
private processedFiles;
|
|
19
|
+
private running;
|
|
20
|
+
private filesToScan;
|
|
21
|
+
private responseBuffer;
|
|
22
|
+
private filesNotScanned;
|
|
23
23
|
constructor(scannerCfg?: ScannerCfg);
|
|
24
24
|
init(): void;
|
|
25
25
|
setWinnowerListeners(): void;
|
|
@@ -41,9 +41,7 @@ export declare class Scanner extends EventEmitter {
|
|
|
41
41
|
scanFromWinnowingFile(wfpFilePath: string): Promise<void>;
|
|
42
42
|
scan(scannerInput: Array<ScannerInput>): Promise<void>;
|
|
43
43
|
private isValidInput;
|
|
44
|
-
getScannerId():
|
|
45
|
-
pause(): void;
|
|
46
|
-
resume(): void;
|
|
44
|
+
getScannerId(): string;
|
|
47
45
|
stop(): void;
|
|
48
|
-
isRunning():
|
|
46
|
+
isRunning(): boolean;
|
|
49
47
|
}
|