snyk-cpp-plugin 2.15.4 → 2.16.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/dist/common.d.ts +5 -1
- package/dist/common.js +6 -2
- package/dist/common.js.map +1 -1
- package/dist/extract.d.ts +6 -0
- package/dist/extract.js +77 -0
- package/dist/extract.js.map +1 -0
- package/dist/find.js +1 -1
- package/dist/find.js.map +1 -1
- package/dist/scan.js +24 -1
- package/dist/scan.js.map +1 -1
- package/dist/signatures.js +1 -1
- package/dist/signatures.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/utils/fs.d.ts +2 -0
- package/dist/utils/fs.js +12 -0
- package/dist/utils/fs.js.map +1 -0
- package/package.json +3 -1
package/dist/common.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export declare const isWindowsOS: () => boolean;
|
|
2
2
|
export declare const MAX_SUPPORTED_FILE_SIZE: number;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const HASHING_CONCURRENCY_LEVEL: number;
|
|
4
|
+
export declare const DECOMPRESSING_CONCURRENCY_LEVEL: number;
|
|
5
|
+
export declare const DEFAULT_DECOMPRESSING_DEPTH = 1;
|
|
6
|
+
export declare const EXTRACTED_DIR_SUFFIX = ".extracted";
|
|
7
|
+
export declare const isSupportedSize: (size: number) => boolean;
|
package/dist/common.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isSupportedSize = exports.EXTRACTED_DIR_SUFFIX = exports.DEFAULT_DECOMPRESSING_DEPTH = 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()
|
|
7
7
|
.toLowerCase()
|
|
8
8
|
.indexOf('windows') === 0;
|
|
9
9
|
exports.MAX_SUPPORTED_FILE_SIZE = 2 * 1024 * 1024 * 1024 - 1;
|
|
10
|
-
exports.
|
|
10
|
+
exports.HASHING_CONCURRENCY_LEVEL = os.cpus().length;
|
|
11
|
+
exports.DECOMPRESSING_CONCURRENCY_LEVEL = os.cpus().length * 8;
|
|
12
|
+
exports.DEFAULT_DECOMPRESSING_DEPTH = 1;
|
|
13
|
+
exports.EXTRACTED_DIR_SUFFIX = '.extracted';
|
|
14
|
+
exports.isSupportedSize = (size) => 0 < size && size < exports.MAX_SUPPORTED_FILE_SIZE;
|
|
11
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,
|
|
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,CAAC,CAAC;AAEhC,QAAA,oBAAoB,GAAG,YAAY,CAAC;AAEpC,QAAA,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CACvD,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,+BAAuB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FilePath } from './types';
|
|
2
|
+
export declare function extract(archives: readonly FilePath[], temporaryDir: FilePath, depthLimit: number, depth?: number): Promise<void>;
|
|
3
|
+
export declare function isTar(path: FilePath): boolean;
|
|
4
|
+
export declare function isZip(path: FilePath): boolean;
|
|
5
|
+
export declare function isArchive(path: FilePath): boolean;
|
|
6
|
+
export declare function filterArchives(paths: readonly FilePath[]): FilePath[];
|
package/dist/extract.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterArchives = exports.isArchive = exports.isZip = exports.isTar = exports.extract = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
|
+
const debug_1 = require("./debug");
|
|
8
|
+
const pMap = require('p-map');
|
|
9
|
+
const AdmZip = require('adm-zip');
|
|
10
|
+
const tar = require('tar');
|
|
11
|
+
const { mkdir } = fs_1.promises;
|
|
12
|
+
const zipFormats = ['.zip', '.zipx'];
|
|
13
|
+
const tarFormats = ['.tar', '.gz', '.tgz'];
|
|
14
|
+
async function handleExtraction(path, temporaryDir, childArchiveHandler) {
|
|
15
|
+
const extractionTarget = path_1.join(temporaryDir, path.includes(temporaryDir)
|
|
16
|
+
? path_1.relative(temporaryDir, `${path}${common_1.EXTRACTED_DIR_SUFFIX}`)
|
|
17
|
+
: path_1.basename(path));
|
|
18
|
+
await mkdir(extractionTarget, { recursive: true });
|
|
19
|
+
if (isTar(path)) {
|
|
20
|
+
await tar.x({
|
|
21
|
+
file: path,
|
|
22
|
+
cwd: extractionTarget,
|
|
23
|
+
sync: true,
|
|
24
|
+
onentry: (entry) => {
|
|
25
|
+
const childAbsolutePath = path_1.join(extractionTarget, entry.path);
|
|
26
|
+
if (isArchive(childAbsolutePath)) {
|
|
27
|
+
childArchiveHandler(childAbsolutePath);
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
else if (isZip(path)) {
|
|
33
|
+
const zip = new AdmZip(path);
|
|
34
|
+
await pMap(zip.getEntries(), (entry) => {
|
|
35
|
+
const childAbsolutePath = path_1.join(extractionTarget, entry.entryName);
|
|
36
|
+
zip.extractEntryTo(entry.entryName, extractionTarget, true, true);
|
|
37
|
+
if (isArchive(childAbsolutePath)) {
|
|
38
|
+
childArchiveHandler(childAbsolutePath);
|
|
39
|
+
}
|
|
40
|
+
}, { concurrency: common_1.DECOMPRESSING_CONCURRENCY_LEVEL });
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async function extract(archives, temporaryDir, depthLimit, depth = 0) {
|
|
44
|
+
if (depth >= depthLimit) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const childArchives = [];
|
|
48
|
+
for (const archive of archives) {
|
|
49
|
+
try {
|
|
50
|
+
await handleExtraction(archive, temporaryDir, (childArchive) => childArchives.push(childArchive));
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
debug_1.debug(`Could not extract archive: ${archive} ${err}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (childArchives.length > 0) {
|
|
57
|
+
await extract(childArchives, temporaryDir, depthLimit, depth + 1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.extract = extract;
|
|
61
|
+
function isTar(path) {
|
|
62
|
+
return tarFormats.includes(path_1.extname(path));
|
|
63
|
+
}
|
|
64
|
+
exports.isTar = isTar;
|
|
65
|
+
function isZip(path) {
|
|
66
|
+
return zipFormats.includes(path_1.extname(path));
|
|
67
|
+
}
|
|
68
|
+
exports.isZip = isZip;
|
|
69
|
+
function isArchive(path) {
|
|
70
|
+
return isTar(path) || isZip(path);
|
|
71
|
+
}
|
|
72
|
+
exports.isArchive = isArchive;
|
|
73
|
+
function filterArchives(paths) {
|
|
74
|
+
return paths.filter((path) => isArchive(path));
|
|
75
|
+
}
|
|
76
|
+
exports.filterArchives = filterArchives;
|
|
77
|
+
//# sourceMappingURL=extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../lib/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/find.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.readdir = fs_1.promises.readdir, exports.lstat = fs_1.promises.lstat;
|
|
|
9
9
|
async function find(src) {
|
|
10
10
|
const result = [];
|
|
11
11
|
await traverse(src, async (path, stats) => {
|
|
12
|
-
if (
|
|
12
|
+
if (!common_1.isSupportedSize(stats.size)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
result.push(path);
|
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,
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../lib/find.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,+BAA4B;AAC5B,qCAA2C;AAC3C,mCAAgC;AAGjB,eAAO,GAAY,aAAQ,UAAlB,aAAK,GAAK,aAAQ,OAAC;AAMpC,KAAK,UAAU,IAAI,CAAC,GAAW;IACpC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,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,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,oBAYC;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
|
@@ -8,10 +8,19 @@ const find_1 = require("./find");
|
|
|
8
8
|
const hosted_git_info_1 = require("hosted-git-info");
|
|
9
9
|
const signatures_1 = require("./signatures");
|
|
10
10
|
const git_1 = require("./git");
|
|
11
|
+
const extract_1 = require("./extract");
|
|
12
|
+
const common_1 = require("./common");
|
|
13
|
+
const fs_1 = require("./utils/fs");
|
|
11
14
|
async function scan(options) {
|
|
12
15
|
try {
|
|
13
16
|
debug_1.debug.enabled = !!(options === null || options === void 0 ? void 0 : options.debug);
|
|
14
17
|
debug_1.debug('options %o \n', options);
|
|
18
|
+
const extractionDepthLimit = options['--max-depth'] !== undefined
|
|
19
|
+
? options['--max-depth']
|
|
20
|
+
: common_1.DEFAULT_DECOMPRESSING_DEPTH;
|
|
21
|
+
if (extractionDepthLimit < 0) {
|
|
22
|
+
throw 'invalid options: --max-depth should be a positive number.';
|
|
23
|
+
}
|
|
15
24
|
if (!options.path) {
|
|
16
25
|
throw 'invalid options: no path provided.';
|
|
17
26
|
}
|
|
@@ -20,10 +29,24 @@ async function scan(options) {
|
|
|
20
29
|
}
|
|
21
30
|
const start = Date.now();
|
|
22
31
|
const paths = await find_1.find(options.path);
|
|
32
|
+
const archives = extract_1.filterArchives(paths);
|
|
33
|
+
let temporaryDir = null;
|
|
34
|
+
if (archives.length > 0) {
|
|
35
|
+
temporaryDir = await fs_1.createTemporaryDir();
|
|
36
|
+
await extract_1.extract(archives, temporaryDir, extractionDepthLimit);
|
|
37
|
+
paths.push(...(await find_1.find(temporaryDir)));
|
|
38
|
+
}
|
|
23
39
|
debug_1.debug('%d files found \n', paths.length);
|
|
24
40
|
const signatures = await signatures_1.computeSignaturesConcurrently(paths);
|
|
25
41
|
signatures.forEach((s) => {
|
|
26
|
-
|
|
42
|
+
if (temporaryDir && s.path.includes(temporaryDir)) {
|
|
43
|
+
s.path = path
|
|
44
|
+
.relative(temporaryDir, s.path)
|
|
45
|
+
.replace(new RegExp(common_1.EXTRACTED_DIR_SUFFIX, 'g'), '');
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
s.path = path.relative(options.path, s.path);
|
|
49
|
+
}
|
|
27
50
|
});
|
|
28
51
|
const end = Date.now();
|
|
29
52
|
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;AAW7B,mCAAgC;AAChC,iCAA8B;AAC9B,qDAA0C;AAC1C,6CAA6D;AAC7D,+BAAkC;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../lib/scan.ts"],"names":[],"mappings":"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"}
|
package/dist/signatures.js
CHANGED
|
@@ -10,7 +10,7 @@ async function computeSignaturesConcurrently(paths) {
|
|
|
10
10
|
return pMap(paths, async (path) => {
|
|
11
11
|
const content = await readFile(path);
|
|
12
12
|
return await hash_1.computeHash(path, content);
|
|
13
|
-
}, { concurrency: common_1.
|
|
13
|
+
}, { concurrency: common_1.HASHING_CONCURRENCY_LEVEL });
|
|
14
14
|
}
|
|
15
15
|
exports.computeSignaturesConcurrently = computeSignaturesConcurrently;
|
|
16
16
|
//# sourceMappingURL=signatures.js.map
|
package/dist/signatures.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signatures.js","sourceRoot":"","sources":["../lib/signatures.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAE9B,iCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"signatures.js","sourceRoot":"","sources":["../lib/signatures.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAE9B,iCAAqC;AACrC,qCAAqD;AAErD,8BAA+B;AAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAQ,CAAC;AAEvB,KAAK,UAAU,6BAA6B,CACjD,KAAiB;IAEjB,OAAO,IAAI,CACT,KAAK,EACL,KAAK,EAAE,IAAc,EAAE,EAAE;QACvB,MAAM,OAAO,GAAgB,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,MAAM,kBAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,EACD,EAAE,WAAW,EAAE,kCAAyB,EAAE,CAC3C,CAAC;AACJ,CAAC;AAXD,sEAWC"}
|
package/dist/types.d.ts
CHANGED
package/dist/utils/fs.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTemporaryDir = void 0;
|
|
4
|
+
const os = require("os");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const { mkdtemp } = fs_1.promises;
|
|
8
|
+
async function createTemporaryDir() {
|
|
9
|
+
return await mkdtemp(path_1.join(os.tmpdir(), 'snyk'));
|
|
10
|
+
}
|
|
11
|
+
exports.createTemporaryDir = createTemporaryDir;
|
|
12
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../lib/utils/fs.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AAEzB,2BAA8B;AAC9B,+BAA4B;AAG5B,MAAM,EAAE,OAAO,EAAE,GAAG,aAAQ,CAAC;AAEtB,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,OAAO,CAAC,WAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,gDAEC"}
|
package/package.json
CHANGED
|
@@ -30,10 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@snyk/dep-graph": "^1.19.3",
|
|
33
|
+
"adm-zip": "^0.5.9",
|
|
33
34
|
"chalk": "^4.1.0",
|
|
34
35
|
"debug": "^4.1.1",
|
|
35
36
|
"hosted-git-info": "^3.0.7",
|
|
36
37
|
"p-map": "^4.0.0",
|
|
38
|
+
"tar": "^6.1.11",
|
|
37
39
|
"tslib": "^2.0.0"
|
|
38
40
|
},
|
|
39
41
|
"devDependencies": {
|
|
@@ -53,5 +55,5 @@
|
|
|
53
55
|
"tsc-watch": "^4.2.9",
|
|
54
56
|
"typescript": "^3.9.7"
|
|
55
57
|
},
|
|
56
|
-
"version": "2.
|
|
58
|
+
"version": "2.16.0"
|
|
57
59
|
}
|