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.
Files changed (32) hide show
  1. package/dist/c-map.d.ts +10 -0
  2. package/dist/c-map.js +24 -0
  3. package/dist/c-map.js.map +1 -0
  4. package/dist/dep-graph-builders/npm-lock-v2/index.d.ts +3 -2
  5. package/dist/dep-graph-builders/npm-lock-v2/index.js +10 -6
  6. package/dist/dep-graph-builders/npm-lock-v2/index.js.map +1 -1
  7. package/dist/dep-graph-builders/types.d.ts +6 -0
  8. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.d.ts +1 -1
  9. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.js +8 -4
  10. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.js.map +1 -1
  11. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.d.ts +1 -1
  12. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.js +8 -4
  13. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.js.map +1 -1
  14. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.d.ts +1 -1
  15. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js +8 -4
  16. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js.map +1 -1
  17. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.d.ts +1 -1
  18. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js +8 -4
  19. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js.map +1 -1
  20. package/dist/dep-graph-builders/yarn-lock-v1/simple.js +2 -2
  21. package/dist/dep-graph-builders/yarn-lock-v1/simple.js.map +1 -1
  22. package/dist/dep-graph-builders/yarn-lock-v1/workspaces.js +4 -3
  23. package/dist/dep-graph-builders/yarn-lock-v1/workspaces.js.map +1 -1
  24. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.d.ts +2 -2
  25. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js +30 -9
  26. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js.map +1 -1
  27. package/dist/dep-graph-builders/yarn-lock-v2/simple.d.ts +3 -2
  28. package/dist/dep-graph-builders/yarn-lock-v2/simple.js +4 -3
  29. package/dist/dep-graph-builders/yarn-lock-v2/simple.js.map +1 -1
  30. package/dist/index.d.ts +2 -2
  31. package/dist/index.js.map +1 -1
  32. package/package.json +2 -1
@@ -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) => import("@snyk/dep-graph").DepGraph;
6
- export declare const buildDepGraphNpmLockV2: (npmLockPkgs: Record<string, NpmLockPkg>, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
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 parseNpmLockV2Project = (pkgJsonContent, pkgLockContent, options) => {
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":"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"}
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;AAIjB,IAAK,KAGJ;AAHD,WAAK,KAAK;IACR,iCAAI,CAAA;IACJ,mCAAK,CAAA;AACP,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAEM,MAAM,yCAAyC,GAAG,CACvD,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,QAAQ,CACN,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,CACf,eAAgC,EAChC,IAAa,EACb,QAA+B,EAC/B,uBAAuC,EACvC,eAAwB,EACxB,mBAA4B,EACtB,EAAE;IACR,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,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,QAAQ,CACN,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
+ {"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 buildDepGraphYarnLockV1Simple = (extractedYarnLockV1Pkgs, pkgJson, options) => {
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;AAIV,MAAM,6BAA6B,GAAG,CAC3C,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,QAAQ,CACN,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,CACf,eAAgC,EAChC,IAAa,EACb,UAAuB,EACvB,uBAAuC,EACvC,eAAwB,EACxB,mBAA4B,EACtB,EAAE;IACR,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,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,QAAQ,CACN,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
+ {"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":"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"}
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 buildDepGraphYarnLockV1Workspace = (extractedYarnLockV1Pkgs, pkgJson, workspacePkgNameToVersion, options) => {
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;AAElD,MAAM,gCAAgC,GAAG,CAC9C,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,QAAQ,CACN,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,CACf,eAAgC,EAChC,IAAa,EACb,UAAuB,EACvB,uBAAuC,EACvC,yBAAiD,EACjD,eAAwB,EACxB,mBAA4B,EACtB,EAAE;IACR,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,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,QAAQ,CACN,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"}
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;YACvD,cAAc;YACd,eAAe;YACf,mBAAmB;SACpB,CAAC;QACJ,CAAC,CAAC,IAAA,gCAA6B,EAAC,IAAI,EAAE,OAAO,EAAE;YAC3C,cAAc;YACd,eAAe;YACf,mBAAmB;SACpB,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAzBW,QAAA,sBAAsB,0BAyBjC"}
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 = parsedWorkspacePkgJsons.map((parsedPkgJson) => {
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;AAGhC,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,uBAAuB,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;QAC9D,OAAO,WAAW;YAChB,CAAC,CAAC,IAAA,sFAA4C,EAC1C,uBAAuB,EACvB,aAAa,EACb,yBAAyB,EACzB;gBACE,cAAc;gBACd,eAAe;gBACf,mBAAmB;aACpB,CACF;YACH,CAAC,CAAC,IAAA,mEAAgC,EAC9B,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
+ {"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 { DepGraphBuildOptions } from '../types';
1
+ import type { YarnLockV2ProjectParseOptions } from '../types';
2
2
  import type { NormalisedPkgs, PackageJsonBase } from '../types';
3
- export declare const buildDepGraphYarnLockV2Simple: (extractedYarnLockV2Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
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 buildDepGraphYarnLockV2Simple = (extractedYarnLockV2Pkgs, pkgJson, options) => {
8
- const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
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, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, pkgJson.resolutions || {});
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, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions) => {
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 (!visitedMap.has(childNode.id)) {
36
- (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
37
- dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions);
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,kCAAsE;AAGtE,mCAAiD;AAE1C,MAAM,6BAA6B,GAAG,CAC3C,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;QAC5C,cAAc;KACf,CAAC,CAAC;IAEH,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,QAAQ,CACN,eAAe,EACf,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,OAAO,CAAC,WAAW,IAAI,EAAE,CAC1B,CAAC;IAEF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AArCW,QAAA,6BAA6B,iCAqCxC;AAEF;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CACf,eAAgC,EAChC,IAAa,EACb,UAAuB,EACvB,uBAAuC,EACvC,eAAwB,EACxB,mBAA4B,EAC5B,WAAmC,EAC7B,EAAE;IACR,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,MAAM,SAAS,GAAG,IAAA,8BAAsB,EACtC,IAAI,EACJ,OAAO,EACP,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,IAAI,CACL,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,QAAQ,CACN,eAAe,EACf,SAAS,EACT,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,WAAW,CACZ,CAAC;SACH;QAED,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;KACnD;AACH,CAAC,CAAC"}
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 { ProjectParseOptions } from '../types';
2
- export declare const parseYarnLockV2Project: (pkgJsonContent: string, yarnLockContent: string, options: ProjectParseOptions) => import("@snyk/dep-graph").DepGraph;
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;AAEjE,MAAM,sBAAsB,GAAG,CACpC,cAAsB,EACtB,eAAuB,EACvB,OAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEzE,MAAM,IAAI,GAAG,IAAA,oDAAyB,EAAC,eAAe,CAAC,CAAC;IAExD,MAAM,OAAO,GAAoB,IAAA,mBAAY,EAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,qDAA6B,EAAC,IAAI,EAAE,OAAO,EAAE;QAC5D,cAAc;QACd,eAAe;QACf,mBAAmB;KACpB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC"}
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":"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"}
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.48.3"
68
+ "version": "1.50.0"
68
69
  }