snyk-nodejs-lockfile-parser 1.16.1 → 1.17.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.
|
@@ -26,4 +26,5 @@ export declare class YarnLockParser implements LockfileParser {
|
|
|
26
26
|
parseLockFile(lockFileContents: string): YarnLock;
|
|
27
27
|
getDependencyTree(manifestFile: ManifestFile, lockfile: Lockfile, includeDev?: boolean, strict?: boolean): Promise<PkgTree>;
|
|
28
28
|
private buildSubTree;
|
|
29
|
+
private resolveDep;
|
|
29
30
|
}
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const _ = require("lodash");
|
|
5
|
+
const pMap = require("p-map");
|
|
5
6
|
const _1 = require("./");
|
|
6
7
|
const get_node_runtime_version_1 = require("../get-node-runtime-version");
|
|
7
8
|
const set_immediate_promise_1 = require("../set-immediate-promise");
|
|
8
9
|
const errors_1 = require("../errors");
|
|
10
|
+
const EVENT_PROCESSING_CONCURRENCY = 5;
|
|
9
11
|
class YarnLockParser {
|
|
10
12
|
constructor() {
|
|
11
|
-
this.eventLoopSpinRate =
|
|
13
|
+
this.eventLoopSpinRate = 20;
|
|
12
14
|
// @yarnpkg/lockfile doesn't work with Node.js < 6 and crashes just after
|
|
13
15
|
// the import, so it has to be required conditionally
|
|
14
16
|
// more details at https://github.com/yarnpkg/yarn/issues/6304
|
|
@@ -55,19 +57,7 @@ class YarnLockParser {
|
|
|
55
57
|
if (_.isEmpty(manifestFile.dependencies) && !includeDev) {
|
|
56
58
|
return depTree;
|
|
57
59
|
}
|
|
58
|
-
|
|
59
|
-
if (/^file:/.test(dep.version)) {
|
|
60
|
-
depTree.dependencies[dep.name] = _1.createDepTreeDepFromDep(dep);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
depTree.dependencies[dep.name] = yield this.buildSubTree(yarnLock, _1.createDepTreeDepFromDep(dep), strict);
|
|
64
|
-
}
|
|
65
|
-
this.treeSize++;
|
|
66
|
-
if (this.treeSize % this.eventLoopSpinRate === 0) {
|
|
67
|
-
// Spin event loop every X dependencies.
|
|
68
|
-
yield set_immediate_promise_1.setImmediatePromise();
|
|
69
|
-
}
|
|
70
|
-
}
|
|
60
|
+
yield pMap(topLevelDeps, (dep) => this.resolveDep(dep, depTree, yarnLock, strict), { concurrency: EVENT_PROCESSING_CONCURRENCY });
|
|
71
61
|
depTree.size = this.treeSize;
|
|
72
62
|
return depTree;
|
|
73
63
|
});
|
|
@@ -125,6 +115,21 @@ class YarnLockParser {
|
|
|
125
115
|
return tree;
|
|
126
116
|
});
|
|
127
117
|
}
|
|
118
|
+
resolveDep(dep, depTree, yarnLock, strict) {
|
|
119
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
if (/^file:/.test(dep.version)) {
|
|
121
|
+
depTree.dependencies[dep.name] = _1.createDepTreeDepFromDep(dep);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
depTree.dependencies[dep.name] = yield this.buildSubTree(yarnLock, _1.createDepTreeDepFromDep(dep), strict);
|
|
125
|
+
}
|
|
126
|
+
this.treeSize++;
|
|
127
|
+
if (this.treeSize % this.eventLoopSpinRate === 0) {
|
|
128
|
+
// Spin event loop every X dependencies.
|
|
129
|
+
yield set_immediate_promise_1.setImmediatePromise();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
128
133
|
}
|
|
129
134
|
exports.YarnLockParser = YarnLockParser;
|
|
130
135
|
//# sourceMappingURL=yarn-lock-parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yarn-lock-parse.js","sourceRoot":"","sources":["../../lib/parsers/yarn-lock-parse.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAC5B,yBAGY;AACZ,0EAA4D;AAC5D,oEAA6D;AAC7D,sCAImB;
|
|
1
|
+
{"version":3,"file":"yarn-lock-parse.js","sourceRoot":"","sources":["../../lib/parsers/yarn-lock-parse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"@yarnpkg/lockfile": "^1.0.2",
|
|
33
33
|
"graphlib": "^2.1.5",
|
|
34
34
|
"lodash": "^4.17.14",
|
|
35
|
+
"p-map": "2.1.0",
|
|
35
36
|
"source-map-support": "^0.5.7",
|
|
36
37
|
"tslib": "^1.9.3",
|
|
37
38
|
"uuid": "^3.3.2"
|
|
@@ -45,5 +46,5 @@
|
|
|
45
46
|
"tslint": "5.11.0",
|
|
46
47
|
"typescript": "3.0.1"
|
|
47
48
|
},
|
|
48
|
-
"version": "1.
|
|
49
|
+
"version": "1.17.0"
|
|
49
50
|
}
|