scanoss 0.6.2 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +15 -4
- package/build/main/cli/bin/cli-bin.js +0 -0
- package/build/main/index.d.ts +3 -0
- package/build/main/index.js +4 -1
- package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.js +1 -1
- package/build/main/sdk/scanner/Fingerprint.d.ts +15 -0
- package/build/main/sdk/scanner/Fingerprint.js +52 -0
- package/build/main/sdk/scanner/WfpProvider/FingerprintPackage.js +2 -2
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +1 -1
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.js +1 -1
- package/build/main/tsconfig.tsbuildinfo +36 -8
- package/build/module/index.d.ts +3 -0
- package/build/module/index.js +4 -1
- package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.js +1 -1
- package/build/module/sdk/scanner/Fingerprint.d.ts +15 -0
- package/build/module/sdk/scanner/Fingerprint.js +46 -0
- package/build/module/sdk/scanner/WfpProvider/FingerprintPackage.js +2 -2
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +1 -1
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.js +1 -1
- package/build/module/tsconfig.module.tsbuildinfo +36 -8
- package/package.json +1 -1
- package/src/cli/bin/cli-bin.ts +1 -1
- package/src/index.ts +5 -1
- package/src/sdk/Dependencies/LocalDependency/LocalDependency.ts +0 -1
- package/src/sdk/scanner/Fingerprint.ts +74 -0
- package/src/sdk/scanner/WfpProvider/FingerprintPackage.ts +1 -1
- package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +0 -1
- package/src/sdk/scanner/WfpProvider/WfpProvider.ts +2 -2
- package/build/main/cli/commands/fingerprint.d.ts +0 -1
- package/build/main/cli/commands/fingerprint.js +0 -54
- package/build/module/cli/commands/fingerprint.d.ts +0 -1
- package/build/module/cli/commands/fingerprint.js +0 -48
package/.idea/workspace.xml
CHANGED
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
</component>
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
7
|
<list default="true" id="6c78089c-ef2a-4dae-87f6-bd2f320855c8" name="Changes" comment="Fix yarn.lock parser error">
|
|
8
|
+
<change afterPath="$PROJECT_DIR$/src/sdk/scanner/Fingerprint.ts" afterDir="false" />
|
|
8
9
|
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
9
10
|
<change beforePath="$PROJECT_DIR$/src/cli/bin/cli-bin.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/cli/bin/cli-bin.ts" afterDir="false" />
|
|
11
|
+
<change beforePath="$PROJECT_DIR$/src/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.ts" afterDir="false" />
|
|
12
|
+
<change beforePath="$PROJECT_DIR$/src/sdk/Dependencies/LocalDependency/LocalDependency.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/Dependencies/LocalDependency/LocalDependency.ts" afterDir="false" />
|
|
13
|
+
<change beforePath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/FingerprintPackage.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/FingerprintPackage.ts" afterDir="false" />
|
|
14
|
+
<change beforePath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts" afterDir="false" />
|
|
15
|
+
<change beforePath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpProvider.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpProvider.ts" afterDir="false" />
|
|
10
16
|
</list>
|
|
11
17
|
<option name="SHOW_DIALOG" value="false" />
|
|
12
18
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -39,14 +45,14 @@
|
|
|
39
45
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
40
46
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
41
47
|
"WebServerToolWindowFactoryState": "false",
|
|
42
|
-
"last_opened_file_path": "/home/ubuntu/Projects/SCANOSS/
|
|
48
|
+
"last_opened_file_path": "/home/ubuntu/Projects/SCANOSS/keep/cipher-test",
|
|
43
49
|
"node.js.detected.package.eslint": "true",
|
|
44
50
|
"node.js.detected.package.tslint": "true",
|
|
45
51
|
"node.js.selected.package.eslint": "(autodetect)",
|
|
46
52
|
"node.js.selected.package.tslint": "(autodetect)",
|
|
47
53
|
"nodejs.mocha.mocha_node_package_dir": "/home/ubuntu/Projects/SCANOSS/scanoss.js/node_modules/mocha",
|
|
48
54
|
"nodejs_package_manager_path": "yarn",
|
|
49
|
-
"settings.editor.selected.configurable": "
|
|
55
|
+
"settings.editor.selected.configurable": "reference.settings.ide.settings.new.ui",
|
|
50
56
|
"ts.external.directory.path": "/home/ubuntu/Projects/SCANOSS/scanoss.js/node_modules/typescript/lib",
|
|
51
57
|
"vue.rearranger.settings.migration": "true"
|
|
52
58
|
}
|
|
@@ -219,7 +225,12 @@
|
|
|
219
225
|
<workItem from="1673268991891" duration="15000" />
|
|
220
226
|
<workItem from="1673359325216" duration="94000" />
|
|
221
227
|
<workItem from="1673528147828" duration="9031000" />
|
|
222
|
-
<workItem from="1673610043294" duration="
|
|
228
|
+
<workItem from="1673610043294" duration="2602000" />
|
|
229
|
+
<workItem from="1673871172394" duration="8000" />
|
|
230
|
+
<workItem from="1673944958000" duration="742000" />
|
|
231
|
+
<workItem from="1674044791808" duration="58000" />
|
|
232
|
+
<workItem from="1674053465048" duration="4791000" />
|
|
233
|
+
<workItem from="1674126910515" duration="8546000" />
|
|
223
234
|
</task>
|
|
224
235
|
<servers />
|
|
225
236
|
</component>
|
|
@@ -272,7 +283,7 @@
|
|
|
272
283
|
</line-breakpoint>
|
|
273
284
|
<line-breakpoint enabled="true" type="javascript">
|
|
274
285
|
<url>file://$PROJECT_DIR$/src/sdk/Dependencies/LocalDependency/LocalDependency.ts</url>
|
|
275
|
-
<line>
|
|
286
|
+
<line>110</line>
|
|
276
287
|
<option name="timeStamp" value="13" />
|
|
277
288
|
</line-breakpoint>
|
|
278
289
|
</breakpoints>
|
|
File without changes
|
package/build/main/index.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ export * from './sdk/scanner/Scanner';
|
|
|
2
2
|
export * from './sdk/scanner/ScannerTypes';
|
|
3
3
|
export * from './sdk/scanner/ScannerCfg';
|
|
4
4
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
5
|
+
export * from './sdk/scanner/Fingerprint';
|
|
6
|
+
export { IWfpProviderInput } from './sdk/scanner/WfpProvider/WfpProvider';
|
|
5
7
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
6
8
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
7
9
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
10
|
+
export * from './sdk/Dependencies/LocalDependency/LocalDependency';
|
|
8
11
|
export * from './sdk/DataLayer/DataLayerTypes';
|
|
9
12
|
export * from './sdk/DataLayer/DataProviderManager';
|
|
10
13
|
export * from './sdk/DataLayer/DataProviders/LicenseDataProvider';
|
package/build/main/index.js
CHANGED
|
@@ -14,10 +14,13 @@ __exportStar(require("./sdk/scanner/Scanner"), exports);
|
|
|
14
14
|
__exportStar(require("./sdk/scanner/ScannerTypes"), exports);
|
|
15
15
|
__exportStar(require("./sdk/scanner/ScannerCfg"), exports);
|
|
16
16
|
__exportStar(require("./sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator"), exports);
|
|
17
|
+
// *** Fingerprint exports *** //
|
|
18
|
+
__exportStar(require("./sdk/scanner/Fingerprint"), exports);
|
|
17
19
|
// *** Dependency scanner exports *** //
|
|
18
20
|
__exportStar(require("./sdk/Dependencies/DependencyTypes"), exports);
|
|
19
21
|
__exportStar(require("./sdk/Dependencies/DependencyScannerCfg"), exports);
|
|
20
22
|
__exportStar(require("./sdk/Dependencies/DependencyScanner"), exports);
|
|
23
|
+
__exportStar(require("./sdk/Dependencies/LocalDependency/LocalDependency"), exports);
|
|
21
24
|
// *** Data layers export *** //
|
|
22
25
|
__exportStar(require("./sdk/DataLayer/DataLayerTypes"), exports);
|
|
23
26
|
__exportStar(require("./sdk/DataLayer/DataProviderManager"), exports);
|
|
@@ -27,4 +30,4 @@ __exportStar(require("./sdk/DataLayer/DataProviders/DependencyDataProvider"), ex
|
|
|
27
30
|
__exportStar(require("./sdk/DataLayer/DataProviders/ComponentDataProvider"), exports);
|
|
28
31
|
// *** Unzip *** //
|
|
29
32
|
__exportStar(require("./sdk/Decompress/DecompressionManager"), exports);
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsd0ZBQXNFO0FBRXRFLGlDQUFpQztBQUNqQyw0REFBMEM7QUFHMUMsd0NBQXdDO0FBQ3hDLHFFQUFtRDtBQUNuRCwwRUFBd0Q7QUFDeEQsdUVBQXFEO0FBQ3JELHFGQUFrRTtBQUVsRSxnQ0FBZ0M7QUFDaEMsaUVBQStDO0FBQy9DLHNFQUFvRDtBQUNwRCxvRkFBa0U7QUFDbEUsb0ZBQWtFO0FBQ2xFLHVGQUFxRTtBQUNyRSxzRkFBb0U7QUFFcEUsbUJBQW1CO0FBQ25CLHdFQUFzRCJ9
|
|
@@ -99,4 +99,4 @@ class LocalDependencies {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
exports.LocalDependencies = LocalDependencies;
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0xvY2FsRGVwZW5kZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUN4Qiw0Q0FBb0I7QUFFcEIsaURBQXdEO0FBQ3hELHVEQUFrRDtBQUNsRCxtREFJNkI7QUFDN0IscURBQXdFO0FBQ3hFLHlEQUFrRTtBQUNsRSx1REFBMkU7QUFDM0UsbUVBQWdFO0FBRWhFLE1BQWEsaUJBQWlCO0lBRzVCO1FBQ0k7OztVQUdFO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLGtCQUFrQixFQUFFLDZCQUFrQjtZQUN0QyxTQUFTLEVBQUUsdUJBQVM7WUFDcEIsY0FBYyxFQUFFLHlCQUFhO1lBQzdCLG1CQUFtQixFQUFFLDZCQUFpQjtZQUN0QyxTQUFTLEVBQUUsMEJBQWE7WUFDeEIsY0FBYyxFQUFFLDhCQUFpQjtZQUNqQyxRQUFRLEVBQUUsMEJBQVc7WUFDckIsUUFBUSxFQUFFLDBCQUFXO1lBQ3JCLFdBQVcsRUFBRSwwQkFBYztZQUMzQixVQUFVLEVBQUUsMEJBQVk7WUFDeEIsaUJBQWlCLEVBQUUsa0NBQW9CO1lBQ3ZDLGNBQWMsRUFBRSxxQ0FBaUI7U0FDbEMsQ0FBQztJQUNOLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQW9CO1FBQ3RDLElBQUksT0FBTyxHQUF1QixFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUM5QyxLQUFLLE1BQU0sUUFBUSxJQUFJLEtBQUssRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBRyxjQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sTUFBTSxHQUFtQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUcsTUFBTSxJQUFJLElBQUks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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import { IWfpProviderInput } from './WfpProvider/WfpProvider';
|
|
3
|
+
export declare class Fingerprint extends EventEmitter {
|
|
4
|
+
private wfpCalculator;
|
|
5
|
+
private fingerprintPath;
|
|
6
|
+
private finishPromise;
|
|
7
|
+
private finishPromiseResolve;
|
|
8
|
+
private finishPromiseReject;
|
|
9
|
+
private queue;
|
|
10
|
+
constructor();
|
|
11
|
+
private configureWfpCalculator;
|
|
12
|
+
start(jobs: Array<IWfpProviderInput>): Promise<void>;
|
|
13
|
+
abort(): void;
|
|
14
|
+
setFingerprintPath(fingerprintsFilePath: string): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Fingerprint = void 0;
|
|
6
|
+
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
7
|
+
const os_1 = __importDefault(require("os"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const WfpCalculator_1 = require("./WfpProvider/WfpCalculator/WfpCalculator");
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const ScannerTypes_1 = require("./ScannerTypes");
|
|
12
|
+
const ScannerCfg_1 = require("./ScannerCfg");
|
|
13
|
+
class Fingerprint extends eventemitter3_1.default {
|
|
14
|
+
constructor() {
|
|
15
|
+
super();
|
|
16
|
+
this.finishPromise = new Promise((resolve, reject) => {
|
|
17
|
+
this.finishPromiseResolve = resolve;
|
|
18
|
+
this.finishPromiseReject = reject;
|
|
19
|
+
});
|
|
20
|
+
this.configureWfpCalculator();
|
|
21
|
+
}
|
|
22
|
+
configureWfpCalculator() {
|
|
23
|
+
// TODO: Maybe the fingerprints shouldn't be truncated. Determine this optimal value.
|
|
24
|
+
const cfg = new ScannerCfg_1.ScannerCfg();
|
|
25
|
+
cfg.WFP_FILE_MAX_SIZE = 10 * 1024 * 1024;
|
|
26
|
+
this.wfpCalculator = new WfpCalculator_1.WfpCalculator(cfg);
|
|
27
|
+
this.wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
28
|
+
fs_1.default.appendFileSync(this.fingerprintPath, fingerprintPackage.getContent());
|
|
29
|
+
this.emit(ScannerTypes_1.ScannerEvents.WINNOWING_NEW_CONTENT, fingerprintPackage);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async start(jobs) {
|
|
33
|
+
if (!this.fingerprintPath)
|
|
34
|
+
this.fingerprintPath = path_1.default.join(os_1.default.tmpdir(), "fingerprint-" + new Date().getTime().toString(), 'winnowing.wfp');
|
|
35
|
+
fs_1.default.mkdirSync(path_1.default.dirname(this.fingerprintPath));
|
|
36
|
+
this.queue = jobs;
|
|
37
|
+
for (const job of this.queue) {
|
|
38
|
+
this.configureWfpCalculator();
|
|
39
|
+
await this.wfpCalculator.start(job);
|
|
40
|
+
}
|
|
41
|
+
this.emit(ScannerTypes_1.ScannerEvents.WINNOWING_FINISHED);
|
|
42
|
+
}
|
|
43
|
+
abort() {
|
|
44
|
+
this.wfpCalculator.stop();
|
|
45
|
+
this.wfpCalculator = null;
|
|
46
|
+
}
|
|
47
|
+
setFingerprintPath(fingerprintsFilePath) {
|
|
48
|
+
this.fingerprintPath = fingerprintsFilePath;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.Fingerprint = Fingerprint;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvRmluZ2VycHJpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrRUFBeUM7QUFDekMsNENBQW9CO0FBQ3BCLDRDQUFvQjtBQUVwQiw2RUFBMEU7QUFDMUUsZ0RBQXdCO0FBQ3hCLGlEQUErQztBQUUvQyw2Q0FBMEM7QUFFMUMsTUFBYSxXQUFZLFNBQVEsdUJBQVk7SUFRM0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUlPLHNCQUFzQjtRQUU1QixxRkFBcUY7UUFDckYsTUFBTSxHQUFHLEdBQUcsSUFBSSx1QkFBVSxFQUFFLENBQUM7UUFDN0IsR0FBRyxDQUFDLGlCQUFpQixHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUUsSUFBSSxDQUFDO1FBRXhDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSw2QkFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRzVDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLDRCQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO1lBQ3BHLFlBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQWEsQ0FBQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO0lBR0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBOEI7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxjQUFjLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM1SSxZQUFFLENBQUMsU0FBUyxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzVCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVNLGtCQUFrQixDQUFDLG9CQUE0QjtRQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFDLG9CQUFvQixDQUFDO0lBQzVDLENBQUM7Q0FJRjtBQS9ERCxrQ0ErREMifQ==
|
|
@@ -19,7 +19,7 @@ class FingerprintPackage {
|
|
|
19
19
|
}
|
|
20
20
|
getFilesFingerprinted() {
|
|
21
21
|
const files = [];
|
|
22
|
-
const regExp = new RegExp(/,(
|
|
22
|
+
const regExp = new RegExp(/,(.?\/.*)/g);
|
|
23
23
|
let result;
|
|
24
24
|
// eslint-disable-next-line no-cond-assign
|
|
25
25
|
while ((result = regExp.exec(this.wfpContent)))
|
|
@@ -28,4 +28,4 @@ class FingerprintPackage {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.FingerprintPackage = FingerprintPackage;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnRQYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9zY2FubmVyL1dmcFByb3ZpZGVyL0ZpbmdlcnByaW50UGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQWEsa0JBQWtCO0lBSzdCLFlBQVksVUFBa0IsRUFBRSxRQUFRLEdBQUcsRUFBRTtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU0sT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBRyxDQUFDLEtBQUs7WUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsSUFBSSxNQUFNLENBQUM7UUFDWCwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBaENELGdEQWdDQyJ9
|
|
@@ -489,4 +489,4 @@ class WfpCalculator extends WfpProvider_1.WfpProvider {
|
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
491
|
exports.WfpCalculator = WfpCalculator;
|
|
492
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
492
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwQ2FsY3VsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9XZnBQcm92aWRlci9XZnBDYWxjdWxhdG9yL1dmcENhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsbURBQXdDO0FBRXhDLGlFQUE4RDtBQUM5RCxpREFBOEM7QUFHOUMsOERBQTJEO0FBQzNELGdEQUFnRTtBQUVoRSxNQUFNLFlBQVksR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMFhwQixDQUFDO0FBRUYsTUFBYSxhQUFjLFNBQVEseUJBQVc7SUFPNUMsWUFBWSxVQUFVLEdBQUcsSUFBSSx1QkFBVSxFQUFFO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUk7UUFDRixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FB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
|
|
@@ -65,4 +65,4 @@ class WfpProvider extends stream_1.EventEmitter {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.WfpProvider = WfpProvider;
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvV2ZwUHJvdmlkZXIvV2ZwUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxtQ0FBc0M7QUFFdEMsa0RBQStEO0FBQy9ELDZEQUEwRDtBQVUxRCxNQUFzQixXQUFZLFNBQVEscUJBQVk7SUFjMUMsSUFBSTtRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLGNBQWMsQ0FBQztRQUVsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxnRUFBZ0U7SUFDdEQsaUJBQWlCLENBQUMsV0FBbUI7UUFDN0Msd0ZBQXdGO1FBQ3hGLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFO1lBQzFELElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5RCxJQUFJLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNsQyxPQUFPLHNCQUFzQixFQUFFO2dCQUM3QixJQUFJLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLElBQUk7b0JBQUUsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO2dCQUNoRixxQkFBcUIsSUFBSSxDQUFDLENBQUM7YUFDNUI7WUFDRCxxQkFBcUIsSUFBSSxDQUFDLENBQUM7WUFDM0IsNkNBQTZDO1lBQzdDLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBQzlELDZDQUE2QztZQUM3QyxXQUFXLElBQUksSUFBSSxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSx1Q0FBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUV4QixJQUFHLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUdTLGVBQWUsQ0FBQyxrQkFBc0M7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyw0QkFBYSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVTLE9BQU8sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQWEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUFhLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVTLGdCQUFnQixDQUFDLElBQW1CO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFTTSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBRUY7QUExRkQsa0NBMEZDIn0=
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
"affectsGlobalScope": false
|
|
243
243
|
},
|
|
244
244
|
"../../src/sdk/scanner/WfpProvider/FingerprintPackage.ts": {
|
|
245
|
-
"version": "
|
|
245
|
+
"version": "a6d2b24c5b0f2b8eb28d87ff97a1482a8374651e17e759b6686172cc6337dc84",
|
|
246
246
|
"signature": "fcdbd897df0d409f71acff54603ac82c60467c58d3a50b3ad06bbcfb4659debb",
|
|
247
247
|
"affectsGlobalScope": false
|
|
248
248
|
},
|
|
@@ -532,7 +532,7 @@
|
|
|
532
532
|
"affectsGlobalScope": false
|
|
533
533
|
},
|
|
534
534
|
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts": {
|
|
535
|
-
"version": "
|
|
535
|
+
"version": "a72ab585e9d9362bae8b4c6790c56ab034ba58320863ad796422ac3c8240a812",
|
|
536
536
|
"signature": "eb41c57896c3a8d699482727650af00efb1bf099a90b5ebf7716a736f24f9d58",
|
|
537
537
|
"affectsGlobalScope": false
|
|
538
538
|
},
|
|
@@ -542,7 +542,7 @@
|
|
|
542
542
|
"affectsGlobalScope": false
|
|
543
543
|
},
|
|
544
544
|
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts": {
|
|
545
|
-
"version": "
|
|
545
|
+
"version": "98954facfbb76d692a32ff5c596c6f7d2bb470675625168afd60bf9eb569f432",
|
|
546
546
|
"signature": "bb0253fd3d286310519dbdf544e5969cf4b912b83b606904298427aaca31e595",
|
|
547
547
|
"affectsGlobalScope": false
|
|
548
548
|
},
|
|
@@ -556,6 +556,11 @@
|
|
|
556
556
|
"signature": "8b6c6e21d6e4c91ad92cfe30b13cb928c806b893ec1c6952cf58fc3b4ac74925",
|
|
557
557
|
"affectsGlobalScope": false
|
|
558
558
|
},
|
|
559
|
+
"../../src/sdk/scanner/Fingerprint.ts": {
|
|
560
|
+
"version": "58d7bfc550a04c519c1f43b2d45da2bd76ba53b30fb8bb258122b1eee312f51a",
|
|
561
|
+
"signature": "c06e36c638acd20c505a3eab49fa762f857fca3d64a044725c39e561a059b79a",
|
|
562
|
+
"affectsGlobalScope": false
|
|
563
|
+
},
|
|
559
564
|
"../../src/sdk/Dependencies/DependencyTypes.ts": {
|
|
560
565
|
"version": "0a16d4ae126564af99e11f1ae43689b185924c0b51d1cc9b866e640c05721719",
|
|
561
566
|
"signature": "fa91bcb631b194f93c91b8f87e8160810707c901f5913c276643cbe98fa4f799",
|
|
@@ -1037,7 +1042,7 @@
|
|
|
1037
1042
|
"affectsGlobalScope": false
|
|
1038
1043
|
},
|
|
1039
1044
|
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts": {
|
|
1040
|
-
"version": "
|
|
1045
|
+
"version": "058c86705fe28932130d0ac5d06799593d986719b38479fa2e4a716a812c8d52",
|
|
1041
1046
|
"signature": "839144fdad988ceefaf7893c3554b9a7ac98f67a736a070443e52c0f9ca77663",
|
|
1042
1047
|
"affectsGlobalScope": false
|
|
1043
1048
|
},
|
|
@@ -1147,8 +1152,8 @@
|
|
|
1147
1152
|
"affectsGlobalScope": false
|
|
1148
1153
|
},
|
|
1149
1154
|
"../../src/index.ts": {
|
|
1150
|
-
"version": "
|
|
1151
|
-
"signature": "
|
|
1155
|
+
"version": "5e3693dd6b69960dd265c1b1ea13b442ea3cedfbabeb2cf0d7a763f7129a267f",
|
|
1156
|
+
"signature": "726816f490355b60a1123e07a90618e0a6bc8776bc493bd4edf49e1616fb250c",
|
|
1152
1157
|
"affectsGlobalScope": false
|
|
1153
1158
|
},
|
|
1154
1159
|
"../../node_modules/commander/typings/index.d.ts": {
|
|
@@ -2375,10 +2380,13 @@
|
|
|
2375
2380
|
"../../src/sdk/Dependencies/DependencyScanner.ts",
|
|
2376
2381
|
"../../src/sdk/Dependencies/DependencyScannerCfg.ts",
|
|
2377
2382
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2383
|
+
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts",
|
|
2384
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
2378
2385
|
"../../src/sdk/scanner/Scanner.ts",
|
|
2379
2386
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
2380
2387
|
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
2381
|
-
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts"
|
|
2388
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
2389
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
2382
2390
|
],
|
|
2383
2391
|
"../../src/sdk/DataLayer/DataLayerTypes.ts": [
|
|
2384
2392
|
"../../node_modules/@types/node/util.d.ts"
|
|
@@ -2614,6 +2622,18 @@
|
|
|
2614
2622
|
"../../node_modules/@types/node/util.d.ts",
|
|
2615
2623
|
"../../node_modules/abort-controller/dist/abort-controller.d.ts"
|
|
2616
2624
|
],
|
|
2625
|
+
"../../src/sdk/scanner/Fingerprint.ts": [
|
|
2626
|
+
"../../node_modules/@types/node/fs.d.ts",
|
|
2627
|
+
"../../node_modules/@types/node/os.d.ts",
|
|
2628
|
+
"../../node_modules/@types/node/path.d.ts",
|
|
2629
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2630
|
+
"../../node_modules/eventemitter3/index.d.ts",
|
|
2631
|
+
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
2632
|
+
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
2633
|
+
"../../src/sdk/scanner/WfpProvider/FingerprintPackage.ts",
|
|
2634
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
2635
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
2636
|
+
],
|
|
2617
2637
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts": [
|
|
2618
2638
|
"../../node_modules/@types/node/util.d.ts",
|
|
2619
2639
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
@@ -3750,10 +3770,13 @@
|
|
|
3750
3770
|
"../../src/sdk/Dependencies/DependencyScanner.ts",
|
|
3751
3771
|
"../../src/sdk/Dependencies/DependencyScannerCfg.ts",
|
|
3752
3772
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
3773
|
+
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts",
|
|
3774
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
3753
3775
|
"../../src/sdk/scanner/Scanner.ts",
|
|
3754
3776
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
3755
3777
|
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
3756
|
-
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts"
|
|
3778
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
3779
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
3757
3780
|
],
|
|
3758
3781
|
"../../src/sdk/DataLayer/DataProviderManager.ts": [
|
|
3759
3782
|
"../../src/sdk/DataLayer/DataLayerTypes.ts"
|
|
@@ -3874,6 +3897,10 @@
|
|
|
3874
3897
|
"../../src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts": [
|
|
3875
3898
|
"../../node_modules/abort-controller/dist/abort-controller.d.ts"
|
|
3876
3899
|
],
|
|
3900
|
+
"../../src/sdk/scanner/Fingerprint.ts": [
|
|
3901
|
+
"../../node_modules/eventemitter3/index.d.ts",
|
|
3902
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
3903
|
+
],
|
|
3877
3904
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts": [
|
|
3878
3905
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
3879
3906
|
],
|
|
@@ -4166,6 +4193,7 @@
|
|
|
4166
4193
|
"../../src/sdk/scanner/Dispatcher/Dispatcher.ts",
|
|
4167
4194
|
"../../src/sdk/scanner/Dispatcher/DispatcherResponse.ts",
|
|
4168
4195
|
"../../src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts",
|
|
4196
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
4169
4197
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts",
|
|
4170
4198
|
"../../src/sdk/scanner/Scanner.ts",
|
|
4171
4199
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
package/build/module/index.d.ts
CHANGED
|
@@ -2,9 +2,12 @@ export * from './sdk/scanner/Scanner';
|
|
|
2
2
|
export * from './sdk/scanner/ScannerTypes';
|
|
3
3
|
export * from './sdk/scanner/ScannerCfg';
|
|
4
4
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
5
|
+
export * from './sdk/scanner/Fingerprint';
|
|
6
|
+
export { IWfpProviderInput } from './sdk/scanner/WfpProvider/WfpProvider';
|
|
5
7
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
6
8
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
7
9
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
10
|
+
export * from './sdk/Dependencies/LocalDependency/LocalDependency';
|
|
8
11
|
export * from './sdk/DataLayer/DataLayerTypes';
|
|
9
12
|
export * from './sdk/DataLayer/DataProviderManager';
|
|
10
13
|
export * from './sdk/DataLayer/DataProviders/LicenseDataProvider';
|
package/build/module/index.js
CHANGED
|
@@ -3,10 +3,13 @@ export * from './sdk/scanner/Scanner';
|
|
|
3
3
|
export * from './sdk/scanner/ScannerTypes';
|
|
4
4
|
export * from './sdk/scanner/ScannerCfg';
|
|
5
5
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
6
|
+
// *** Fingerprint exports *** //
|
|
7
|
+
export * from './sdk/scanner/Fingerprint';
|
|
6
8
|
// *** Dependency scanner exports *** //
|
|
7
9
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
8
10
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
9
11
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
12
|
+
export * from './sdk/Dependencies/LocalDependency/LocalDependency';
|
|
10
13
|
// *** Data layers export *** //
|
|
11
14
|
export * from './sdk/DataLayer/DataLayerTypes';
|
|
12
15
|
export * from './sdk/DataLayer/DataProviderManager';
|
|
@@ -16,4 +19,4 @@ export * from './sdk/DataLayer/DataProviders/DependencyDataProvider';
|
|
|
16
19
|
export * from './sdk/DataLayer/DataProviders/ComponentDataProvider';
|
|
17
20
|
// *** Unzip *** //
|
|
18
21
|
export * from './sdk/Decompress/DecompressionManager';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdURBQXVELENBQUM7QUFFdEUsaUNBQWlDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUM7QUFHMUMsd0NBQXdDO0FBQ3hDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsb0RBQW9ELENBQUE7QUFFbEUsZ0NBQWdDO0FBQ2hDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLG1CQUFtQjtBQUNuQixjQUFjLHVDQUF1QyxDQUFDIn0=
|
|
@@ -93,4 +93,4 @@ export class LocalDependencies {
|
|
|
93
93
|
return iPattern >= pattern.length ? true : false;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0xvY2FsRGVwZW5kZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXBCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixjQUFjLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFaEUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QjtRQUNJOzs7VUFHRTtRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsU0FBUyxFQUFFLFNBQVM7WUFDcEIsY0FBYyxFQUFFLGFBQWE7WUFDN0IsbUJBQW1CLEVBQUUsaUJBQWlCO1lBQ3RDLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLGNBQWMsRUFBRSxpQkFBaUI7WUFDakMsUUFBUSxFQUFFLFdBQVc7WUFDckIsUUFBUSxFQUFFLFdBQVc7WUFDckIsV0FBVyxFQUFFLGNBQWM7WUFDM0IsVUFBVSxFQUFFLFlBQVk7WUFDeEIsaUJBQWlCLEVBQUUsb0JBQW9CO1lB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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import { IWfpProviderInput } from './WfpProvider/WfpProvider';
|
|
3
|
+
export declare class Fingerprint extends EventEmitter {
|
|
4
|
+
private wfpCalculator;
|
|
5
|
+
private fingerprintPath;
|
|
6
|
+
private finishPromise;
|
|
7
|
+
private finishPromiseResolve;
|
|
8
|
+
private finishPromiseReject;
|
|
9
|
+
private queue;
|
|
10
|
+
constructor();
|
|
11
|
+
private configureWfpCalculator;
|
|
12
|
+
start(jobs: Array<IWfpProviderInput>): Promise<void>;
|
|
13
|
+
abort(): void;
|
|
14
|
+
setFingerprintPath(fingerprintsFilePath: string): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import { WfpCalculator } from './WfpProvider/WfpCalculator/WfpCalculator';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import { ScannerEvents } from './ScannerTypes';
|
|
7
|
+
import { ScannerCfg } from './ScannerCfg';
|
|
8
|
+
export class Fingerprint extends EventEmitter {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.finishPromise = new Promise((resolve, reject) => {
|
|
12
|
+
this.finishPromiseResolve = resolve;
|
|
13
|
+
this.finishPromiseReject = reject;
|
|
14
|
+
});
|
|
15
|
+
this.configureWfpCalculator();
|
|
16
|
+
}
|
|
17
|
+
configureWfpCalculator() {
|
|
18
|
+
// TODO: Maybe the fingerprints shouldn't be truncated. Determine this optimal value.
|
|
19
|
+
const cfg = new ScannerCfg();
|
|
20
|
+
cfg.WFP_FILE_MAX_SIZE = 10 * 1024 * 1024;
|
|
21
|
+
this.wfpCalculator = new WfpCalculator(cfg);
|
|
22
|
+
this.wfpCalculator.on(ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
23
|
+
fs.appendFileSync(this.fingerprintPath, fingerprintPackage.getContent());
|
|
24
|
+
this.emit(ScannerEvents.WINNOWING_NEW_CONTENT, fingerprintPackage);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async start(jobs) {
|
|
28
|
+
if (!this.fingerprintPath)
|
|
29
|
+
this.fingerprintPath = path.join(os.tmpdir(), "fingerprint-" + new Date().getTime().toString(), 'winnowing.wfp');
|
|
30
|
+
fs.mkdirSync(path.dirname(this.fingerprintPath));
|
|
31
|
+
this.queue = jobs;
|
|
32
|
+
for (const job of this.queue) {
|
|
33
|
+
this.configureWfpCalculator();
|
|
34
|
+
await this.wfpCalculator.start(job);
|
|
35
|
+
}
|
|
36
|
+
this.emit(ScannerEvents.WINNOWING_FINISHED);
|
|
37
|
+
}
|
|
38
|
+
abort() {
|
|
39
|
+
this.wfpCalculator.stop();
|
|
40
|
+
this.wfpCalculator = null;
|
|
41
|
+
}
|
|
42
|
+
setFingerprintPath(fingerprintsFilePath) {
|
|
43
|
+
this.fingerprintPath = fingerprintsFilePath;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvRmluZ2VycHJpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFlBQVk7SUFRM0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUlPLHNCQUFzQjtRQUU1QixxRkFBcUY7UUFDckYsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM3QixHQUFHLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRSxJQUFJLENBQUM7UUFFeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUc1QyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO1lBQ3BHLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFHTCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUE4QjtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLGNBQWMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVJLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUVsQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxvQkFBNEI7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBQyxvQkFBb0IsQ0FBQztJQUM1QyxDQUFDO0NBSUYifQ==
|
|
@@ -17,7 +17,7 @@ export class FingerprintPackage {
|
|
|
17
17
|
}
|
|
18
18
|
getFilesFingerprinted() {
|
|
19
19
|
const files = [];
|
|
20
|
-
const regExp = new RegExp(/,(
|
|
20
|
+
const regExp = new RegExp(/,(.?\/.*)/g);
|
|
21
21
|
let result;
|
|
22
22
|
// eslint-disable-next-line no-cond-assign
|
|
23
23
|
while ((result = regExp.exec(this.wfpContent)))
|
|
@@ -25,4 +25,4 @@ export class FingerprintPackage {
|
|
|
25
25
|
return files || '';
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnRQYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9zY2FubmVyL1dmcFByb3ZpZGVyL0ZpbmdlcnByaW50UGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQVksVUFBa0IsRUFBRSxRQUFRLEdBQUcsRUFBRTtRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU0sT0FBTyxDQUFDLGtCQUFzQztRQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBRyxDQUFDLEtBQUs7WUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsSUFBSSxNQUFNLENBQUM7UUFDWCwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
|
|
@@ -483,4 +483,4 @@ export class WfpCalculator extends WfpProvider {
|
|
|
483
483
|
this.init();
|
|
484
484
|
}
|
|
485
485
|
}
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
486
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwQ2FsY3VsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9XZnBQcm92aWRlci9XZnBDYWxjdWxhdG9yL1dmcENhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBYcEIsQ0FBQztBQUVGLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQU81QyxZQUFZLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRTtRQUN2QyxL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
|
|
@@ -62,4 +62,4 @@ export class WfpProvider extends EventEmitter {
|
|
|
62
62
|
return this.pendingFiles;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvV2ZwUHJvdmlkZXIvV2ZwUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBVTFELE1BQU0sT0FBZ0IsV0FBWSxTQUFRLFlBQVk7SUFjMUMsSUFBSTtRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsY0FBYyxDQUFDO1FBRWxELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELGdFQUFnRTtJQUN0RCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUM3Qyx3RkFBd0Y7UUFDeEYsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDMUQsSUFBSSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO1lBQzlELElBQUksc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE9BQU8sc0JBQXNCLEVBQUU7Z0JBQzdCLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLEtBQUssSUFBSTtvQkFBRSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7Z0JBQ2hGLHFCQUFxQixJQUFJLENBQUMsQ0FBQzthQUM1QjtZQUNELHFCQUFxQixJQUFJLENBQUMsQ0FBQztZQUMzQiw2Q0FBNkM7WUFDN0MsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDOUQsNkNBQTZDO1lBQzdDLFdBQVcsSUFBSSxJQUFJLENBQUM7U0FDckI7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7U0FDZjtRQUNELElBQUksQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDO1FBRXhCLElBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVMsZUFBZTtRQUN2QixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFHUyxlQUFlLENBQUMsa0JBQXNDO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVTLE9BQU8sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsU0FBUyxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxJQUFtQjtRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBU00sZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUVGIn0=
|
|
@@ -242,7 +242,7 @@
|
|
|
242
242
|
"affectsGlobalScope": false
|
|
243
243
|
},
|
|
244
244
|
"../../src/sdk/scanner/WfpProvider/FingerprintPackage.ts": {
|
|
245
|
-
"version": "
|
|
245
|
+
"version": "a6d2b24c5b0f2b8eb28d87ff97a1482a8374651e17e759b6686172cc6337dc84",
|
|
246
246
|
"signature": "fcdbd897df0d409f71acff54603ac82c60467c58d3a50b3ad06bbcfb4659debb",
|
|
247
247
|
"affectsGlobalScope": false
|
|
248
248
|
},
|
|
@@ -532,7 +532,7 @@
|
|
|
532
532
|
"affectsGlobalScope": false
|
|
533
533
|
},
|
|
534
534
|
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts": {
|
|
535
|
-
"version": "
|
|
535
|
+
"version": "a72ab585e9d9362bae8b4c6790c56ab034ba58320863ad796422ac3c8240a812",
|
|
536
536
|
"signature": "eb41c57896c3a8d699482727650af00efb1bf099a90b5ebf7716a736f24f9d58",
|
|
537
537
|
"affectsGlobalScope": false
|
|
538
538
|
},
|
|
@@ -542,7 +542,7 @@
|
|
|
542
542
|
"affectsGlobalScope": false
|
|
543
543
|
},
|
|
544
544
|
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts": {
|
|
545
|
-
"version": "
|
|
545
|
+
"version": "98954facfbb76d692a32ff5c596c6f7d2bb470675625168afd60bf9eb569f432",
|
|
546
546
|
"signature": "bb0253fd3d286310519dbdf544e5969cf4b912b83b606904298427aaca31e595",
|
|
547
547
|
"affectsGlobalScope": false
|
|
548
548
|
},
|
|
@@ -556,6 +556,11 @@
|
|
|
556
556
|
"signature": "8b6c6e21d6e4c91ad92cfe30b13cb928c806b893ec1c6952cf58fc3b4ac74925",
|
|
557
557
|
"affectsGlobalScope": false
|
|
558
558
|
},
|
|
559
|
+
"../../src/sdk/scanner/Fingerprint.ts": {
|
|
560
|
+
"version": "58d7bfc550a04c519c1f43b2d45da2bd76ba53b30fb8bb258122b1eee312f51a",
|
|
561
|
+
"signature": "c06e36c638acd20c505a3eab49fa762f857fca3d64a044725c39e561a059b79a",
|
|
562
|
+
"affectsGlobalScope": false
|
|
563
|
+
},
|
|
559
564
|
"../../src/sdk/Dependencies/DependencyTypes.ts": {
|
|
560
565
|
"version": "0a16d4ae126564af99e11f1ae43689b185924c0b51d1cc9b866e640c05721719",
|
|
561
566
|
"signature": "fa91bcb631b194f93c91b8f87e8160810707c901f5913c276643cbe98fa4f799",
|
|
@@ -1037,7 +1042,7 @@
|
|
|
1037
1042
|
"affectsGlobalScope": false
|
|
1038
1043
|
},
|
|
1039
1044
|
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts": {
|
|
1040
|
-
"version": "
|
|
1045
|
+
"version": "058c86705fe28932130d0ac5d06799593d986719b38479fa2e4a716a812c8d52",
|
|
1041
1046
|
"signature": "839144fdad988ceefaf7893c3554b9a7ac98f67a736a070443e52c0f9ca77663",
|
|
1042
1047
|
"affectsGlobalScope": false
|
|
1043
1048
|
},
|
|
@@ -1147,8 +1152,8 @@
|
|
|
1147
1152
|
"affectsGlobalScope": false
|
|
1148
1153
|
},
|
|
1149
1154
|
"../../src/index.ts": {
|
|
1150
|
-
"version": "
|
|
1151
|
-
"signature": "
|
|
1155
|
+
"version": "5e3693dd6b69960dd265c1b1ea13b442ea3cedfbabeb2cf0d7a763f7129a267f",
|
|
1156
|
+
"signature": "726816f490355b60a1123e07a90618e0a6bc8776bc493bd4edf49e1616fb250c",
|
|
1152
1157
|
"affectsGlobalScope": false
|
|
1153
1158
|
},
|
|
1154
1159
|
"../../node_modules/commander/typings/index.d.ts": {
|
|
@@ -2375,10 +2380,13 @@
|
|
|
2375
2380
|
"../../src/sdk/Dependencies/DependencyScanner.ts",
|
|
2376
2381
|
"../../src/sdk/Dependencies/DependencyScannerCfg.ts",
|
|
2377
2382
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
2383
|
+
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts",
|
|
2384
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
2378
2385
|
"../../src/sdk/scanner/Scanner.ts",
|
|
2379
2386
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
2380
2387
|
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
2381
|
-
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts"
|
|
2388
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
2389
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
2382
2390
|
],
|
|
2383
2391
|
"../../src/sdk/DataLayer/DataLayerTypes.ts": [
|
|
2384
2392
|
"../../node_modules/@types/node/util.d.ts"
|
|
@@ -2614,6 +2622,18 @@
|
|
|
2614
2622
|
"../../node_modules/@types/node/util.d.ts",
|
|
2615
2623
|
"../../node_modules/abort-controller/dist/abort-controller.d.ts"
|
|
2616
2624
|
],
|
|
2625
|
+
"../../src/sdk/scanner/Fingerprint.ts": [
|
|
2626
|
+
"../../node_modules/@types/node/fs.d.ts",
|
|
2627
|
+
"../../node_modules/@types/node/os.d.ts",
|
|
2628
|
+
"../../node_modules/@types/node/path.d.ts",
|
|
2629
|
+
"../../node_modules/@types/node/util.d.ts",
|
|
2630
|
+
"../../node_modules/eventemitter3/index.d.ts",
|
|
2631
|
+
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
2632
|
+
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
2633
|
+
"../../src/sdk/scanner/WfpProvider/FingerprintPackage.ts",
|
|
2634
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
2635
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
2636
|
+
],
|
|
2617
2637
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts": [
|
|
2618
2638
|
"../../node_modules/@types/node/util.d.ts",
|
|
2619
2639
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
@@ -3750,10 +3770,13 @@
|
|
|
3750
3770
|
"../../src/sdk/Dependencies/DependencyScanner.ts",
|
|
3751
3771
|
"../../src/sdk/Dependencies/DependencyScannerCfg.ts",
|
|
3752
3772
|
"../../src/sdk/Dependencies/DependencyTypes.ts",
|
|
3773
|
+
"../../src/sdk/Dependencies/LocalDependency/LocalDependency.ts",
|
|
3774
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
3753
3775
|
"../../src/sdk/scanner/Scanner.ts",
|
|
3754
3776
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
|
3755
3777
|
"../../src/sdk/scanner/ScannerTypes.ts",
|
|
3756
|
-
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts"
|
|
3778
|
+
"../../src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts",
|
|
3779
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
3757
3780
|
],
|
|
3758
3781
|
"../../src/sdk/DataLayer/DataProviderManager.ts": [
|
|
3759
3782
|
"../../src/sdk/DataLayer/DataLayerTypes.ts"
|
|
@@ -3874,6 +3897,10 @@
|
|
|
3874
3897
|
"../../src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts": [
|
|
3875
3898
|
"../../node_modules/abort-controller/dist/abort-controller.d.ts"
|
|
3876
3899
|
],
|
|
3900
|
+
"../../src/sdk/scanner/Fingerprint.ts": [
|
|
3901
|
+
"../../node_modules/eventemitter3/index.d.ts",
|
|
3902
|
+
"../../src/sdk/scanner/WfpProvider/WfpProvider.ts"
|
|
3903
|
+
],
|
|
3877
3904
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts": [
|
|
3878
3905
|
"../../src/sdk/scanner/ScannerTypes.ts"
|
|
3879
3906
|
],
|
|
@@ -4166,6 +4193,7 @@
|
|
|
4166
4193
|
"../../src/sdk/scanner/Dispatcher/Dispatcher.ts",
|
|
4167
4194
|
"../../src/sdk/scanner/Dispatcher/DispatcherResponse.ts",
|
|
4168
4195
|
"../../src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts",
|
|
4196
|
+
"../../src/sdk/scanner/Fingerprint.ts",
|
|
4169
4197
|
"../../src/sdk/scanner/Scannable/ScannableItem.ts",
|
|
4170
4198
|
"../../src/sdk/scanner/Scanner.ts",
|
|
4171
4199
|
"../../src/sdk/scanner/ScannerCfg.ts",
|
package/package.json
CHANGED
package/src/cli/bin/cli-bin.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -4,11 +4,15 @@ export * from './sdk/scanner/ScannerTypes';
|
|
|
4
4
|
export * from './sdk/scanner/ScannerCfg';
|
|
5
5
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
6
6
|
|
|
7
|
+
// *** Fingerprint exports *** //
|
|
8
|
+
export * from './sdk/scanner/Fingerprint';
|
|
9
|
+
export {IWfpProviderInput} from './sdk/scanner/WfpProvider/WfpProvider';
|
|
10
|
+
|
|
7
11
|
// *** Dependency scanner exports *** //
|
|
8
12
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
9
13
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
10
14
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
11
|
-
|
|
15
|
+
export * from './sdk/Dependencies/LocalDependency/LocalDependency'
|
|
12
16
|
|
|
13
17
|
// *** Data layers export *** //
|
|
14
18
|
export * from './sdk/DataLayer/DataLayerTypes';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import { IWfpProviderInput, WfpProvider } from './WfpProvider/WfpProvider';
|
|
5
|
+
import { WfpCalculator } from './WfpProvider/WfpCalculator/WfpCalculator';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { ScannerEvents } from './ScannerTypes';
|
|
8
|
+
import { FingerprintPackage } from './WfpProvider/FingerprintPackage';
|
|
9
|
+
import { ScannerCfg } from './ScannerCfg';
|
|
10
|
+
|
|
11
|
+
export class Fingerprint extends EventEmitter {
|
|
12
|
+
private wfpCalculator: WfpProvider;
|
|
13
|
+
private fingerprintPath: string;
|
|
14
|
+
private finishPromise: Promise<void>;
|
|
15
|
+
private finishPromiseResolve: (value?: (void | PromiseLike<void>)) => void;
|
|
16
|
+
private finishPromiseReject: (value?: (void | PromiseLike<void>)) => void;
|
|
17
|
+
|
|
18
|
+
private queue: Array<IWfpProviderInput>;
|
|
19
|
+
constructor() {
|
|
20
|
+
super();
|
|
21
|
+
|
|
22
|
+
this.finishPromise = new Promise((resolve, reject) =>{
|
|
23
|
+
this.finishPromiseResolve = resolve;
|
|
24
|
+
this.finishPromiseReject = reject;
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
this.configureWfpCalculator();
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
private configureWfpCalculator() {
|
|
33
|
+
|
|
34
|
+
// TODO: Maybe the fingerprints shouldn't be truncated. Determine this optimal value.
|
|
35
|
+
const cfg = new ScannerCfg();
|
|
36
|
+
cfg.WFP_FILE_MAX_SIZE = 10 * 1024 *1024;
|
|
37
|
+
|
|
38
|
+
this.wfpCalculator = new WfpCalculator(cfg);
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
this.wfpCalculator.on(ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage: FingerprintPackage) => {
|
|
42
|
+
fs.appendFileSync(this.fingerprintPath, fingerprintPackage.getContent());
|
|
43
|
+
this.emit(ScannerEvents.WINNOWING_NEW_CONTENT, fingerprintPackage);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public async start(jobs: Array<IWfpProviderInput>): Promise<void> {
|
|
50
|
+
if (!this.fingerprintPath) this.fingerprintPath = path.join(os.tmpdir(), "fingerprint-" + new Date().getTime().toString(), 'winnowing.wfp');
|
|
51
|
+
fs.mkdirSync(path.dirname(this.fingerprintPath));
|
|
52
|
+
|
|
53
|
+
this.queue = jobs;
|
|
54
|
+
|
|
55
|
+
for (const job of this.queue) {
|
|
56
|
+
this.configureWfpCalculator();
|
|
57
|
+
await this.wfpCalculator.start(job);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
this.emit(ScannerEvents.WINNOWING_FINISHED);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public abort() {
|
|
64
|
+
this.wfpCalculator.stop();
|
|
65
|
+
this.wfpCalculator=null;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public setFingerprintPath(fingerprintsFilePath: string) {
|
|
69
|
+
this.fingerprintPath=fingerprintsFilePath;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
}
|
|
@@ -24,7 +24,7 @@ export class FingerprintPackage {
|
|
|
24
24
|
|
|
25
25
|
public getFilesFingerprinted() {
|
|
26
26
|
const files = [];
|
|
27
|
-
const regExp = new RegExp(/,(
|
|
27
|
+
const regExp = new RegExp(/,(.?\/.*)/g);
|
|
28
28
|
let result;
|
|
29
29
|
// eslint-disable-next-line no-cond-assign
|
|
30
30
|
while ((result = regExp.exec(this.wfpContent))) files.push(this.scanRoot + result[1]);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
2
|
import { EventEmitter } from "stream";
|
|
3
3
|
import { ScannerCfg } from "../ScannerCfg";
|
|
4
|
-
import { ScannerEvents,
|
|
4
|
+
import { ScannerEvents, WinnowingMode } from "../ScannerTypes";
|
|
5
5
|
import { FingerprintPackage } from "./FingerprintPackage";
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
export interface IWfpProviderInput {
|
|
9
9
|
wfpPath?: string;
|
|
10
|
-
folderRoot?: string;
|
|
10
|
+
folderRoot?: string; //This string is being removed from the fingerprint results paths
|
|
11
11
|
fileList?: Array<string>;
|
|
12
12
|
winnowingMode?: WinnowingMode; // Enable winnowing algorithm, otherwise is scanned only MD5
|
|
13
13
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function fingerprintHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
-
};
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.fingerprintHandler = void 0;
|
|
6
|
-
const fs_1 = __importDefault(require("fs"));
|
|
7
|
-
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
8
|
-
const helpers_1 = require("./helpers");
|
|
9
|
-
const ScannerTypes_1 = require("../../sdk/scanner/ScannerTypes");
|
|
10
|
-
const WfpCalculator_1 = require("../../sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator");
|
|
11
|
-
const Tree_1 = require("../../sdk/tree/Tree");
|
|
12
|
-
const DependencyFilter_1 = require("../../sdk/tree/Filters/DependencyFilter");
|
|
13
|
-
async function fingerprintHandler(rootPath, options) {
|
|
14
|
-
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
15
|
-
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
16
|
-
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
17
|
-
const wfpCalculator = new WfpCalculator_1.WfpCalculator();
|
|
18
|
-
let filesToFingerprint = [];
|
|
19
|
-
if (pathIsFolder) {
|
|
20
|
-
const tree = new Tree_1.Tree(rootPath);
|
|
21
|
-
tree.build();
|
|
22
|
-
filesToFingerprint = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
filesToFingerprint.push(rootPath);
|
|
26
|
-
}
|
|
27
|
-
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
28
|
-
const bar1 = new cli_progress_1.default.SingleBar(optBar1, cli_progress_1.default.Presets.shades_classic);
|
|
29
|
-
bar1.start(filesToFingerprint.length, 0);
|
|
30
|
-
let fingerprints = '';
|
|
31
|
-
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
32
|
-
bar1.increment(fingerprintPackage.getNumberFilesFingerprinted());
|
|
33
|
-
fingerprints = fingerprints.concat(fingerprintPackage.getContent());
|
|
34
|
-
});
|
|
35
|
-
if (options.verbose)
|
|
36
|
-
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWER_LOG, (log) => {
|
|
37
|
-
console.error(log);
|
|
38
|
-
});
|
|
39
|
-
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_FINISHED, () => {
|
|
40
|
-
bar1.stop();
|
|
41
|
-
if (options.output) {
|
|
42
|
-
fs_1.default.writeFileSync(options.output, fingerprints);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
console.log(fingerprints);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
const wfpInput = { fileList: filesToFingerprint, folderRoot: rootPath };
|
|
49
|
-
if (options.hpsm)
|
|
50
|
-
wfpInput.winnowingMode = ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
51
|
-
wfpCalculator.start(wfpInput);
|
|
52
|
-
}
|
|
53
|
-
exports.fingerprintHandler = fingerprintHandler;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpL2NvbW1hbmRzL2ZpbmdlcnByaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBRXBCLGdFQUF1QztBQUV2Qyx1Q0FBcUM7QUFDckMsaUVBQThFO0FBRTlFLDZGQUEwRjtBQUUxRiw4Q0FBMkM7QUFDM0MsOEVBQTJFO0FBR3BFLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFFckUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLEVBQUUsQ0FBQztJQUUxQyxJQUFJLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUNBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNqRTtTQUFNO1FBQ0wsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQ2xDO0lBR0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUseUZBQXlGLEVBQUUsQ0FBQztJQUN0SCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsYUFBYSxDQUFDLEVBQUUsQ0FBQyw0QkFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsa0JBQXNDLEVBQUUsRUFBRTtRQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNqRSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBRSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBRSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxPQUFPLENBQUMsT0FBTztRQUNqQixhQUFhLENBQUMsRUFBRSxDQUFDLDRCQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUVMLGFBQWEsQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pCLFlBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQXNCLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQTtJQUN4RixJQUFHLE9BQU8sQ0FBQyxJQUFJO1FBQUUsUUFBUSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLG1CQUFtQixDQUFDO0lBQzVFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFHaEMsQ0FBQztBQTlDRCxnREE4Q0MifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function fingerprintHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import cliProgress from 'cli-progress';
|
|
3
|
-
import { isFolder } from './helpers';
|
|
4
|
-
import { ScannerEvents, WinnowingMode } from '../../sdk/scanner/ScannerTypes';
|
|
5
|
-
import { WfpCalculator } from '../../sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
6
|
-
import { Tree } from '../../sdk/tree/Tree';
|
|
7
|
-
import { DependencyFilter } from '../../sdk/tree/Filters/DependencyFilter';
|
|
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
|
-
let filesToFingerprint = [];
|
|
14
|
-
if (pathIsFolder) {
|
|
15
|
-
const tree = new Tree(rootPath);
|
|
16
|
-
tree.build();
|
|
17
|
-
filesToFingerprint = tree.getFileList(new DependencyFilter(""));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
filesToFingerprint.push(rootPath);
|
|
21
|
-
}
|
|
22
|
-
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
23
|
-
const bar1 = new cliProgress.SingleBar(optBar1, cliProgress.Presets.shades_classic);
|
|
24
|
-
bar1.start(filesToFingerprint.length, 0);
|
|
25
|
-
let fingerprints = '';
|
|
26
|
-
wfpCalculator.on(ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
27
|
-
bar1.increment(fingerprintPackage.getNumberFilesFingerprinted());
|
|
28
|
-
fingerprints = fingerprints.concat(fingerprintPackage.getContent());
|
|
29
|
-
});
|
|
30
|
-
if (options.verbose)
|
|
31
|
-
wfpCalculator.on(ScannerEvents.WINNOWER_LOG, (log) => {
|
|
32
|
-
console.error(log);
|
|
33
|
-
});
|
|
34
|
-
wfpCalculator.on(ScannerEvents.WINNOWING_FINISHED, () => {
|
|
35
|
-
bar1.stop();
|
|
36
|
-
if (options.output) {
|
|
37
|
-
fs.writeFileSync(options.output, fingerprints);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
console.log(fingerprints);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
const wfpInput = { fileList: filesToFingerprint, folderRoot: rootPath };
|
|
44
|
-
if (options.hpsm)
|
|
45
|
-
wfpInput.winnowingMode = WinnowingMode.FULL_WINNOWING_HPSM;
|
|
46
|
-
wfpCalculator.start(wfpInput);
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpL2NvbW1hbmRzL2ZpbmdlcnByaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUM7QUFFdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUUxRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHM0UsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFFckUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFFMUMsSUFBSSxrQkFBa0IsR0FBYSxFQUFFLENBQUM7SUFDdEMsSUFBSSxZQUFZLEVBQUU7UUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2Isa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDakU7U0FBTTtRQUNMLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtLQUNsQztJQUdELE1BQU0sT0FBTyxHQUFHLEVBQUUsTUFBTSxFQUFFLHlGQUF5RixFQUFFLENBQUM7SUFDdEgsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpDLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN0QixhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFzQyxFQUFFLEVBQUU7UUFDL0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7UUFDakUsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUUsQ0FBQztJQUN4RSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxDQUFDLE9BQU87UUFDakIsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUVMLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUN0RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDakIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2hEO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFFBQVEsR0FBc0IsRUFBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxDQUFBO0lBQ3hGLElBQUcsT0FBTyxDQUFDLElBQUk7UUFBRSxRQUFRLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztJQUM1RSxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBR2hDLENBQUMifQ==
|