snyk-nodejs-lockfile-parser 1.48.3 → 1.50.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/c-map.d.ts +10 -0
- package/dist/c-map.js +24 -0
- package/dist/c-map.js.map +1 -0
- package/dist/dep-graph-builders/npm-lock-v2/index.d.ts +3 -2
- package/dist/dep-graph-builders/npm-lock-v2/index.js +10 -6
- package/dist/dep-graph-builders/npm-lock-v2/index.js.map +1 -1
- package/dist/dep-graph-builders/types.d.ts +6 -0
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.d.ts +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.js +8 -4
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.d.ts +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.js +8 -4
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.d.ts +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js +8 -4
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.d.ts +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js +8 -4
- package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/simple.js +2 -2
- package/dist/dep-graph-builders/yarn-lock-v1/simple.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v1/workspaces.js +4 -3
- package/dist/dep-graph-builders/yarn-lock-v1/workspaces.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.d.ts +2 -2
- package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js +30 -9
- package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js.map +1 -1
- package/dist/dep-graph-builders/yarn-lock-v2/simple.d.ts +3 -2
- package/dist/dep-graph-builders/yarn-lock-v2/simple.js +4 -3
- package/dist/dep-graph-builders/yarn-lock-v2/simple.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/c-map.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Run a function each element in an array, with some level of concurrency.
|
|
2
|
+
*
|
|
3
|
+
* Defaults to a small, finite concurrency, so as to not to "overload" the database
|
|
4
|
+
* connection pool or the http client, both of which have small, internal limits.
|
|
5
|
+
*
|
|
6
|
+
* Can be used with async functions that don't yield; will yield for you, if necessary.
|
|
7
|
+
*/
|
|
8
|
+
export declare function cMap<F, T>(input: Iterable<F>, mapper: (from: F) => Promise<T>, options?: {
|
|
9
|
+
concurrency: number;
|
|
10
|
+
}): Promise<T[]>;
|
package/dist/c-map.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cMap = void 0;
|
|
4
|
+
const pMap = require("p-map");
|
|
5
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
6
|
+
/** Run a function each element in an array, with some level of concurrency.
|
|
7
|
+
*
|
|
8
|
+
* Defaults to a small, finite concurrency, so as to not to "overload" the database
|
|
9
|
+
* connection pool or the http client, both of which have small, internal limits.
|
|
10
|
+
*
|
|
11
|
+
* Can be used with async functions that don't yield; will yield for you, if necessary.
|
|
12
|
+
*/
|
|
13
|
+
async function cMap(input, mapper, options) {
|
|
14
|
+
var _a;
|
|
15
|
+
const concurrency = (_a = options === null || options === void 0 ? void 0 : options.concurrency) !== null && _a !== void 0 ? _a : 6;
|
|
16
|
+
return await pMap(input, async (from) => {
|
|
17
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
18
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
19
|
+
}
|
|
20
|
+
return await mapper(from);
|
|
21
|
+
}, { concurrency });
|
|
22
|
+
}
|
|
23
|
+
exports.cMap = cMap;
|
|
24
|
+
//# sourceMappingURL=c-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c-map.js","sourceRoot":"","sources":["../lib/c-map.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,2DAAsD;AAEtD;;;;;;GAMG;AACI,KAAK,UAAU,IAAI,CACxB,KAAkB,EAClB,MAA+B,EAC/B,OAAiC;;IAEjC,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,CAAC,CAAC;IAC9C,OAAO,MAAM,IAAI,CACf,KAAK,EACL,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,qCAAgB,CAAC,UAAU,EAAE,EAAE;YACjC,MAAM,qCAAgB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,EAAE,WAAW,EAAE,CAChB,CAAC;AACJ,CAAC;AAhBD,oBAgBC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DepGraphBuildOptions, PackageJsonBase, ProjectParseOptions } from '../types';
|
|
2
2
|
import { extractPkgsFromNpmLockV2 } from './extract-npm-lock-v2-pkgs';
|
|
3
3
|
import type { NpmLockPkg } from './extract-npm-lock-v2-pkgs';
|
|
4
|
+
import { DepGraph } from '@snyk/dep-graph';
|
|
4
5
|
export { extractPkgsFromNpmLockV2 };
|
|
5
|
-
export declare const parseNpmLockV2Project: (pkgJsonContent: string, pkgLockContent: string, options: ProjectParseOptions) =>
|
|
6
|
-
export declare const buildDepGraphNpmLockV2: (npmLockPkgs: Record<string, NpmLockPkg>, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) =>
|
|
6
|
+
export declare const parseNpmLockV2Project: (pkgJsonContent: string, pkgLockContent: string, options: ProjectParseOptions) => Promise<DepGraph>;
|
|
7
|
+
export declare const buildDepGraphNpmLockV2: (npmLockPkgs: Record<string, NpmLockPkg>, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => Promise<DepGraph>;
|
|
7
8
|
export declare const getChildNodeKey: (name: string, version: string, ancestry: {
|
|
8
9
|
name: string;
|
|
9
10
|
key: string;
|
|
@@ -10,11 +10,12 @@ const parsers_1 = require("../../parsers");
|
|
|
10
10
|
const semver = require("semver");
|
|
11
11
|
const micromatch = require("micromatch");
|
|
12
12
|
const pathUtil = require("path");
|
|
13
|
-
const
|
|
13
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
14
|
+
const parseNpmLockV2Project = async (pkgJsonContent, pkgLockContent, options) => {
|
|
14
15
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
15
16
|
const pkgJson = (0, util_1.parsePkgJson)(pkgJsonContent);
|
|
16
17
|
const pkgs = (0, extract_npm_lock_v2_pkgs_1.extractPkgsFromNpmLockV2)(pkgLockContent);
|
|
17
|
-
const depgraph = (0, exports.buildDepGraphNpmLockV2)(pkgs, pkgJson, {
|
|
18
|
+
const depgraph = await (0, exports.buildDepGraphNpmLockV2)(pkgs, pkgJson, {
|
|
18
19
|
includeDevDeps,
|
|
19
20
|
includeOptionalDeps,
|
|
20
21
|
strictOutOfSync,
|
|
@@ -22,7 +23,7 @@ const parseNpmLockV2Project = (pkgJsonContent, pkgLockContent, options) => {
|
|
|
22
23
|
return depgraph;
|
|
23
24
|
};
|
|
24
25
|
exports.parseNpmLockV2Project = parseNpmLockV2Project;
|
|
25
|
-
const buildDepGraphNpmLockV2 = (npmLockPkgs, pkgJson, options) => {
|
|
26
|
+
const buildDepGraphNpmLockV2 = async (npmLockPkgs, pkgJson, options) => {
|
|
26
27
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
27
28
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'npm' }, { name: pkgJson.name, version: pkgJson.version });
|
|
28
29
|
const topLevelDeps = (0, util_1.getTopLevelDeps)(pkgJson, {
|
|
@@ -51,13 +52,16 @@ const buildDepGraphNpmLockV2 = (npmLockPkgs, pkgJson, options) => {
|
|
|
51
52
|
return acc;
|
|
52
53
|
}, new Map());
|
|
53
54
|
const visitedMap = new Set();
|
|
54
|
-
dfsVisit(depGraphBuilder, rootNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [], pkgKeysByName);
|
|
55
|
+
await dfsVisit(depGraphBuilder, rootNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [], pkgKeysByName);
|
|
55
56
|
return depGraphBuilder.build();
|
|
56
57
|
};
|
|
57
58
|
exports.buildDepGraphNpmLockV2 = buildDepGraphNpmLockV2;
|
|
58
|
-
const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, ancestry, pkgKeysByName) => {
|
|
59
|
+
const dfsVisit = async (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, ancestry, pkgKeysByName) => {
|
|
59
60
|
visitedMap.add(node.id);
|
|
60
61
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
62
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
63
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
64
|
+
}
|
|
61
65
|
const childNode = getChildNode(name, depInfo, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [
|
|
62
66
|
...ancestry,
|
|
63
67
|
{
|
|
@@ -68,7 +72,7 @@ const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSyn
|
|
|
68
72
|
], pkgKeysByName);
|
|
69
73
|
if (!visitedMap.has(childNode.id)) {
|
|
70
74
|
(0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
|
|
71
|
-
dfsVisit(depGraphBuilder, childNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [
|
|
75
|
+
await dfsVisit(depGraphBuilder, childNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [
|
|
72
76
|
...ancestry,
|
|
73
77
|
{
|
|
74
78
|
name: node.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/npm-lock-v2/index.ts"],"names":[],"mappings":";;;AAKA,yEAAsE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/npm-lock-v2/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,3 +25,9 @@ export declare type LockFileParseOptions = {
|
|
|
25
25
|
export declare type ProjectParseOptions = DepGraphBuildOptions & LockFileParseOptions & {
|
|
26
26
|
pruneCycles: boolean;
|
|
27
27
|
};
|
|
28
|
+
export declare type YarnLockV2ProjectParseOptions = {
|
|
29
|
+
includeDevDeps: boolean;
|
|
30
|
+
includeOptionalDeps: boolean;
|
|
31
|
+
strictOutOfSync: boolean;
|
|
32
|
+
pruneWithinTopLevelDeps: boolean;
|
|
33
|
+
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { NormalisedPkgs, PackageJsonBase } from '../types';
|
|
2
2
|
import type { DepGraphBuildOptions } from '../types';
|
|
3
|
-
export declare const buildDepGraphYarnLockV1SimpleCyclesPruned: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph
|
|
3
|
+
export declare const buildDepGraphYarnLockV1SimpleCyclesPruned: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildDepGraphYarnLockV1SimpleCyclesPruned = void 0;
|
|
4
4
|
const dep_graph_1 = require("@snyk/dep-graph");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
6
7
|
var Color;
|
|
7
8
|
(function (Color) {
|
|
8
9
|
Color[Color["GRAY"] = 0] = "GRAY";
|
|
9
10
|
Color[Color["BLACK"] = 1] = "BLACK";
|
|
10
11
|
})(Color || (Color = {}));
|
|
11
|
-
const buildDepGraphYarnLockV1SimpleCyclesPruned = (extractedYarnLockV1Pkgs, pkgJson, options) => {
|
|
12
|
+
const buildDepGraphYarnLockV1SimpleCyclesPruned = async (extractedYarnLockV1Pkgs, pkgJson, options) => {
|
|
12
13
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
13
14
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
|
|
14
15
|
const colorMap = {};
|
|
@@ -20,7 +21,7 @@ const buildDepGraphYarnLockV1SimpleCyclesPruned = (extractedYarnLockV1Pkgs, pkgJ
|
|
|
20
21
|
dependencies: topLevelDeps,
|
|
21
22
|
isDev: false,
|
|
22
23
|
};
|
|
23
|
-
dfsVisit(depGraphBuilder, rootNode, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
24
|
+
await dfsVisit(depGraphBuilder, rootNode, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
24
25
|
return depGraphBuilder.build();
|
|
25
26
|
};
|
|
26
27
|
exports.buildDepGraphYarnLockV1SimpleCyclesPruned = buildDepGraphYarnLockV1SimpleCyclesPruned;
|
|
@@ -33,13 +34,16 @@ exports.buildDepGraphYarnLockV1SimpleCyclesPruned = buildDepGraphYarnLockV1Simpl
|
|
|
33
34
|
* - When first exploring an edge, if it points to a GRAY node, a cycle is found and the GRAY node is pruned.
|
|
34
35
|
* - A pruned node has id `${originalId}|1`
|
|
35
36
|
*/
|
|
36
|
-
const dfsVisit = (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps) => {
|
|
37
|
+
const dfsVisit = async (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps) => {
|
|
37
38
|
colorMap[node.id] = Color.GRAY;
|
|
38
39
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
40
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
41
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
42
|
+
}
|
|
39
43
|
const childNode = (0, util_1.getChildNode)(name, depInfo, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
40
44
|
if (!colorMap.hasOwnProperty(childNode.id)) {
|
|
41
45
|
(0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
|
|
42
|
-
dfsVisit(depGraphBuilder, childNode, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
46
|
+
await dfsVisit(depGraphBuilder, childNode, colorMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
43
47
|
}
|
|
44
48
|
else if (colorMap[childNode.id] === Color.GRAY) {
|
|
45
49
|
// cycle detected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-depgraph-simple-pruned.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAKiB;
|
|
1
|
+
{"version":3,"file":"build-depgraph-simple-pruned.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAKiB;AAGjB,2DAAsD;AAEtD,IAAK,KAGJ;AAHD,WAAK,KAAK;IACR,iCAAI,CAAA;IACJ,mCAAK,CAAA;AACP,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAEM,MAAM,yCAAyC,GAAG,KAAK,EAC5D,uBAAuC,EACvC,OAAwB,EACxB,OAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAEzE,MAAM,eAAe,GAAG,IAAI,2BAAe,CACzC,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CACjD,CAAC;IAEF,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAY;QACxB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,QAAQ,CACZ,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;IAEF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AAlCW,QAAA,yCAAyC,6CAkCpD;AAEF;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAG,KAAK,EACpB,eAAgC,EAChC,IAAa,EACb,QAA+B,EAC/B,uBAAuC,EACvC,eAAwB,EACxB,mBAA4B,EACb,EAAE;IACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;QACrE,IAAI,qCAAgB,CAAC,UAAU,EAAE,EAAE;YACjC,MAAM,qCAAgB,CAAC,IAAI,EAAE,CAAC;SAC/B;QAED,MAAM,SAAS,GAAG,IAAA,mBAAY,EAC5B,IAAI,EACJ,OAAO,EACP,uBAAuB,EACvB,eAAe,EAEf,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;YAC1C,IAAA,wBAAiB,EAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,CACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;SACH;aAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE;YAChD,iBAAiB;YACjB,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC;YACnC,IAAA,wBAAiB,EAAC,eAAe,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;SACnE;QAED,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;KACnD;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAClC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { DepGraphBuildOptions } from '../types';
|
|
2
2
|
import type { NormalisedPkgs, PackageJsonBase } from '../types';
|
|
3
|
-
export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph
|
|
3
|
+
export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildDepGraphYarnLockV1Simple = void 0;
|
|
4
4
|
const dep_graph_1 = require("@snyk/dep-graph");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
|
-
const
|
|
6
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
7
|
+
const buildDepGraphYarnLockV1Simple = async (extractedYarnLockV1Pkgs, pkgJson, options) => {
|
|
7
8
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
8
9
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
|
|
9
10
|
const visitedMap = new Set();
|
|
@@ -15,7 +16,7 @@ const buildDepGraphYarnLockV1Simple = (extractedYarnLockV1Pkgs, pkgJson, options
|
|
|
15
16
|
dependencies: topLevelDeps,
|
|
16
17
|
isDev: false,
|
|
17
18
|
};
|
|
18
|
-
dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
19
|
+
await dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
19
20
|
return depGraphBuilder.build();
|
|
20
21
|
};
|
|
21
22
|
exports.buildDepGraphYarnLockV1Simple = buildDepGraphYarnLockV1Simple;
|
|
@@ -25,13 +26,16 @@ exports.buildDepGraphYarnLockV1Simple = buildDepGraphYarnLockV1Simple;
|
|
|
25
26
|
* - If a node doesn't exist in the map, it means it hasn't been visited.
|
|
26
27
|
* - If a node is already visited, simply connect the new node with this node.
|
|
27
28
|
*/
|
|
28
|
-
const dfsVisit = (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps) => {
|
|
29
|
+
const dfsVisit = async (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps) => {
|
|
29
30
|
visitedMap.add(node.id);
|
|
30
31
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
32
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
33
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
34
|
+
}
|
|
31
35
|
const childNode = (0, util_1.getChildNode)(name, depInfo, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
32
36
|
if (!visitedMap.has(childNode.id)) {
|
|
33
37
|
(0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
|
|
34
|
-
dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
38
|
+
await dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
35
39
|
}
|
|
36
40
|
depGraphBuilder.connectDep(node.id, childNode.id);
|
|
37
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-depgraph-simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAKiB;
|
|
1
|
+
{"version":3,"file":"build-depgraph-simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAKiB;AAGjB,2DAAsD;AAE/C,MAAM,6BAA6B,GAAG,KAAK,EAChD,uBAAuC,EACvC,OAAwB,EACxB,OAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAEzE,MAAM,eAAe,GAAG,IAAI,2BAAe,CACzC,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CACjD,CAAC;IAEF,MAAM,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE1C,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAY;QACxB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,QAAQ,CACZ,eAAe,EACf,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;IAEF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AAlCW,QAAA,6BAA6B,iCAkCxC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,KAAK,EACpB,eAAgC,EAChC,IAAa,EACb,UAAuB,EACvB,uBAAuC,EACvC,eAAwB,EACxB,mBAA4B,EACb,EAAE;IACjB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAExB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;QACrE,IAAI,qCAAgB,CAAC,UAAU,EAAE,EAAE;YACjC,MAAM,qCAAgB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,MAAM,SAAS,GAAG,IAAA,mBAAY,EAC5B,IAAI,EACJ,OAAO,EACP,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;YACjC,IAAA,wBAAiB,EAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,CACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;SACH;QAED,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;KACnD;AACH,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { NormalisedPkgs, PackageJsonBase } from '../types';
|
|
2
2
|
import type { DepGraphBuildOptions } from '../types';
|
|
3
|
-
export declare const buildDepGraphYarnLockV1WorkspaceCyclesPruned: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph
|
|
3
|
+
export declare const buildDepGraphYarnLockV1WorkspaceCyclesPruned: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
|
|
@@ -4,6 +4,7 @@ exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = void 0;
|
|
|
4
4
|
const dep_graph_1 = require("@snyk/dep-graph");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const util_2 = require("./util");
|
|
7
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
7
8
|
var Color;
|
|
8
9
|
(function (Color) {
|
|
9
10
|
Color[Color["GRAY"] = 0] = "GRAY";
|
|
@@ -11,7 +12,7 @@ var Color;
|
|
|
11
12
|
})(Color || (Color = {}));
|
|
12
13
|
// Parse a single workspace package using yarn.lock v1
|
|
13
14
|
// workspaces feature
|
|
14
|
-
const buildDepGraphYarnLockV1WorkspaceCyclesPruned = (extractedYarnLockV1Pkgs, pkgJson, workspacePkgNameToVersion, options) => {
|
|
15
|
+
const buildDepGraphYarnLockV1WorkspaceCyclesPruned = async (extractedYarnLockV1Pkgs, pkgJson, workspacePkgNameToVersion, options) => {
|
|
15
16
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
16
17
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
|
|
17
18
|
const colorMap = {};
|
|
@@ -23,7 +24,7 @@ const buildDepGraphYarnLockV1WorkspaceCyclesPruned = (extractedYarnLockV1Pkgs, p
|
|
|
23
24
|
dependencies: topLevelDeps,
|
|
24
25
|
isDev: false,
|
|
25
26
|
};
|
|
26
|
-
dfsVisit(depGraphBuilder, rootNode, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
27
|
+
await dfsVisit(depGraphBuilder, rootNode, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
27
28
|
return depGraphBuilder.build();
|
|
28
29
|
};
|
|
29
30
|
exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = buildDepGraphYarnLockV1WorkspaceCyclesPruned;
|
|
@@ -37,9 +38,12 @@ exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = buildDepGraphYarnLockV1Wo
|
|
|
37
38
|
* - A pruned node has id `${originalId}|1`
|
|
38
39
|
* When coming across another workspace package as child node, simply add the node and edge to the graph and mark it as BLACK.
|
|
39
40
|
*/
|
|
40
|
-
const dfsVisit = (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps) => {
|
|
41
|
+
const dfsVisit = async (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps) => {
|
|
41
42
|
colorMap[node.id] = Color.GRAY;
|
|
42
43
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
44
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
45
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
46
|
+
}
|
|
43
47
|
const isWorkspacePkg = !!workspacePkgNameToVersion[name];
|
|
44
48
|
const childNode = (0, util_2.getChildNodeYarnLockV1Workspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
45
49
|
if (!colorMap.hasOwnProperty(childNode.id)) {
|
|
@@ -48,7 +52,7 @@ const dfsVisit = (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, work
|
|
|
48
52
|
isWorkspacePkg,
|
|
49
53
|
});
|
|
50
54
|
if (!isWorkspacePkg) {
|
|
51
|
-
dfsVisit(depGraphBuilder, childNode, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
55
|
+
await dfsVisit(depGraphBuilder, childNode, colorMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
52
56
|
}
|
|
53
57
|
else {
|
|
54
58
|
colorMap[childNode.id] = Color.BLACK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-depgraph-workspace-package-pruned.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAAsE;AAItE,iCAAyD;
|
|
1
|
+
{"version":3,"file":"build-depgraph-workspace-package-pruned.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { NormalisedPkgs, PackageJsonBase } from '../types';
|
|
2
2
|
import type { DepGraphBuildOptions } from '../types';
|
|
3
|
-
export declare const buildDepGraphYarnLockV1Workspace: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph
|
|
3
|
+
export declare const buildDepGraphYarnLockV1Workspace: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
|
|
@@ -4,7 +4,8 @@ exports.buildDepGraphYarnLockV1Workspace = void 0;
|
|
|
4
4
|
const dep_graph_1 = require("@snyk/dep-graph");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const util_2 = require("./util");
|
|
7
|
-
const
|
|
7
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
8
|
+
const buildDepGraphYarnLockV1Workspace = async (extractedYarnLockV1Pkgs, pkgJson, workspacePkgNameToVersion, options) => {
|
|
8
9
|
const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
|
|
9
10
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
|
|
10
11
|
const visitedMap = new Set();
|
|
@@ -16,7 +17,7 @@ const buildDepGraphYarnLockV1Workspace = (extractedYarnLockV1Pkgs, pkgJson, work
|
|
|
16
17
|
dependencies: topLevelDeps,
|
|
17
18
|
isDev: false,
|
|
18
19
|
};
|
|
19
|
-
dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
20
|
+
await dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
20
21
|
return depGraphBuilder.build();
|
|
21
22
|
};
|
|
22
23
|
exports.buildDepGraphYarnLockV1Workspace = buildDepGraphYarnLockV1Workspace;
|
|
@@ -30,9 +31,12 @@ exports.buildDepGraphYarnLockV1Workspace = buildDepGraphYarnLockV1Workspace;
|
|
|
30
31
|
* - A pruned node has id `${originalId}|1`
|
|
31
32
|
* When coming across another workspace package as child node, simply add the node and edge to the graph and mark it as BLACK.
|
|
32
33
|
*/
|
|
33
|
-
const dfsVisit = (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps) => {
|
|
34
|
+
const dfsVisit = async (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps) => {
|
|
34
35
|
visitedMap.add(node.id);
|
|
35
36
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
37
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
38
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
39
|
+
}
|
|
36
40
|
const isWorkspacePkg = !!workspacePkgNameToVersion[name];
|
|
37
41
|
const childNode = (0, util_2.getChildNodeYarnLockV1Workspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
|
|
38
42
|
if (!visitedMap.has(childNode.id)) {
|
|
@@ -41,7 +45,7 @@ const dfsVisit = (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, wo
|
|
|
41
45
|
isWorkspacePkg,
|
|
42
46
|
});
|
|
43
47
|
if (!isWorkspacePkg) {
|
|
44
|
-
dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
48
|
+
await dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV1Pkgs, workspacePkgNameToVersion, strictOutOfSync, includeOptionalDeps);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
depGraphBuilder.connectDep(node.id, childNode.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-depgraph-workspace-package.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAAsE;AAGtE,iCAAyD;
|
|
1
|
+
{"version":3,"file":"build-depgraph-workspace-package.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,kCAAsE;AAGtE,iCAAyD;AACzD,2DAAsD;AAE/C,MAAM,gCAAgC,GAAG,KAAK,EACnD,uBAAuC,EACvC,OAAwB,EACxB,yBAAiD,EACjD,OAA6B,EAC7B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAEzE,MAAM,eAAe,GAAG,IAAI,2BAAe,CACzC,EAAE,IAAI,EAAE,MAAM,EAAE,EAChB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CACjD,CAAC;IAEF,MAAM,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE1C,MAAM,YAAY,GAAG,IAAA,sBAAe,EAAC,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAY;QACxB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,YAAY;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,QAAQ,CACZ,eAAe,EACf,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,mBAAmB,CACpB,CAAC;IAEF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AApCW,QAAA,gCAAgC,oCAoC3C;AAEF;;;;;;;;;GASG;AACH,MAAM,QAAQ,GAAG,KAAK,EACpB,eAAgC,EAChC,IAAa,EACb,UAAuB,EACvB,uBAAuC,EACvC,yBAAiD,EACjD,eAAwB,EACxB,mBAA4B,EACb,EAAE;IACjB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAExB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE;QACrE,IAAI,qCAAgB,CAAC,UAAU,EAAE,EAAE;YACjC,MAAM,qCAAgB,CAAC,IAAI,EAAE,CAAC;SAC/B;QACD,MAAM,cAAc,GAAG,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,IAAA,sCAA+B,EAC/C,IAAI,EACJ,OAAO,EACP,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,CACpB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;YACjC,IAAA,wBAAiB,EAAC,eAAe,EAAE,SAAS,EAAE;gBAC5C,QAAQ,EAAE,KAAK;gBACf,cAAc;aACf,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,QAAQ,CACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,mBAAmB,CACpB,CAAC;aACH;SACF;QAED,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;KACnD;AACH,CAAC,CAAC"}
|
|
@@ -10,12 +10,12 @@ const parseYarnLockV1Project = async (pkgJsonContent, yarnLockContent, options)
|
|
|
10
10
|
const pkgs = (0, extract_yarnlock_v1_pkgs_1.extractPkgsFromYarnLockV1)(yarnLockContent);
|
|
11
11
|
const pkgJson = (0, util_1.parsePkgJson)(pkgJsonContent);
|
|
12
12
|
const depGraph = pruneCycles
|
|
13
|
-
? (0, build_depgraph_simple_pruned_1.buildDepGraphYarnLockV1SimpleCyclesPruned)(pkgs, pkgJson, {
|
|
13
|
+
? await (0, build_depgraph_simple_pruned_1.buildDepGraphYarnLockV1SimpleCyclesPruned)(pkgs, pkgJson, {
|
|
14
14
|
includeDevDeps,
|
|
15
15
|
strictOutOfSync,
|
|
16
16
|
includeOptionalDeps,
|
|
17
17
|
})
|
|
18
|
-
: (0, _1.buildDepGraphYarnLockV1Simple)(pkgs, pkgJson, {
|
|
18
|
+
: await (0, _1.buildDepGraphYarnLockV1Simple)(pkgs, pkgJson, {
|
|
19
19
|
includeDevDeps,
|
|
20
20
|
strictOutOfSync,
|
|
21
21
|
includeOptionalDeps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/simple.ts"],"names":[],"mappings":";;;AAAA,wBAAkD;AAElD,kCAAuC;AACvC,iFAA2F;AAC3F,yEAAuE;AAGhE,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAAsB,EACtB,eAAuB,EACvB,OAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,GACzE,OAAO,CAAC;IAEV,MAAM,IAAI,GAAG,IAAA,oDAAyB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAoB,IAAA,mBAAY,EAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,IAAA,wEAAyC,EAAC,IAAI,EAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/simple.ts"],"names":[],"mappings":";;;AAAA,wBAAkD;AAElD,kCAAuC;AACvC,iFAA2F;AAC3F,yEAAuE;AAGhE,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAAsB,EACtB,eAAuB,EACvB,OAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,GACzE,OAAO,CAAC;IAEV,MAAM,IAAI,GAAG,IAAA,oDAAyB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAoB,IAAA,mBAAY,EAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,MAAM,IAAA,wEAAyC,EAAC,IAAI,EAAE,OAAO,EAAE;YAC7D,cAAc;YACd,eAAe;YACf,mBAAmB;SACpB,CAAC;QACJ,CAAC,CAAC,MAAM,IAAA,gCAA6B,EAAC,IAAI,EAAE,OAAO,EAAE;YACjD,cAAc;YACd,eAAe;YACf,mBAAmB;SACpB,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAzBW,QAAA,sBAAsB,0BAyBjC"}
|
|
@@ -5,6 +5,7 @@ const build_depgraph_workspace_package_pruned_1 = require("./build-depgraph-work
|
|
|
5
5
|
const build_depgraph_workspace_package_1 = require("./build-depgraph-workspace-package");
|
|
6
6
|
const extract_yarnlock_v1_pkgs_1 = require("./extract-yarnlock-v1-pkgs");
|
|
7
7
|
const util_1 = require("../util");
|
|
8
|
+
const c_map_1 = require("../../c-map");
|
|
8
9
|
const parseYarnLockV1WorkspaceProject = async (yarnLockContent, workspacePackagesPkgJsons, options) => {
|
|
9
10
|
const { includeDevDeps, includeOptionalDeps, pruneCycles, strictOutOfSync } = options;
|
|
10
11
|
const extractedYarnLockV1Pkgs = (0, extract_yarnlock_v1_pkgs_1.extractPkgsFromYarnLockV1)(yarnLockContent);
|
|
@@ -15,14 +16,14 @@ const parseYarnLockV1WorkspaceProject = async (yarnLockContent, workspacePackage
|
|
|
15
16
|
workspacePkgNameToVersion[parsedPkgJson.name] = parsedPkgJson.version;
|
|
16
17
|
return parsedPkgJson;
|
|
17
18
|
});
|
|
18
|
-
const depGraphs =
|
|
19
|
+
const depGraphs = (0, c_map_1.cMap)(parsedWorkspacePkgJsons, async (parsedPkgJson) => {
|
|
19
20
|
return pruneCycles
|
|
20
|
-
? (0, build_depgraph_workspace_package_pruned_1.buildDepGraphYarnLockV1WorkspaceCyclesPruned)(extractedYarnLockV1Pkgs, parsedPkgJson, workspacePkgNameToVersion, {
|
|
21
|
+
? await (0, build_depgraph_workspace_package_pruned_1.buildDepGraphYarnLockV1WorkspaceCyclesPruned)(extractedYarnLockV1Pkgs, parsedPkgJson, workspacePkgNameToVersion, {
|
|
21
22
|
includeDevDeps,
|
|
22
23
|
strictOutOfSync,
|
|
23
24
|
includeOptionalDeps,
|
|
24
25
|
})
|
|
25
|
-
: (0, build_depgraph_workspace_package_1.buildDepGraphYarnLockV1Workspace)(extractedYarnLockV1Pkgs, parsedPkgJson, workspacePkgNameToVersion, {
|
|
26
|
+
: await (0, build_depgraph_workspace_package_1.buildDepGraphYarnLockV1Workspace)(extractedYarnLockV1Pkgs, parsedPkgJson, workspacePkgNameToVersion, {
|
|
26
27
|
includeDevDeps,
|
|
27
28
|
strictOutOfSync,
|
|
28
29
|
includeOptionalDeps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/workspaces.ts"],"names":[],"mappings":";;;AAEA,uGAAyG;AACzG,yFAAsF;AACtF,yEAAuE;AACvE,kCAAuC;
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/workspaces.ts"],"names":[],"mappings":";;;AAEA,uGAAyG;AACzG,yFAAsF;AACtF,yEAAuE;AACvE,kCAAuC;AAEvC,uCAAmC;AAE5B,MAAM,+BAA+B,GAAG,KAAK,EAClD,eAAuB,EACvB,yBAAmC,EACnC,OAA4B,EACP,EAAE;IACvB,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,GACzE,OAAO,CAAC;IAEV,MAAM,uBAAuB,GAAG,IAAA,oDAAyB,EAAC,eAAe,CAAC,CAAC;IAE3E,8EAA8E;IAC9E,MAAM,yBAAyB,GAAG,EAAE,CAAC;IACrC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,GAAG,CAC3D,CAAC,gBAAgB,EAAE,EAAE;QACnB,MAAM,aAAa,GAAoB,IAAA,mBAAY,EAAC,gBAAgB,CAAC,CAAC;QACtE,yBAAyB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QACtE,OAAO,aAAa,CAAC;IACvB,CAAC,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,YAAI,EAAC,uBAAuB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;QACtE,OAAO,WAAW;YAChB,CAAC,CAAC,MAAM,IAAA,sFAA4C,EAChD,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB;gBACE,cAAc;gBACd,eAAe;gBACf,mBAAmB;aACpB,CACF;YACH,CAAC,CAAC,MAAM,IAAA,mEAAgC,EACpC,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB;gBACE,cAAc;gBACd,eAAe;gBACf,mBAAmB;aACpB,CACF,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA7CW,QAAA,+BAA+B,mCA6C1C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { YarnLockV2ProjectParseOptions } from '../types';
|
|
2
2
|
import type { NormalisedPkgs, PackageJsonBase } from '../types';
|
|
3
|
-
export declare const buildDepGraphYarnLockV2Simple: (extractedYarnLockV2Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options:
|
|
3
|
+
export declare const buildDepGraphYarnLockV2Simple: (extractedYarnLockV2Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: YarnLockV2ProjectParseOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
|
|
@@ -4,10 +4,10 @@ exports.buildDepGraphYarnLockV2Simple = void 0;
|
|
|
4
4
|
const dep_graph_1 = require("@snyk/dep-graph");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const event_loop_spinner_1 = require("event-loop-spinner");
|
|
8
|
+
const buildDepGraphYarnLockV2Simple = async (extractedYarnLockV2Pkgs, pkgJson, options) => {
|
|
9
|
+
const { includeDevDeps, strictOutOfSync, includeOptionalDeps, pruneWithinTopLevelDeps, } = options;
|
|
9
10
|
const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
|
|
10
|
-
const visitedMap = new Set();
|
|
11
11
|
const topLevelDeps = (0, util_1.getTopLevelDeps)(pkgJson, {
|
|
12
12
|
includeDevDeps,
|
|
13
13
|
});
|
|
@@ -18,7 +18,7 @@ const buildDepGraphYarnLockV2Simple = (extractedYarnLockV2Pkgs, pkgJson, options
|
|
|
18
18
|
dependencies: topLevelDeps,
|
|
19
19
|
isDev: false,
|
|
20
20
|
};
|
|
21
|
-
dfsVisit(depGraphBuilder, rootNode,
|
|
21
|
+
await dfsVisit(depGraphBuilder, rootNode, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, pkgJson.resolutions || {}, pruneWithinTopLevelDeps);
|
|
22
22
|
return depGraphBuilder.build();
|
|
23
23
|
};
|
|
24
24
|
exports.buildDepGraphYarnLockV2Simple = buildDepGraphYarnLockV2Simple;
|
|
@@ -28,15 +28,36 @@ exports.buildDepGraphYarnLockV2Simple = buildDepGraphYarnLockV2Simple;
|
|
|
28
28
|
* - If a node doesn't exist in the map, it means it hasn't been visited.
|
|
29
29
|
* - If a node is already visited, simply connect the new node with this node.
|
|
30
30
|
*/
|
|
31
|
-
const dfsVisit = (depGraphBuilder, node,
|
|
32
|
-
visitedMap.add(node.id);
|
|
31
|
+
const dfsVisit = async (depGraphBuilder, node, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions, pruneWithinTopLevel, visited) => {
|
|
33
32
|
for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
|
|
33
|
+
if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
|
|
34
|
+
await event_loop_spinner_1.eventLoopSpinner.spin();
|
|
35
|
+
}
|
|
36
|
+
const localVisited = visited || new Set();
|
|
34
37
|
const childNode = (0, utils_1.getYarnLockV2ChildNode)(name, depInfo, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions, node);
|
|
35
|
-
if (
|
|
36
|
-
(
|
|
37
|
-
|
|
38
|
+
if (localVisited.has(childNode.id)) {
|
|
39
|
+
if (pruneWithinTopLevel) {
|
|
40
|
+
const prunedId = `${childNode.id}:pruned`;
|
|
41
|
+
depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, prunedId, {
|
|
42
|
+
labels: Object.assign({ scope: node.isDev ? 'dev' : 'prod', pruned: 'true' }, (node.missingLockFileEntry && {
|
|
43
|
+
missingLockFileEntry: 'true',
|
|
44
|
+
})),
|
|
45
|
+
});
|
|
46
|
+
depGraphBuilder.connectDep(node.id, prunedId);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
depGraphBuilder.connectDep(node.id, childNode.id);
|
|
50
|
+
}
|
|
51
|
+
continue;
|
|
38
52
|
}
|
|
53
|
+
depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, childNode.id, {
|
|
54
|
+
labels: Object.assign({ scope: node.isDev ? 'dev' : 'prod' }, (node.missingLockFileEntry && {
|
|
55
|
+
missingLockFileEntry: 'true',
|
|
56
|
+
})),
|
|
57
|
+
});
|
|
39
58
|
depGraphBuilder.connectDep(node.id, childNode.id);
|
|
59
|
+
localVisited.add(childNode.id);
|
|
60
|
+
await dfsVisit(depGraphBuilder, childNode, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions, pruneWithinTopLevel, localVisited);
|
|
40
61
|
}
|
|
41
62
|
};
|
|
42
63
|
//# sourceMappingURL=build-depgraph-simple.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-depgraph-simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"build-depgraph-simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { YarnLockV2ProjectParseOptions } from '../types';
|
|
2
|
+
import { DepGraph } from '@snyk/dep-graph';
|
|
3
|
+
export declare const parseYarnLockV2Project: (pkgJsonContent: string, yarnLockContent: string, options: YarnLockV2ProjectParseOptions) => Promise<DepGraph>;
|
|
@@ -4,14 +4,15 @@ exports.parseYarnLockV2Project = void 0;
|
|
|
4
4
|
const extract_yarnlock_v2_pkgs_1 = require("./extract-yarnlock-v2-pkgs");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const build_depgraph_simple_1 = require("./build-depgraph-simple");
|
|
7
|
-
const parseYarnLockV2Project = (pkgJsonContent, yarnLockContent, options) => {
|
|
8
|
-
const { includeDevDeps, includeOptionalDeps, strictOutOfSync } = options;
|
|
7
|
+
const parseYarnLockV2Project = async (pkgJsonContent, yarnLockContent, options) => {
|
|
8
|
+
const { includeDevDeps, includeOptionalDeps, strictOutOfSync, pruneWithinTopLevelDeps, } = options;
|
|
9
9
|
const pkgs = (0, extract_yarnlock_v2_pkgs_1.extractPkgsFromYarnLockV2)(yarnLockContent);
|
|
10
10
|
const pkgJson = (0, util_1.parsePkgJson)(pkgJsonContent);
|
|
11
|
-
const depgraph = (0, build_depgraph_simple_1.buildDepGraphYarnLockV2Simple)(pkgs, pkgJson, {
|
|
11
|
+
const depgraph = await (0, build_depgraph_simple_1.buildDepGraphYarnLockV2Simple)(pkgs, pkgJson, {
|
|
12
12
|
includeDevDeps,
|
|
13
13
|
strictOutOfSync,
|
|
14
14
|
includeOptionalDeps,
|
|
15
|
+
pruneWithinTopLevelDeps,
|
|
15
16
|
});
|
|
16
17
|
return depgraph;
|
|
17
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/simple.ts"],"names":[],"mappings":";;;AAAA,yEAAuE;AACvE,kCAAuC;AAEvC,mEAAwE;
|
|
1
|
+
{"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/simple.ts"],"names":[],"mappings":";;;AAAA,yEAAuE;AACvE,kCAAuC;AAEvC,mEAAwE;AAGjE,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAAsB,EACtB,eAAuB,EACvB,OAAsC,EACnB,EAAE;IACrB,MAAM,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,uBAAuB,GACxB,GAAG,OAAO,CAAC;IAEZ,MAAM,IAAI,GAAG,IAAA,oDAAyB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAoB,IAAA,mBAAY,EAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,MAAM,IAAA,qDAA6B,EAAC,IAAI,EAAE,OAAO,EAAE;QAClE,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,uBAAuB;KACxB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAxBW,QAAA,sBAAsB,0BAwBjC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError } from '
|
|
|
3
3
|
import { buildDepGraphFromCliOutput } from './cli-parsers';
|
|
4
4
|
export { buildDepTree, buildDepTreeFromFiles, buildDepGraphFromCliOutput, getYarnWorkspacesFromFiles, getYarnWorkspaces, PkgTree, Scope, LockfileType, UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError, ManifestFile, };
|
|
5
5
|
import { parseNpmLockV2Project, extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, extractPkgsFromYarnLockV2, parseYarnLockV2Project, buildDepGraphYarnLockV2Simple } from './dep-graph-builders';
|
|
6
|
-
import type { PackageJsonBase, NormalisedPkgs, ProjectParseOptions } from './dep-graph-builders/types';
|
|
6
|
+
import type { PackageJsonBase, NormalisedPkgs, ProjectParseOptions, YarnLockV2ProjectParseOptions } from './dep-graph-builders/types';
|
|
7
7
|
import { getLockfileVersionFromFile, getNpmLockfileVersion, getYarnLockfileVersion, NodeLockfileVersion } from './utils';
|
|
8
|
-
export { parseNpmLockV2Project, extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, extractPkgsFromYarnLockV2, parseYarnLockV2Project, buildDepGraphYarnLockV2Simple, PackageJsonBase, ProjectParseOptions, NormalisedPkgs, NormalisedPkgs as YarnLockPackages, getLockfileVersionFromFile, getNpmLockfileVersion, getYarnLockfileVersion, NodeLockfileVersion, };
|
|
8
|
+
export { parseNpmLockV2Project, extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, extractPkgsFromYarnLockV2, parseYarnLockV2Project, buildDepGraphYarnLockV2Simple, PackageJsonBase, ProjectParseOptions, YarnLockV2ProjectParseOptions, NormalisedPkgs, NormalisedPkgs as YarnLockPackages, getLockfileVersionFromFile, getNpmLockfileVersion, getYarnLockfileVersion, NodeLockfileVersion, };
|
|
9
9
|
declare function buildDepTree(manifestFileContents: string, lockFileContents: string, includeDev?: boolean, lockfileType?: LockfileType, strictOutOfSync?: boolean, defaultManifestFileName?: string): Promise<PkgTree>;
|
|
10
10
|
declare function buildDepTreeFromFiles(root: string, manifestFilePath: string, lockFilePath: string, includeDev?: boolean, strictOutOfSync?: boolean): Promise<PkgTree>;
|
|
11
11
|
declare function getYarnWorkspacesFromFiles(root: any, manifestFilePath: string): string[] | false;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,uCASmB;AAkBjB,sFAtBA,eAAK,OAsBA;AACL,6FArBA,sBAAY,OAqBA;AAHZ,kGAjBA,2BAAiB,OAiBA;AAfnB,uEAAkE;AAClE,iEAA4D;AAC5D,mEAA8D;AAC9D,qCAIkB;AAYhB,wGAfA,gCAAuB,OAeA;AACvB,sGAfA,8BAAqB,OAeA;AACrB,+FAfA,uBAAc,OAeA;AAbhB,+CAA2D;AAKzD,2GALO,wCAA0B,OAKP;AAY5B,mDAAmD;AACnD,mDAAmD;AACnD,6DAY8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"event-loop-spinner": "^2.0.0",
|
|
39
39
|
"js-yaml": "^4.1.0",
|
|
40
40
|
"lodash.clonedeep": "^4.5.0",
|
|
41
|
+
"p-map": "^4.0.0",
|
|
41
42
|
"lodash.flatmap": "^4.5.0",
|
|
42
43
|
"lodash.isempty": "^4.4.0",
|
|
43
44
|
"lodash.topairs": "^4.3.0",
|
|
@@ -64,5 +65,5 @@
|
|
|
64
65
|
"typescript": "4.8.4"
|
|
65
66
|
},
|
|
66
67
|
"packageManager": "yarn@2.4.1",
|
|
67
|
-
"version": "1.
|
|
68
|
+
"version": "1.50.0"
|
|
68
69
|
}
|