snyk-nodejs-lockfile-parser 1.50.0 → 1.51.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.
@@ -31,3 +31,18 @@ export declare type YarnLockV2ProjectParseOptions = {
31
31
  strictOutOfSync: boolean;
32
32
  pruneWithinTopLevelDeps: boolean;
33
33
  };
34
+ export declare type PruneLevel = 'cycles' | 'withinTopLevelDeps' | 'none';
35
+ export declare type YarnLockV1ProjectParseOptions = {
36
+ includeDevDeps: boolean;
37
+ includeOptionalDeps: boolean;
38
+ includePeerDeps: boolean;
39
+ strictOutOfSync: boolean;
40
+ pruneLevel: PruneLevel;
41
+ };
42
+ export declare type Yarn1DepGraphBuildOptions = {
43
+ includeDevDeps: boolean;
44
+ includeOptionalDeps: boolean;
45
+ includePeerDeps: boolean;
46
+ strictOutOfSync: boolean;
47
+ pruneWithinTopLevelDeps: boolean;
48
+ };
@@ -47,7 +47,7 @@ const dfsVisit = async (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs
47
47
  }
48
48
  else if (colorMap[childNode.id] === Color.GRAY) {
49
49
  // cycle detected
50
- childNode.id = `${childNode.id}|1`;
50
+ childNode.id = `${childNode.id}:pruned`;
51
51
  (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, { isCyclic: true });
52
52
  }
53
53
  depGraphBuilder.connectDep(node.id, childNode.id);
@@ -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;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
+ {"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,SAAS,CAAC;YACxC,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
- import type { DepGraphBuildOptions } from '../types';
1
+ import type { Yarn1DepGraphBuildOptions } from '../types';
2
2
  import type { NormalisedPkgs, PackageJsonBase } from '../types';
3
- export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
3
+ export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: Yarn1DepGraphBuildOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
@@ -5,10 +5,13 @@ const dep_graph_1 = require("@snyk/dep-graph");
5
5
  const util_1 = require("../util");
6
6
  const event_loop_spinner_1 = require("event-loop-spinner");
7
7
  const buildDepGraphYarnLockV1Simple = async (extractedYarnLockV1Pkgs, pkgJson, options) => {
8
- const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
8
+ const { includeDevDeps, includeOptionalDeps, includePeerDeps, strictOutOfSync, pruneWithinTopLevelDeps, } = options;
9
9
  const depGraphBuilder = new dep_graph_1.DepGraphBuilder({ name: 'yarn' }, { name: pkgJson.name, version: pkgJson.version });
10
- const visitedMap = new Set();
11
- const topLevelDeps = (0, util_1.getTopLevelDeps)(pkgJson, { includeDevDeps });
10
+ const topLevelDeps = (0, util_1.getTopLevelDeps)(pkgJson, {
11
+ includeDevDeps,
12
+ includePeerDeps,
13
+ includeOptionalDeps,
14
+ });
12
15
  const rootNode = {
13
16
  id: 'root-node',
14
17
  name: pkgJson.name,
@@ -16,7 +19,7 @@ const buildDepGraphYarnLockV1Simple = async (extractedYarnLockV1Pkgs, pkgJson, o
16
19
  dependencies: topLevelDeps,
17
20
  isDev: false,
18
21
  };
19
- await dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
22
+ await dfsVisit(depGraphBuilder, rootNode, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps, pruneWithinTopLevelDeps);
20
23
  return depGraphBuilder.build();
21
24
  };
22
25
  exports.buildDepGraphYarnLockV1Simple = buildDepGraphYarnLockV1Simple;
@@ -26,18 +29,36 @@ exports.buildDepGraphYarnLockV1Simple = buildDepGraphYarnLockV1Simple;
26
29
  * - If a node doesn't exist in the map, it means it hasn't been visited.
27
30
  * - If a node is already visited, simply connect the new node with this node.
28
31
  */
29
- const dfsVisit = async (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps) => {
30
- visitedMap.add(node.id);
32
+ const dfsVisit = async (depGraphBuilder, node, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps, pruneWithinTopLevel, visited) => {
31
33
  for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
32
34
  if (event_loop_spinner_1.eventLoopSpinner.isStarving()) {
33
35
  await event_loop_spinner_1.eventLoopSpinner.spin();
34
36
  }
37
+ const localVisited = visited || new Set();
35
38
  const childNode = (0, util_1.getChildNode)(name, depInfo, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
36
- if (!visitedMap.has(childNode.id)) {
37
- (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
38
- await dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
39
+ if (localVisited.has(childNode.id)) {
40
+ if (pruneWithinTopLevel) {
41
+ const prunedId = `${childNode.id}:pruned`;
42
+ depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, prunedId, {
43
+ labels: Object.assign({ scope: node.isDev ? 'dev' : 'prod', pruned: 'true' }, (node.missingLockFileEntry && {
44
+ missingLockFileEntry: 'true',
45
+ })),
46
+ });
47
+ depGraphBuilder.connectDep(node.id, prunedId);
48
+ }
49
+ else {
50
+ depGraphBuilder.connectDep(node.id, childNode.id);
51
+ }
52
+ continue;
39
53
  }
54
+ depGraphBuilder.addPkgNode({ name: childNode.name, version: childNode.version }, childNode.id, {
55
+ labels: Object.assign({ scope: node.isDev ? 'dev' : 'prod' }, (node.missingLockFileEntry && {
56
+ missingLockFileEntry: 'true',
57
+ })),
58
+ });
40
59
  depGraphBuilder.connectDep(node.id, childNode.id);
60
+ localVisited.add(childNode.id);
61
+ await dfsVisit(depGraphBuilder, childNode, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps, pruneWithinTopLevel, localVisited);
41
62
  }
42
63
  };
43
64
  //# sourceMappingURL=build-depgraph-simple.js.map
@@ -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;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
+ {"version":3,"file":"build-depgraph-simple.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { ProjectParseOptions } from '../types';
2
- export declare const parseYarnLockV1Project: (pkgJsonContent: string, yarnLockContent: string, options: ProjectParseOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
1
+ import { YarnLockV1ProjectParseOptions } from '../types';
2
+ export declare const parseYarnLockV1Project: (pkgJsonContent: string, yarnLockContent: string, options: YarnLockV1ProjectParseOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
@@ -6,10 +6,10 @@ const util_1 = require("../util");
6
6
  const build_depgraph_simple_pruned_1 = require("./build-depgraph-simple-pruned");
7
7
  const extract_yarnlock_v1_pkgs_1 = require("./extract-yarnlock-v1-pkgs");
8
8
  const parseYarnLockV1Project = async (pkgJsonContent, yarnLockContent, options) => {
9
- const { includeDevDeps, includeOptionalDeps, pruneCycles, strictOutOfSync } = options;
9
+ const { includeDevDeps, includeOptionalDeps, includePeerDeps, pruneLevel, strictOutOfSync, } = options;
10
10
  const pkgs = (0, extract_yarnlock_v1_pkgs_1.extractPkgsFromYarnLockV1)(yarnLockContent);
11
11
  const pkgJson = (0, util_1.parsePkgJson)(pkgJsonContent);
12
- const depGraph = pruneCycles
12
+ const depGraph = pruneLevel === 'cycles'
13
13
  ? await (0, build_depgraph_simple_pruned_1.buildDepGraphYarnLockV1SimpleCyclesPruned)(pkgs, pkgJson, {
14
14
  includeDevDeps,
15
15
  strictOutOfSync,
@@ -17,8 +17,10 @@ const parseYarnLockV1Project = async (pkgJsonContent, yarnLockContent, options)
17
17
  })
18
18
  : await (0, _1.buildDepGraphYarnLockV1Simple)(pkgs, pkgJson, {
19
19
  includeDevDeps,
20
- strictOutOfSync,
21
20
  includeOptionalDeps,
21
+ includePeerDeps,
22
+ strictOutOfSync,
23
+ pruneWithinTopLevelDeps: pruneLevel === 'withinTopLevelDeps',
22
24
  });
23
25
  return depGraph;
24
26
  };
@@ -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,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"}
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;AAEhE,MAAM,sBAAsB,GAAG,KAAK,EACzC,cAAsB,EACtB,eAAuB,EACvB,OAAsC,EACtC,EAAE;IACF,MAAM,EACJ,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,eAAe,GAChB,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,GACZ,UAAU,KAAK,QAAQ;QACrB,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,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,uBAAuB,EAAE,UAAU,KAAK,oBAAoB;SAC7D,CAAC,CAAC;IAET,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC"}
package/package.json CHANGED
@@ -65,5 +65,5 @@
65
65
  "typescript": "4.8.4"
66
66
  },
67
67
  "packageManager": "yarn@2.4.1",
68
- "version": "1.50.0"
68
+ "version": "1.51.0"
69
69
  }