snyk-cpp-plugin 2.16.2 → 2.16.3
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/dist/common.d.ts +2 -2
- package/dist/common.js +3 -3
- package/dist/common.js.map +1 -1
- package/dist/extract.d.ts +0 -1
- package/dist/extract.js +19 -14
- package/dist/extract.js.map +1 -1
- package/dist/find.d.ts +1 -1
- package/dist/find.js +9 -3
- package/dist/find.js.map +1 -1
- package/dist/scan.js +21 -22
- package/dist/scan.js.map +1 -1
- package/package.json +4 -2
package/dist/common.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export declare const isWindowsOS: () => boolean;
|
|
|
2
2
|
export declare const MAX_SUPPORTED_FILE_SIZE: number;
|
|
3
3
|
export declare const HASHING_CONCURRENCY_LEVEL: number;
|
|
4
4
|
export declare const DECOMPRESSING_CONCURRENCY_LEVEL: number;
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
5
|
+
export declare const DECOMPRESSING_WORKSPACE_DIR = "workspace";
|
|
6
|
+
export declare const DECOMPRESSING_IGNORE_DIR = "ignore";
|
|
7
7
|
export declare const isSupportedSize: (size: number) => boolean;
|
package/dist/common.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isSupportedSize = exports.
|
|
3
|
+
exports.isSupportedSize = exports.DECOMPRESSING_IGNORE_DIR = exports.DECOMPRESSING_WORKSPACE_DIR = exports.DECOMPRESSING_CONCURRENCY_LEVEL = exports.HASHING_CONCURRENCY_LEVEL = exports.MAX_SUPPORTED_FILE_SIZE = exports.isWindowsOS = void 0;
|
|
4
4
|
const os = require("os");
|
|
5
5
|
const osName = require('os-name');
|
|
6
6
|
exports.isWindowsOS = () => osName()
|
|
@@ -9,7 +9,7 @@ exports.isWindowsOS = () => osName()
|
|
|
9
9
|
exports.MAX_SUPPORTED_FILE_SIZE = 2 * 1024 * 1024 * 1024 - 1;
|
|
10
10
|
exports.HASHING_CONCURRENCY_LEVEL = os.cpus().length;
|
|
11
11
|
exports.DECOMPRESSING_CONCURRENCY_LEVEL = os.cpus().length * 8;
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
12
|
+
exports.DECOMPRESSING_WORKSPACE_DIR = 'workspace';
|
|
13
|
+
exports.DECOMPRESSING_IGNORE_DIR = 'ignore';
|
|
14
14
|
exports.isSupportedSize = (size) => 0 < size && size < exports.MAX_SUPPORTED_FILE_SIZE;
|
|
15
15
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../lib/common.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAErB,QAAA,WAAW,GAAG,GAAY,EAAE,CACvC,MAAM,EAAE;KACL,WAAW,EAAE;KACb,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEjB,QAAA,uBAAuB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;AAE7D,QAAA,yBAAyB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAE7C,QAAA,+BAA+B,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAEvD,QAAA,2BAA2B,GAAG,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../lib/common.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAErB,QAAA,WAAW,GAAG,GAAY,EAAE,CACvC,MAAM,EAAE;KACL,WAAW,EAAE;KACb,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAEjB,QAAA,uBAAuB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;AAE7D,QAAA,yBAAyB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAE7C,QAAA,+BAA+B,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAEvD,QAAA,2BAA2B,GAAG,WAAW,CAAC;AAE1C,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AAEpC,QAAA,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CACvD,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,+BAAuB,CAAC"}
|
package/dist/extract.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ export declare function extract(archives: readonly FilePath[], temporaryDir: Fil
|
|
|
3
3
|
export declare function isTar(path: FilePath): boolean;
|
|
4
4
|
export declare function isZip(path: FilePath): boolean;
|
|
5
5
|
export declare function isArchive(path: FilePath): boolean;
|
|
6
|
-
export declare function filterArchives(paths: readonly FilePath[]): FilePath[];
|
package/dist/extract.js
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isArchive = exports.isZip = exports.isTar = exports.extract = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
6
7
|
const common_1 = require("./common");
|
|
7
8
|
const debug_1 = require("./debug");
|
|
8
9
|
const pMap = require('p-map');
|
|
9
10
|
const AdmZip = require('adm-zip');
|
|
10
11
|
const tar = require('tar');
|
|
11
|
-
const { mkdir } = fs_1.promises;
|
|
12
|
+
const { mkdir, rename } = fs_1.promises;
|
|
12
13
|
const zipFormats = ['.zip', '.zipx'];
|
|
13
14
|
const tarFormats = ['.tar', '.gz', '.tgz'];
|
|
14
|
-
async function handleExtraction(path, temporaryDir, childArchiveHandler) {
|
|
15
|
-
const
|
|
16
|
-
?
|
|
15
|
+
async function handleExtraction(path, temporaryDir, keepArchive, childArchiveHandler) {
|
|
16
|
+
const extractionSource = keepArchive
|
|
17
|
+
? path
|
|
18
|
+
: path_1.join(temporaryDir, common_1.DECOMPRESSING_IGNORE_DIR, `${uuid_1.v4()}-${path_1.basename(path)}`);
|
|
19
|
+
if (!keepArchive) {
|
|
20
|
+
await mkdir(path_1.dirname(extractionSource), { recursive: true });
|
|
21
|
+
await rename(path, extractionSource);
|
|
22
|
+
}
|
|
23
|
+
const extractionTarget = path_1.join(temporaryDir, common_1.DECOMPRESSING_WORKSPACE_DIR, path.includes(temporaryDir)
|
|
24
|
+
? path_1.relative(path_1.join(temporaryDir, common_1.DECOMPRESSING_WORKSPACE_DIR), path)
|
|
17
25
|
: path_1.basename(path));
|
|
18
26
|
await mkdir(extractionTarget, { recursive: true });
|
|
19
|
-
if (isTar(
|
|
27
|
+
if (isTar(extractionSource)) {
|
|
20
28
|
await tar.x({
|
|
21
|
-
file:
|
|
29
|
+
file: extractionSource,
|
|
22
30
|
cwd: extractionTarget,
|
|
23
31
|
sync: true,
|
|
24
32
|
onentry: (entry) => {
|
|
@@ -29,8 +37,8 @@ async function handleExtraction(path, temporaryDir, childArchiveHandler) {
|
|
|
29
37
|
},
|
|
30
38
|
});
|
|
31
39
|
}
|
|
32
|
-
else if (isZip(
|
|
33
|
-
const zip = new AdmZip(
|
|
40
|
+
else if (isZip(extractionSource)) {
|
|
41
|
+
const zip = new AdmZip(extractionSource);
|
|
34
42
|
await pMap(zip.getEntries(), (entry) => {
|
|
35
43
|
const childAbsolutePath = path_1.join(extractionTarget, entry.entryName);
|
|
36
44
|
zip.extractEntryTo(entry.entryName, extractionTarget, true, true);
|
|
@@ -47,7 +55,8 @@ async function extract(archives, temporaryDir, depthLimit, depth = 0) {
|
|
|
47
55
|
const childArchives = [];
|
|
48
56
|
for (const archive of archives) {
|
|
49
57
|
try {
|
|
50
|
-
|
|
58
|
+
const keepArchive = 0 === depth;
|
|
59
|
+
await handleExtraction(archive, temporaryDir, keepArchive, (childArchive) => childArchives.push(childArchive));
|
|
51
60
|
}
|
|
52
61
|
catch (err) {
|
|
53
62
|
debug_1.debug(`Could not extract archive: ${archive} ${err}`);
|
|
@@ -70,8 +79,4 @@ function isArchive(path) {
|
|
|
70
79
|
return isTar(path) || isZip(path);
|
|
71
80
|
}
|
|
72
81
|
exports.isArchive = isArchive;
|
|
73
|
-
function filterArchives(paths) {
|
|
74
|
-
return paths.filter((path) => isArchive(path));
|
|
75
|
-
}
|
|
76
|
-
exports.filterArchives = filterArchives;
|
|
77
82
|
//# sourceMappingURL=extract.js.map
|
package/dist/extract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../lib/extract.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../lib/extract.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAC9B,+BAAkE;AAClE,+BAAoC;AAEpC,qCAIkB;AAClB,mCAAgC;AAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE3B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAQ,CAAC;AAEnC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAM3C,KAAK,UAAU,gBAAgB,CAC7B,IAAc,EACd,YAAsB,EACtB,WAAoB,EACpB,mBAAsC;IAEtC,MAAM,gBAAgB,GAAa,WAAW;QAC5C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAI,CACF,YAAY,EACZ,iCAAwB,EACxB,GAAG,SAAM,EAAE,IAAI,eAAQ,CAAC,IAAI,CAAC,EAAE,CAChC,CAAC;IAEN,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,KAAK,CAAC,cAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;KACtC;IAED,MAAM,gBAAgB,GAAa,WAAI,CACrC,YAAY,EACZ,oCAA2B,EAE3B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QACzB,CAAC,CAAC,eAAQ,CAAC,WAAI,CAAC,YAAY,EAAE,oCAA2B,CAAC,EAAE,IAAI,CAAC;QACjE,CAAC,CAAC,eAAQ,CAAC,IAAI,CAAC,CACnB,CAAC;IAEF,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE;QAC3B,MAAM,GAAG,CAAC,CAAC,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,CAAC,KAAU,EAAE,EAAE;gBACtB,MAAM,iBAAiB,GAAG,WAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE7D,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE;oBAChC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;iBACxC;YACH,CAAC;SACF,CAAC,CAAC;KACJ;SAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE;QAClC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,IAAI,CACR,GAAG,CAAC,UAAU,EAAE,EAChB,CAAC,KAAU,EAAE,EAAE;YACb,MAAM,iBAAiB,GAAG,WAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAClE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAElE,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE;gBAChC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;aACxC;QACH,CAAC,EACD,EAAE,WAAW,EAAE,wCAA+B,EAAE,CACjD,CAAC;KACH;AACH,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,QAA6B,EAC7B,YAAsB,EACtB,UAAkB,EAClB,KAAK,GAAG,CAAC;IAET,IAAI,KAAK,IAAI,UAAU,EAAE;QACvB,OAAO;KACR;IAED,MAAM,aAAa,GAAe,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI;YACF,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK,CAAC;YAEhC,MAAM,gBAAgB,CACpB,OAAO,EACP,YAAY,EACZ,WAAW,EACX,CAAC,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAC7D,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,aAAK,CAAC,8BAA8B,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;SACvD;KACF;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,MAAM,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;KACnE;AACH,CAAC;AA9BD,0BA8BC;AAED,SAAgB,KAAK,CAAC,IAAc;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,cAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,sBAEC;AAED,SAAgB,KAAK,CAAC,IAAc;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,cAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,sBAEC;AAED,SAAgB,SAAS,CAAC,IAAc;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAFD,8BAEC"}
|
package/dist/find.d.ts
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
import { promises } from 'fs';
|
|
3
3
|
import { FilePath } from './types';
|
|
4
4
|
export declare const readdir: typeof promises.readdir, lstat: typeof promises.lstat;
|
|
5
|
-
export declare function find(src: string): Promise<FilePath[]>;
|
|
5
|
+
export declare function find(src: string): Promise<[FilePath[], FilePath[]]>;
|
package/dist/find.js
CHANGED
|
@@ -5,16 +5,22 @@ const fs_1 = require("fs");
|
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const common_1 = require("./common");
|
|
7
7
|
const debug_1 = require("./debug");
|
|
8
|
+
const extract_1 = require("./extract");
|
|
8
9
|
exports.readdir = fs_1.promises.readdir, exports.lstat = fs_1.promises.lstat;
|
|
9
10
|
async function find(src) {
|
|
10
|
-
const
|
|
11
|
+
const fileResults = [];
|
|
12
|
+
const archiveResults = [];
|
|
11
13
|
await traverse(src, async (path, stats) => {
|
|
12
14
|
if (!common_1.isSupportedSize(stats.size)) {
|
|
13
15
|
return;
|
|
14
16
|
}
|
|
15
|
-
|
|
17
|
+
if (extract_1.isArchive(path)) {
|
|
18
|
+
archiveResults.push(path);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
fileResults.push(path);
|
|
16
22
|
});
|
|
17
|
-
return
|
|
23
|
+
return [fileResults, archiveResults];
|
|
18
24
|
}
|
|
19
25
|
exports.find = find;
|
|
20
26
|
async function traverse(src, handle) {
|
package/dist/find.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,+BAA4B;AAC5B,qCAA2C;AAC3C,mCAAgC;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,+BAA4B;AAC5B,qCAA2C;AAC3C,mCAAgC;AAEhC,uCAAsC;AAEvB,eAAO,GAAY,aAAQ,UAAlB,aAAK,GAAK,aAAQ,OAAC;AAMpC,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,WAAW,GAAe,EAAE,CAAC;IACnC,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAc,EAAE,KAAY,EAAE,EAAE;QACzD,IAAI,CAAC,wBAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAChC,OAAO;SACR;QAED,IAAI,mBAAS,CAAC,IAAI,CAAC,EAAE;YACnB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;SACR;QAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACvC,CAAC;AAlBD,oBAkBC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,MAAmB;IACtD,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,aAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YAClB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnB,OAAO;SACR;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM,eAAO,CAAC,GAAG,CAAC,CAAC;YAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;gBAC3B,MAAM,QAAQ,GAAG,WAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAElC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aAClC;SACF;KACF;IAAC,OAAO,KAAK,EAAE;QACd,aAAK,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;KAC/D;AACH,CAAC"}
|
package/dist/scan.js
CHANGED
|
@@ -3,23 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.scan = void 0;
|
|
4
4
|
const fs = require("fs");
|
|
5
5
|
const path = require("path");
|
|
6
|
+
const path_1 = require("path");
|
|
6
7
|
const debug_1 = require("./debug");
|
|
7
8
|
const find_1 = require("./find");
|
|
8
9
|
const hosted_git_info_1 = require("hosted-git-info");
|
|
9
10
|
const signatures_1 = require("./signatures");
|
|
10
11
|
const git_1 = require("./git");
|
|
11
12
|
const extract_1 = require("./extract");
|
|
12
|
-
const common_1 = require("./common");
|
|
13
13
|
const fs_1 = require("./utils/fs");
|
|
14
|
+
const common_1 = require("./common");
|
|
14
15
|
async function scan(options) {
|
|
15
16
|
try {
|
|
16
17
|
debug_1.debug.enabled = !!(options === null || options === void 0 ? void 0 : options.debug);
|
|
17
18
|
debug_1.debug('options %o \n', options);
|
|
18
|
-
const extractionDepthLimit = options['max-depth']
|
|
19
|
-
? options['max-depth']
|
|
20
|
-
: common_1.DEFAULT_DECOMPRESSING_DEPTH;
|
|
19
|
+
const extractionDepthLimit = options['max-depth'] || 0;
|
|
21
20
|
if (extractionDepthLimit < 0) {
|
|
22
|
-
throw 'invalid options: --max-depth should be
|
|
21
|
+
throw 'invalid options: --max-depth should be greater than or equal to 0.';
|
|
23
22
|
}
|
|
24
23
|
if (!options.path) {
|
|
25
24
|
throw 'invalid options: no path provided.';
|
|
@@ -28,25 +27,25 @@ async function scan(options) {
|
|
|
28
27
|
throw `'${options.path}' does not exist.`;
|
|
29
28
|
}
|
|
30
29
|
const start = Date.now();
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
await extract_1.extract(
|
|
37
|
-
|
|
30
|
+
const [filePaths, archivePaths] = await find_1.find(options.path);
|
|
31
|
+
let extractionWorkspace = null;
|
|
32
|
+
if (0 < extractionDepthLimit && 0 < archivePaths.length) {
|
|
33
|
+
const temporaryDir = await fs_1.createTemporaryDir();
|
|
34
|
+
extractionWorkspace = path_1.join(temporaryDir, common_1.DECOMPRESSING_WORKSPACE_DIR);
|
|
35
|
+
await extract_1.extract(archivePaths, temporaryDir, extractionDepthLimit);
|
|
36
|
+
const [newFilePaths, newArchivePaths] = await find_1.find(extractionWorkspace);
|
|
37
|
+
filePaths.push(...newFilePaths, ...newArchivePaths);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
filePaths.push(...archivePaths);
|
|
38
41
|
}
|
|
39
|
-
debug_1.debug('%d files found \n',
|
|
40
|
-
const signatures = await signatures_1.computeSignaturesConcurrently(
|
|
42
|
+
debug_1.debug('%d files found \n', filePaths.length);
|
|
43
|
+
const signatures = await signatures_1.computeSignaturesConcurrently(filePaths);
|
|
41
44
|
signatures.forEach((s) => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
s.path = path.relative(options.path, s.path);
|
|
49
|
-
}
|
|
45
|
+
const src = extractionWorkspace && s.path.includes(extractionWorkspace)
|
|
46
|
+
? extractionWorkspace
|
|
47
|
+
: options.path;
|
|
48
|
+
s.path = path.relative(src, s.path);
|
|
50
49
|
});
|
|
51
50
|
const end = Date.now();
|
|
52
51
|
const totalMilliseconds = end - start;
|
package/dist/scan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../lib/scan.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../lib/scan.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -30,13 +30,15 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@snyk/dep-graph": "^1.19.3",
|
|
33
|
+
"@types/uuid": "^8.3.4",
|
|
33
34
|
"adm-zip": "^0.5.9",
|
|
34
35
|
"chalk": "^4.1.0",
|
|
35
36
|
"debug": "^4.1.1",
|
|
36
37
|
"hosted-git-info": "^3.0.7",
|
|
37
38
|
"p-map": "^4.0.0",
|
|
38
39
|
"tar": "^6.1.11",
|
|
39
|
-
"tslib": "^2.0.0"
|
|
40
|
+
"tslib": "^2.0.0",
|
|
41
|
+
"uuid": "^8.3.2"
|
|
40
42
|
},
|
|
41
43
|
"devDependencies": {
|
|
42
44
|
"@types/debug": "^4.1.5",
|
|
@@ -55,5 +57,5 @@
|
|
|
55
57
|
"tsc-watch": "^4.2.9",
|
|
56
58
|
"typescript": "^3.9.7"
|
|
57
59
|
},
|
|
58
|
-
"version": "2.16.
|
|
60
|
+
"version": "2.16.3"
|
|
59
61
|
}
|