snyk-nodejs-lockfile-parser 1.44.0 → 1.45.1

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 (49) hide show
  1. package/dist/dep-graph-builders/index.d.ts +2 -1
  2. package/dist/dep-graph-builders/index.js +5 -1
  3. package/dist/dep-graph-builders/index.js.map +1 -1
  4. package/dist/dep-graph-builders/types.d.ts +18 -0
  5. package/dist/dep-graph-builders/util.d.ts +2 -6
  6. package/dist/dep-graph-builders/util.js +1 -24
  7. package/dist/dep-graph-builders/util.js.map +1 -1
  8. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.d.ts +3 -3
  9. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple-pruned.js.map +1 -1
  10. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.d.ts +3 -3
  11. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-simple.js.map +1 -1
  12. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.d.ts +3 -3
  13. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js +2 -1
  14. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package-pruned.js.map +1 -1
  15. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.d.ts +3 -3
  16. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js +2 -1
  17. package/dist/dep-graph-builders/yarn-lock-v1/build-depgraph-workspace-package.js.map +1 -1
  18. package/dist/dep-graph-builders/yarn-lock-v1/extract-yarnlock-v1-pkgs.d.ts +2 -2
  19. package/dist/dep-graph-builders/yarn-lock-v1/extract-yarnlock-v1-pkgs.js.map +1 -1
  20. package/dist/dep-graph-builders/yarn-lock-v1/simple.d.ts +1 -1
  21. package/dist/dep-graph-builders/yarn-lock-v1/util.d.ts +6 -0
  22. package/dist/dep-graph-builders/yarn-lock-v1/util.js +30 -0
  23. package/dist/dep-graph-builders/yarn-lock-v1/util.js.map +1 -0
  24. package/dist/dep-graph-builders/yarn-lock-v1/workspaces.d.ts +1 -1
  25. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.d.ts +3 -0
  26. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js +40 -0
  27. package/dist/dep-graph-builders/yarn-lock-v2/build-depgraph-simple.js.map +1 -0
  28. package/dist/dep-graph-builders/yarn-lock-v2/extract-yarnlock-v2-pkgs.d.ts +2 -0
  29. package/dist/dep-graph-builders/yarn-lock-v2/extract-yarnlock-v2-pkgs.js +26 -0
  30. package/dist/dep-graph-builders/yarn-lock-v2/extract-yarnlock-v2-pkgs.js.map +1 -0
  31. package/dist/dep-graph-builders/yarn-lock-v2/index.d.ts +4 -0
  32. package/dist/dep-graph-builders/yarn-lock-v2/index.js +10 -0
  33. package/dist/dep-graph-builders/yarn-lock-v2/index.js.map +1 -0
  34. package/dist/dep-graph-builders/yarn-lock-v2/simple.d.ts +2 -0
  35. package/dist/dep-graph-builders/yarn-lock-v2/simple.js +19 -0
  36. package/dist/dep-graph-builders/yarn-lock-v2/simple.js.map +1 -0
  37. package/dist/dep-graph-builders/yarn-lock-v2/utils.d.ts +30 -0
  38. package/dist/dep-graph-builders/yarn-lock-v2/utils.js +138 -0
  39. package/dist/dep-graph-builders/yarn-lock-v2/utils.js.map +1 -0
  40. package/dist/index.d.ts +4 -5
  41. package/dist/index.js +11 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/utils.d.ts +10 -0
  44. package/dist/utils.js +56 -0
  45. package/dist/utils.js.map +1 -0
  46. package/package.json +1 -1
  47. package/dist/dep-graph-builders/yarn-lock-v1/types.d.ts +0 -16
  48. package/dist/dep-graph-builders/yarn-lock-v1/types.js +0 -3
  49. package/dist/dep-graph-builders/yarn-lock-v1/types.js.map +0 -1
@@ -1,2 +1,3 @@
1
1
  import { parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, extractPkgsFromYarnLockV1 } from './yarn-lock-v1';
2
- export { parseYarnLockV1Project, buildDepGraphYarnLockV1Workspace, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, parseYarnLockV1WorkspaceProject, extractPkgsFromYarnLockV1, };
2
+ import { buildDepGraphYarnLockV2Simple, parseYarnLockV2Project, extractPkgsFromYarnLockV2 } from './yarn-lock-v2';
3
+ export { parseYarnLockV1Project, buildDepGraphYarnLockV1Workspace, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, parseYarnLockV1WorkspaceProject, extractPkgsFromYarnLockV1, buildDepGraphYarnLockV2Simple, parseYarnLockV2Project, extractPkgsFromYarnLockV2, };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractPkgsFromYarnLockV1 = exports.parseYarnLockV1WorkspaceProject = exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = exports.buildDepGraphYarnLockV1Simple = exports.buildDepGraphYarnLockV1SimpleCyclesPruned = exports.buildDepGraphYarnLockV1Workspace = exports.parseYarnLockV1Project = void 0;
3
+ exports.extractPkgsFromYarnLockV2 = exports.parseYarnLockV2Project = exports.buildDepGraphYarnLockV2Simple = exports.extractPkgsFromYarnLockV1 = exports.parseYarnLockV1WorkspaceProject = exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = exports.buildDepGraphYarnLockV1Simple = exports.buildDepGraphYarnLockV1SimpleCyclesPruned = exports.buildDepGraphYarnLockV1Workspace = exports.parseYarnLockV1Project = void 0;
4
4
  const yarn_lock_v1_1 = require("./yarn-lock-v1");
5
5
  Object.defineProperty(exports, "parseYarnLockV1Project", { enumerable: true, get: function () { return yarn_lock_v1_1.parseYarnLockV1Project; } });
6
6
  Object.defineProperty(exports, "parseYarnLockV1WorkspaceProject", { enumerable: true, get: function () { return yarn_lock_v1_1.parseYarnLockV1WorkspaceProject; } });
@@ -9,4 +9,8 @@ Object.defineProperty(exports, "buildDepGraphYarnLockV1Simple", { enumerable: tr
9
9
  Object.defineProperty(exports, "buildDepGraphYarnLockV1WorkspaceCyclesPruned", { enumerable: true, get: function () { return yarn_lock_v1_1.buildDepGraphYarnLockV1WorkspaceCyclesPruned; } });
10
10
  Object.defineProperty(exports, "buildDepGraphYarnLockV1Workspace", { enumerable: true, get: function () { return yarn_lock_v1_1.buildDepGraphYarnLockV1Workspace; } });
11
11
  Object.defineProperty(exports, "extractPkgsFromYarnLockV1", { enumerable: true, get: function () { return yarn_lock_v1_1.extractPkgsFromYarnLockV1; } });
12
+ const yarn_lock_v2_1 = require("./yarn-lock-v2");
13
+ Object.defineProperty(exports, "buildDepGraphYarnLockV2Simple", { enumerable: true, get: function () { return yarn_lock_v2_1.buildDepGraphYarnLockV2Simple; } });
14
+ Object.defineProperty(exports, "parseYarnLockV2Project", { enumerable: true, get: function () { return yarn_lock_v2_1.parseYarnLockV2Project; } });
15
+ Object.defineProperty(exports, "extractPkgsFromYarnLockV2", { enumerable: true, get: function () { return yarn_lock_v2_1.extractPkgsFromYarnLockV2; } });
12
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/dep-graph-builders/index.ts"],"names":[],"mappings":";;;AAAA,iDAQwB;AAGtB,uGAVA,qCAAsB,OAUA;AAKtB,gHAdA,8CAA+B,OAcA;AAH/B,0HAVA,wDAAyC,OAUA;AACzC,8GAVA,4CAA6B,OAUA;AAC7B,6HAVA,2DAA4C,OAUA;AAH5C,iHANA,+CAAgC,OAMA;AAKhC,0GAVA,wCAAyB,OAUA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/dep-graph-builders/index.ts"],"names":[],"mappings":";;;AAAA,iDAQwB;AAQtB,uGAfA,qCAAsB,OAeA;AAKtB,gHAnBA,8CAA+B,OAmBA;AAH/B,0HAfA,wDAAyC,OAeA;AACzC,8GAfA,4CAA6B,OAeA;AAC7B,6HAfA,2DAA4C,OAeA;AAH5C,iHAXA,+CAAgC,OAWA;AAKhC,0GAfA,wCAAyB,OAeA;AAb3B,iDAIwB;AAUtB,8GAbA,4CAA6B,OAaA;AAC7B,uGAbA,qCAAsB,OAaA;AACtB,0GAbA,wCAAyB,OAaA"}
@@ -3,6 +3,7 @@ export declare type PackageJsonBase = {
3
3
  version: string;
4
4
  dependencies?: Record<string, string>;
5
5
  devDependencies?: Record<string, string>;
6
+ resolutions?: Record<string, string>;
6
7
  };
7
8
  export declare type NpmLockfileV2 = {
8
9
  name: string;
@@ -26,3 +27,20 @@ export declare type NpmLockfileV2Package = {
26
27
  version: string;
27
28
  dependencies?: Record<string, string>;
28
29
  };
30
+ export declare type PkgIdentifier = string;
31
+ export declare type NormalisedPkgs = Record<PkgIdentifier, {
32
+ version: string;
33
+ dependencies: Record<string, string>;
34
+ optionalDependencies: Record<string, string>;
35
+ }>;
36
+ export declare type DepGraphBuildOptions = {
37
+ includeDevDeps: boolean;
38
+ includeOptionalDeps: boolean;
39
+ strictOutOfSync: boolean;
40
+ };
41
+ export declare type LockFileParseOptions = {
42
+ includeOptionalDeps: boolean;
43
+ };
44
+ export declare type ProjectParseOptions = DepGraphBuildOptions & LockFileParseOptions & {
45
+ pruneCycles: boolean;
46
+ };
@@ -1,6 +1,6 @@
1
1
  import { PackageJsonBase } from './types';
2
2
  import { DepGraphBuilder } from '@snyk/dep-graph';
3
- import { YarnLockPackages } from './yarn-lock-v1/types';
3
+ import { NormalisedPkgs } from './types';
4
4
  export declare type Dependencies = Record<string, {
5
5
  version: string;
6
6
  isDev: boolean;
@@ -33,8 +33,4 @@ export declare function parsePkgJson(pkgJsonContent: string): PackageJsonBase;
33
33
  export declare const getChildNode: (name: string, depInfo: {
34
34
  version: string;
35
35
  isDev: boolean;
36
- }, pkgs: YarnLockPackages, strictOutOfSync: boolean, includeOptionalDeps: boolean) => PkgNode;
37
- export declare const getChildNodeWorkspace: (name: string, depInfo: {
38
- version: string;
39
- isDev: boolean;
40
- }, workspacePkgNameToVersion: Record<string, string>, pkgs: YarnLockPackages, strictOutOfSync: boolean, includeOptionalDeps: boolean) => PkgNode;
36
+ }, pkgs: NormalisedPkgs, strictOutOfSync: boolean, includeOptionalDeps: boolean) => PkgNode;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getChildNodeWorkspace = exports.getChildNode = exports.parsePkgJson = exports.getGraphDependencies = exports.getTopLevelDeps = exports.addPkgNodeToGraph = void 0;
3
+ exports.getChildNode = exports.parsePkgJson = exports.getGraphDependencies = exports.getTopLevelDeps = exports.addPkgNodeToGraph = void 0;
4
4
  const errors_1 = require("../errors");
5
5
  const errors_2 = require("../errors");
6
6
  const parsers_1 = require("../parsers");
@@ -81,27 +81,4 @@ const getChildNode = (name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps)
81
81
  return childNode;
82
82
  };
83
83
  exports.getChildNode = getChildNode;
84
- const getChildNodeWorkspace = (name, depInfo, workspacePkgNameToVersion, pkgs, strictOutOfSync, includeOptionalDeps) => {
85
- let childNode;
86
- if (workspacePkgNameToVersion[name]) {
87
- const version = workspacePkgNameToVersion[name];
88
- // This is just to mimic old behavior where when StrictOutOfSync is turned on,
89
- // any cross referencing between workspace packages will lead to a throw
90
- if (strictOutOfSync) {
91
- throw new errors_2.OutOfSyncError(`${name}@${version}`, parsers_1.LockfileType.yarn);
92
- }
93
- childNode = {
94
- id: `${name}@${version}`,
95
- name: name,
96
- version: version,
97
- dependencies: {},
98
- isDev: depInfo.isDev,
99
- };
100
- }
101
- else {
102
- childNode = (0, exports.getChildNode)(name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps);
103
- }
104
- return childNode;
105
- };
106
- exports.getChildNodeWorkspace = getChildNodeWorkspace;
107
84
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/dep-graph-builders/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/dep-graph-builders/util.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { PackageJsonBase } from '../types';
2
- import type { DepGraphBuildOptions, YarnLockPackages } from './types';
3
- export declare const buildDepGraphYarnLockV1SimpleCyclesPruned: (extractedYarnLockV1Pkgs: YarnLockPackages, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
1
+ import type { NormalisedPkgs, PackageJsonBase } from '../types';
2
+ import type { DepGraphBuildOptions } from '../types';
3
+ export declare const buildDepGraphYarnLockV1SimpleCyclesPruned: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
@@ -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,uBAAyC,EACzC,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,uBAAyC,EACzC,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;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,3 +1,3 @@
1
- import type { DepGraphBuildOptions, YarnLockPackages } from './types';
2
- import type { PackageJsonBase } from '../types';
3
- export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: YarnLockPackages, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
1
+ import type { DepGraphBuildOptions } from '../types';
2
+ import type { NormalisedPkgs, PackageJsonBase } from '../types';
3
+ export declare const buildDepGraphYarnLockV1Simple: (extractedYarnLockV1Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
@@ -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,uBAAyC,EACzC,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,uBAAyC,EACzC,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;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,3 +1,3 @@
1
- import type { PackageJsonBase } from '../types';
2
- import type { DepGraphBuildOptions, YarnLockPackages } from './types';
3
- export declare const buildDepGraphYarnLockV1WorkspaceCyclesPruned: (extractedYarnLockV1Pkgs: YarnLockPackages, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
1
+ import type { NormalisedPkgs, PackageJsonBase } from '../types';
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,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = void 0;
4
4
  const dep_graph_1 = require("@snyk/dep-graph");
5
5
  const util_1 = require("../util");
6
+ const util_2 = require("./util");
6
7
  var Color;
7
8
  (function (Color) {
8
9
  Color[Color["GRAY"] = 0] = "GRAY";
@@ -40,7 +41,7 @@ const dfsVisit = (depGraphBuilder, node, colorMap, extractedYarnLockV1Pkgs, work
40
41
  colorMap[node.id] = Color.GRAY;
41
42
  for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
42
43
  const isWorkspacePkg = !!workspacePkgNameToVersion[name];
43
- const childNode = (0, util_1.getChildNodeWorkspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
44
+ const childNode = (0, util_2.getChildNodeYarnLockV1Workspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
44
45
  if (!colorMap.hasOwnProperty(childNode.id)) {
45
46
  (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {
46
47
  isCyclic: false,
@@ -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
- import type { PackageJsonBase } from '../types';
2
- import type { DepGraphBuildOptions, YarnLockPackages } from './types';
3
- export declare const buildDepGraphYarnLockV1Workspace: (extractedYarnLockV1Pkgs: YarnLockPackages, pkgJson: PackageJsonBase, workspacePkgNameToVersion: Record<string, string>, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
1
+ import type { NormalisedPkgs, PackageJsonBase } from '../types';
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,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildDepGraphYarnLockV1Workspace = void 0;
4
4
  const dep_graph_1 = require("@snyk/dep-graph");
5
5
  const util_1 = require("../util");
6
+ const util_2 = require("./util");
6
7
  const buildDepGraphYarnLockV1Workspace = (extractedYarnLockV1Pkgs, pkgJson, workspacePkgNameToVersion, 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 });
@@ -33,7 +34,7 @@ const dfsVisit = (depGraphBuilder, node, visitedMap, extractedYarnLockV1Pkgs, wo
33
34
  visitedMap.add(node.id);
34
35
  for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
35
36
  const isWorkspacePkg = !!workspacePkgNameToVersion[name];
36
- const childNode = (0, util_1.getChildNodeWorkspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
37
+ const childNode = (0, util_2.getChildNodeYarnLockV1Workspace)(name, depInfo, workspacePkgNameToVersion, extractedYarnLockV1Pkgs, strictOutOfSync, includeOptionalDeps);
37
38
  if (!visitedMap.has(childNode.id)) {
38
39
  (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {
39
40
  isCyclic: false,
@@ -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,kCAKiB;AAIV,MAAM,gCAAgC,GAAG,CAC9C,uBAAyC,EACzC,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,uBAAyC,EACzC,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,4BAAqB,EACrC,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;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,2 +1,2 @@
1
- import type { YarnLockPackages } from './types';
2
- export declare const extractPkgsFromYarnLockV1: (yarnLockContent: string) => YarnLockPackages;
1
+ import { NormalisedPkgs } from '../types';
2
+ export declare const extractPkgsFromYarnLockV1: (yarnLockContent: string) => NormalisedPkgs;
@@ -1 +1 @@
1
- {"version":3,"file":"extract-yarnlock-v1-pkgs.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/extract-yarnlock-v1-pkgs.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAGjD,MAAM,yBAAyB,GAAG,CACvC,eAAuB,EACL,EAAE;IACpB,OAAO,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC,CAAC;AAJW,QAAA,yBAAyB,6BAIpC"}
1
+ {"version":3,"file":"extract-yarnlock-v1-pkgs.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/extract-yarnlock-v1-pkgs.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAGjD,MAAM,yBAAyB,GAAG,CACvC,eAAuB,EACP,EAAE;IAClB,OAAO,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC,CAAC;AAJW,QAAA,yBAAyB,6BAIpC"}
@@ -1,2 +1,2 @@
1
- import { ProjectParseOptions } from './types';
1
+ import { ProjectParseOptions } from '../types';
2
2
  export declare const parseYarnLockV1Project: (pkgJsonContent: string, yarnLockContent: string, options: ProjectParseOptions) => Promise<import("@snyk/dep-graph").DepGraph>;
@@ -0,0 +1,6 @@
1
+ import { NormalisedPkgs } from '../types';
2
+ import { PkgNode } from '../util';
3
+ export declare const getChildNodeYarnLockV1Workspace: (name: string, depInfo: {
4
+ version: string;
5
+ isDev: boolean;
6
+ }, workspacePkgNameToVersion: Record<string, string>, pkgs: NormalisedPkgs, strictOutOfSync: boolean, includeOptionalDeps: boolean) => PkgNode;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChildNodeYarnLockV1Workspace = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const parsers_1 = require("../../parsers");
6
+ const util_1 = require("../util");
7
+ const getChildNodeYarnLockV1Workspace = (name, depInfo, workspacePkgNameToVersion, pkgs, strictOutOfSync, includeOptionalDeps) => {
8
+ let childNode;
9
+ if (workspacePkgNameToVersion[name]) {
10
+ const version = workspacePkgNameToVersion[name];
11
+ // This is just to mimic old behavior where when StrictOutOfSync is turned on,
12
+ // any cross referencing between workspace packages will lead to a throw
13
+ if (strictOutOfSync) {
14
+ throw new errors_1.OutOfSyncError(`${name}@${version}`, parsers_1.LockfileType.yarn);
15
+ }
16
+ childNode = {
17
+ id: `${name}@${version}`,
18
+ name: name,
19
+ version: version,
20
+ dependencies: {},
21
+ isDev: depInfo.isDev,
22
+ };
23
+ }
24
+ else {
25
+ childNode = (0, util_1.getChildNode)(name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps);
26
+ }
27
+ return childNode;
28
+ };
29
+ exports.getChildNodeYarnLockV1Workspace = getChildNodeYarnLockV1Workspace;
30
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/util.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAC9C,2CAA6C;AAE7C,kCAAgD;AAEzC,MAAM,+BAA+B,GAAG,CAC7C,IAAY,EACZ,OAA4C,EAC5C,yBAAiD,EACjD,IAAoB,EACpB,eAAwB,EACxB,mBAA4B,EAC5B,EAAE;IACF,IAAI,SAAkB,CAAC;IAEvB,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;QACnC,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEhD,8EAA8E;QAC9E,wEAAwE;QACxE,IAAI,eAAe,EAAE;YACnB,MAAM,IAAI,uBAAc,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,sBAAY,CAAC,IAAI,CAAC,CAAC;SACnE;QAED,SAAS,GAAG;YACV,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE;YACxB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;KACH;SAAM;QACL,SAAS,GAAG,IAAA,mBAAY,EACtB,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,eAAe,EACf,mBAAmB,CACpB,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AArCW,QAAA,+BAA+B,mCAqC1C"}
@@ -1,3 +1,3 @@
1
1
  import { DepGraph } from '@snyk/dep-graph';
2
- import { ProjectParseOptions } from './types';
2
+ import { ProjectParseOptions } from '../types';
3
3
  export declare const parseYarnLockV1WorkspaceProject: (yarnLockContent: string, workspacePackagesPkgJsons: string[], options: ProjectParseOptions) => Promise<DepGraph[]>;
@@ -0,0 +1,3 @@
1
+ import type { DepGraphBuildOptions } from '../types';
2
+ import type { NormalisedPkgs, PackageJsonBase } from '../types';
3
+ export declare const buildDepGraphYarnLockV2Simple: (extractedYarnLockV2Pkgs: NormalisedPkgs, pkgJson: PackageJsonBase, options: DepGraphBuildOptions) => import("@snyk/dep-graph").DepGraph;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildDepGraphYarnLockV2Simple = void 0;
4
+ const dep_graph_1 = require("@snyk/dep-graph");
5
+ const util_1 = require("../util");
6
+ const utils_1 = require("./utils");
7
+ const buildDepGraphYarnLockV2Simple = (extractedYarnLockV2Pkgs, pkgJson, options) => {
8
+ const { includeDevDeps, strictOutOfSync, includeOptionalDeps } = options;
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 });
12
+ const rootNode = {
13
+ id: 'root-node',
14
+ name: pkgJson.name,
15
+ version: pkgJson.version,
16
+ dependencies: topLevelDeps,
17
+ isDev: false,
18
+ };
19
+ dfsVisit(depGraphBuilder, rootNode, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, pkgJson.resolutions || {});
20
+ return depGraphBuilder.build();
21
+ };
22
+ exports.buildDepGraphYarnLockV2Simple = buildDepGraphYarnLockV2Simple;
23
+ /**
24
+ * Use DFS to add all nodes and edges to the depGraphBuilder and prune cyclic nodes.
25
+ * The visitedMap keep track of which nodes have already been discovered during traversal.
26
+ * - If a node doesn't exist in the map, it means it hasn't been visited.
27
+ * - If a node is already visited, simply connect the new node with this node.
28
+ */
29
+ const dfsVisit = (depGraphBuilder, node, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions) => {
30
+ visitedMap.add(node.id);
31
+ for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
32
+ const childNode = (0, utils_1.getYarnLockV2ChildNode)(name, depInfo, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions, node);
33
+ if (!visitedMap.has(childNode.id)) {
34
+ (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
35
+ dfsVisit(depGraphBuilder, childNode, visitedMap, extractedYarnLockV2Pkgs, strictOutOfSync, includeOptionalDeps, resolutions);
36
+ }
37
+ depGraphBuilder.connectDep(node.id, childNode.id);
38
+ }
39
+ };
40
+ //# sourceMappingURL=build-depgraph-simple.js.map
@@ -0,0 +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,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,EACnB,OAAO,CAAC,WAAW,IAAI,EAAE,CAC1B,CAAC;IAEF,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC;AAnCW,QAAA,6BAA6B,iCAmCxC;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"}
@@ -0,0 +1,2 @@
1
+ import { NormalisedPkgs } from '../types';
2
+ export declare const extractPkgsFromYarnLockV2: (yarnLockContent: string) => NormalisedPkgs;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractPkgsFromYarnLockV2 = void 0;
4
+ const js_yaml_1 = require("js-yaml");
5
+ const yarnCore = require("@yarnpkg/core");
6
+ const utils_1 = require("./utils");
7
+ const structUtils = yarnCore.structUtils;
8
+ const parseDescriptor = structUtils.parseDescriptor;
9
+ const parseRange = structUtils.parseRange;
10
+ const keyNormalizer = (0, utils_1.yarnLockFileKeyNormalizer)(parseDescriptor, parseRange);
11
+ const extractPkgsFromYarnLockV2 = (yarnLockContent) => {
12
+ const rawYarnLock = (0, js_yaml_1.load)(yarnLockContent, {
13
+ json: true,
14
+ schema: js_yaml_1.FAILSAFE_SCHEMA,
15
+ });
16
+ delete rawYarnLock.__metadata;
17
+ const dependencies = {};
18
+ Object.entries(rawYarnLock).forEach(([fullDescriptor, versionData]) => {
19
+ keyNormalizer(fullDescriptor).forEach((descriptor) => {
20
+ dependencies[descriptor] = versionData;
21
+ });
22
+ });
23
+ return dependencies;
24
+ };
25
+ exports.extractPkgsFromYarnLockV2 = extractPkgsFromYarnLockV2;
26
+ //# sourceMappingURL=extract-yarnlock-v2-pkgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-yarnlock-v2-pkgs.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/extract-yarnlock-v2-pkgs.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,0CAA0C;AAC1C,mCAAoD;AAGpD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;AACzC,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;AACpD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;AAC1C,MAAM,aAAa,GAAG,IAAA,iCAAyB,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAEtE,MAAM,yBAAyB,GAAG,CACvC,eAAuB,EACP,EAAE;IAClB,MAAM,WAAW,GAAQ,IAAA,cAAI,EAAC,eAAe,EAAE;QAC7C,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,yBAAe;KACxB,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,UAAU,CAAC;IAC9B,MAAM,YAAY,GAAmB,EAAE,CAAC;IAExC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CACjC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAgB,EAAE,EAAE;QAC/C,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACnD,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAlBW,QAAA,yBAAyB,6BAkBpC"}
@@ -0,0 +1,4 @@
1
+ import { buildDepGraphYarnLockV2Simple } from './build-depgraph-simple';
2
+ import { extractPkgsFromYarnLockV2 } from './extract-yarnlock-v2-pkgs';
3
+ import { parseYarnLockV2Project } from './simple';
4
+ export { parseYarnLockV2Project, buildDepGraphYarnLockV2Simple, extractPkgsFromYarnLockV2, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractPkgsFromYarnLockV2 = exports.buildDepGraphYarnLockV2Simple = exports.parseYarnLockV2Project = void 0;
4
+ const build_depgraph_simple_1 = require("./build-depgraph-simple");
5
+ Object.defineProperty(exports, "buildDepGraphYarnLockV2Simple", { enumerable: true, get: function () { return build_depgraph_simple_1.buildDepGraphYarnLockV2Simple; } });
6
+ const extract_yarnlock_v2_pkgs_1 = require("./extract-yarnlock-v2-pkgs");
7
+ Object.defineProperty(exports, "extractPkgsFromYarnLockV2", { enumerable: true, get: function () { return extract_yarnlock_v2_pkgs_1.extractPkgsFromYarnLockV2; } });
8
+ const simple_1 = require("./simple");
9
+ Object.defineProperty(exports, "parseYarnLockV2Project", { enumerable: true, get: function () { return simple_1.parseYarnLockV2Project; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/index.ts"],"names":[],"mappings":";;;AAAA,mEAAwE;AAMtE,8GANO,qDAA6B,OAMP;AAL/B,yEAAuE;AAMrE,0GANO,oDAAyB,OAMP;AAL3B,qCAAkD;AAGhD,uGAHO,+BAAsB,OAGP"}
@@ -0,0 +1,2 @@
1
+ import { ProjectParseOptions } from '../types';
2
+ export declare const parseYarnLockV2Project: (pkgJsonContent: string, yarnLockContent: string, options: ProjectParseOptions) => import("@snyk/dep-graph").DepGraph;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseYarnLockV2Project = void 0;
4
+ const extract_yarnlock_v2_pkgs_1 = require("./extract-yarnlock-v2-pkgs");
5
+ const util_1 = require("../util");
6
+ const build_depgraph_simple_1 = require("./build-depgraph-simple");
7
+ const parseYarnLockV2Project = (pkgJsonContent, yarnLockContent, options) => {
8
+ const { includeDevDeps, includeOptionalDeps, strictOutOfSync } = options;
9
+ const pkgs = (0, extract_yarnlock_v2_pkgs_1.extractPkgsFromYarnLockV2)(yarnLockContent);
10
+ const pkgJson = (0, util_1.parsePkgJson)(pkgJsonContent);
11
+ const depgraph = (0, build_depgraph_simple_1.buildDepGraphYarnLockV2Simple)(pkgs, pkgJson, {
12
+ includeDevDeps,
13
+ strictOutOfSync,
14
+ includeOptionalDeps,
15
+ });
16
+ return depgraph;
17
+ };
18
+ exports.parseYarnLockV2Project = parseYarnLockV2Project;
19
+ //# sourceMappingURL=simple.js.map
@@ -0,0 +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"}
@@ -0,0 +1,30 @@
1
+ import { structUtils } from '@yarnpkg/core';
2
+ import { NormalisedPkgs } from '../types';
3
+ import { PkgNode } from '../util';
4
+ export declare type ParseDescriptor = typeof structUtils.parseDescriptor;
5
+ export declare type ParseRange = typeof structUtils.parseRange;
6
+ export declare type YarnLockFileKeyNormalizer = (fullDescriptor: string) => Set<string>;
7
+ export declare const yarnLockFileKeyNormalizer: (parseDescriptor: ParseDescriptor, parseRange: ParseRange) => YarnLockFileKeyNormalizer;
8
+ export declare const getYarnLockV2ChildNode: (name: string, depInfo: {
9
+ version: string;
10
+ isDev: boolean;
11
+ }, pkgs: NormalisedPkgs, strictOutOfSync: boolean, includeOptionalDeps: boolean, resolutions: Record<string, string>, parentNode: PkgNode) => {
12
+ id: string;
13
+ name: string;
14
+ version: string;
15
+ dependencies: {
16
+ [x: string]: {
17
+ version: string;
18
+ isDev: boolean;
19
+ };
20
+ };
21
+ isDev: boolean;
22
+ missingLockFileEntry?: undefined;
23
+ } | {
24
+ id: string;
25
+ name: string;
26
+ version: string;
27
+ dependencies: {};
28
+ isDev: boolean;
29
+ missingLockFileEntry: boolean;
30
+ };
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getYarnLockV2ChildNode = exports.yarnLockFileKeyNormalizer = void 0;
4
+ const _flatMap = require("lodash.flatmap");
5
+ const errors_1 = require("../../errors");
6
+ const parsers_1 = require("../../parsers");
7
+ const util_1 = require("../util");
8
+ const BUILTIN_PLACEHOLDER = 'builtin';
9
+ const MULTIPLE_KEYS_REGEXP = / *, */g;
10
+ const keyNormalizer = (parseDescriptor, parseRange) => (rawDescriptor) => {
11
+ // See https://yarnpkg.com/features/protocols
12
+ const descriptors = [rawDescriptor];
13
+ const descriptor = parseDescriptor(rawDescriptor);
14
+ const name = `${descriptor.scope ? '@' + descriptor.scope + '/' : ''}${descriptor.name}`;
15
+ const range = parseRange(descriptor.range);
16
+ const protocol = range.protocol;
17
+ switch (protocol) {
18
+ case 'npm:':
19
+ case 'file:':
20
+ // This is space inneficient but will be kept for now,
21
+ // Due to how we wish to index using the dependencies map
22
+ // we want the keys to match name@version but this is handled different
23
+ // for npm alias and normal install.
24
+ descriptors.push(`${name}@${range.selector}`);
25
+ descriptors.push(`${name}@${protocol}${range.selector}`);
26
+ break;
27
+ case 'git:':
28
+ case 'git+ssh:':
29
+ case 'git+http:':
30
+ case 'git+https:':
31
+ case 'github:':
32
+ if (range.source) {
33
+ descriptors.push(`${name}@${protocol}${range.source}${range.selector ? '#' + range.selector : ''}`);
34
+ }
35
+ else {
36
+ descriptors.push(`${name}@${protocol}${range.selector}`);
37
+ }
38
+ break;
39
+ case 'patch:':
40
+ if (range.source && range.selector.indexOf(BUILTIN_PLACEHOLDER) === 0) {
41
+ descriptors.push(range.source);
42
+ }
43
+ else {
44
+ descriptors.push(`${name}@${protocol}${range.source}${range.selector ? '#' + range.selector : ''}`);
45
+ }
46
+ break;
47
+ case null:
48
+ case undefined:
49
+ if (range.source) {
50
+ descriptors.push(`${name}@${range.source}#${range.selector}`);
51
+ }
52
+ else {
53
+ descriptors.push(`${name}@${range.selector}`);
54
+ }
55
+ break;
56
+ case 'http:':
57
+ case 'https:':
58
+ case 'link:':
59
+ case 'portal:':
60
+ case 'exec:':
61
+ case 'workspace:':
62
+ case 'virtual:':
63
+ default:
64
+ // For user defined plugins
65
+ descriptors.push(`${name}@${protocol}${range.selector}`);
66
+ break;
67
+ }
68
+ return descriptors;
69
+ };
70
+ const yarnLockFileKeyNormalizer = (parseDescriptor, parseRange) => (fullDescriptor) => {
71
+ const allKeys = fullDescriptor
72
+ .split(MULTIPLE_KEYS_REGEXP)
73
+ .map(keyNormalizer(parseDescriptor, parseRange));
74
+ return new Set(_flatMap(allKeys));
75
+ };
76
+ exports.yarnLockFileKeyNormalizer = yarnLockFileKeyNormalizer;
77
+ const getYarnLockV2ChildNode = (name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps, resolutions, parentNode) => {
78
+ // First check if a resolution would be used
79
+ const resolvedVersionFromResolution = (() => {
80
+ // First check for scoped then simple
81
+ const scopedKey = `${parentNode.name}/${name}`;
82
+ if (resolutions[scopedKey]) {
83
+ return resolutions[scopedKey];
84
+ }
85
+ else if (resolutions[name]) {
86
+ return resolutions[name];
87
+ }
88
+ return '';
89
+ })();
90
+ if (resolvedVersionFromResolution) {
91
+ const childNodeKeyFromResolution = `${name}@${resolvedVersionFromResolution}`;
92
+ const { version: versionFromResolution, dependencies, optionalDependencies, } = pkgs[childNodeKeyFromResolution];
93
+ const formattedDependencies = (0, util_1.getGraphDependencies)(dependencies || {}, depInfo.isDev);
94
+ const formattedOptionalDependencies = includeOptionalDeps
95
+ ? (0, util_1.getGraphDependencies)(optionalDependencies || {}, depInfo.isDev)
96
+ : {};
97
+ return {
98
+ id: childNodeKeyFromResolution,
99
+ name: name,
100
+ version: versionFromResolution,
101
+ dependencies: Object.assign(Object.assign({}, formattedOptionalDependencies), formattedDependencies),
102
+ isDev: depInfo.isDev,
103
+ };
104
+ }
105
+ // No resolutions
106
+ const childNodeKey = `${name}@${depInfo.version}`;
107
+ if (!pkgs[childNodeKey]) {
108
+ if (strictOutOfSync && !/^file:/.test(depInfo.version)) {
109
+ throw new errors_1.OutOfSyncError(childNodeKey, parsers_1.LockfileType.yarn2);
110
+ }
111
+ else {
112
+ return {
113
+ id: childNodeKey,
114
+ name: name,
115
+ version: depInfo.version,
116
+ dependencies: {},
117
+ isDev: depInfo.isDev,
118
+ missingLockFileEntry: true,
119
+ };
120
+ }
121
+ }
122
+ else {
123
+ const depData = pkgs[childNodeKey];
124
+ const dependencies = (0, util_1.getGraphDependencies)(depData.dependencies || {}, depInfo.isDev);
125
+ const optionalDependencies = includeOptionalDeps
126
+ ? (0, util_1.getGraphDependencies)(depData.optionalDependencies || {}, depInfo.isDev)
127
+ : {};
128
+ return {
129
+ id: `${name}@${depData.version}`,
130
+ name: name,
131
+ version: depData.version,
132
+ dependencies: Object.assign(Object.assign({}, dependencies), optionalDependencies),
133
+ isDev: depInfo.isDev,
134
+ };
135
+ }
136
+ };
137
+ exports.getYarnLockV2ChildNode = getYarnLockV2ChildNode;
138
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v2/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,11 +2,10 @@ import { ManifestFile, PkgTree, Scope, LockfileType, getYarnWorkspaces } from '.
2
2
  import { UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError } from './errors';
3
3
  import { buildDepGraphFromCliOutput } from './cli-parsers';
4
4
  export { buildDepTree, buildDepTreeFromFiles, buildDepGraphFromCliOutput, getYarnWorkspacesFromFiles, getYarnWorkspaces, PkgTree, Scope, LockfileType, UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError, ManifestFile, };
5
- import { extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace } from './dep-graph-builders';
6
- export { extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, };
7
- import type { PackageJsonBase } from './dep-graph-builders/types';
8
- import type { YarnLockPackages } from './dep-graph-builders/yarn-lock-v1/types';
9
- export { PackageJsonBase, YarnLockPackages };
5
+ import { 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';
7
+ import { getLockfileVersionFromFile, getNpmLockfileVersion, getYarnLockfileVersion, NodeLockfileVersion } from './utils';
8
+ export { extractPkgsFromYarnLockV1, parseYarnLockV1Project, parseYarnLockV1WorkspaceProject, buildDepGraphYarnLockV1SimpleCyclesPruned, buildDepGraphYarnLockV1Simple, buildDepGraphYarnLockV1WorkspaceCyclesPruned, buildDepGraphYarnLockV1Workspace, extractPkgsFromYarnLockV2, parseYarnLockV2Project, buildDepGraphYarnLockV2Simple, PackageJsonBase, ProjectParseOptions, NormalisedPkgs, NormalisedPkgs as YarnLockPackages, getLockfileVersionFromFile, getNpmLockfileVersion, getYarnLockfileVersion, NodeLockfileVersion, };
10
9
  declare function buildDepTree(manifestFileContents: string, lockFileContents: string, includeDev?: boolean, lockfileType?: LockfileType, strictOutOfSync?: boolean, defaultManifestFileName?: string): Promise<PkgTree>;
11
10
  declare function buildDepTreeFromFiles(root: string, manifestFilePath: string, lockFilePath: string, includeDev?: boolean, strictOutOfSync?: boolean): Promise<PkgTree>;
12
11
  declare function getYarnWorkspacesFromFiles(root: any, manifestFilePath: string): string[] | false;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getYarnLockfileType = exports.buildDepGraphYarnLockV1Workspace = exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = exports.buildDepGraphYarnLockV1Simple = exports.buildDepGraphYarnLockV1SimpleCyclesPruned = exports.parseYarnLockV1WorkspaceProject = exports.parseYarnLockV1Project = exports.extractPkgsFromYarnLockV1 = exports.OutOfSyncError = exports.InvalidUserInputError = exports.UnsupportedRuntimeError = exports.LockfileType = exports.Scope = exports.getYarnWorkspaces = exports.getYarnWorkspacesFromFiles = exports.buildDepGraphFromCliOutput = exports.buildDepTreeFromFiles = exports.buildDepTree = void 0;
3
+ exports.getYarnLockfileType = exports.NodeLockfileVersion = exports.getYarnLockfileVersion = exports.getNpmLockfileVersion = exports.getLockfileVersionFromFile = exports.buildDepGraphYarnLockV2Simple = exports.parseYarnLockV2Project = exports.extractPkgsFromYarnLockV2 = exports.buildDepGraphYarnLockV1Workspace = exports.buildDepGraphYarnLockV1WorkspaceCyclesPruned = exports.buildDepGraphYarnLockV1Simple = exports.buildDepGraphYarnLockV1SimpleCyclesPruned = exports.parseYarnLockV1WorkspaceProject = exports.parseYarnLockV1Project = exports.extractPkgsFromYarnLockV1 = exports.OutOfSyncError = exports.InvalidUserInputError = exports.UnsupportedRuntimeError = exports.LockfileType = exports.Scope = exports.getYarnWorkspaces = exports.getYarnWorkspacesFromFiles = exports.buildDepGraphFromCliOutput = exports.buildDepTreeFromFiles = exports.buildDepTree = void 0;
4
4
  const fs = require("fs");
5
5
  const path = require("path");
6
6
  const parsers_1 = require("./parsers");
@@ -16,8 +16,8 @@ Object.defineProperty(exports, "InvalidUserInputError", { enumerable: true, get:
16
16
  Object.defineProperty(exports, "OutOfSyncError", { enumerable: true, get: function () { return errors_1.OutOfSyncError; } });
17
17
  const cli_parsers_1 = require("./cli-parsers");
18
18
  Object.defineProperty(exports, "buildDepGraphFromCliOutput", { enumerable: true, get: function () { return cli_parsers_1.buildDepGraphFromCliOutput; } });
19
- // New Parser Functions *************
20
- // **********************************
19
+ // Straight to Depgraph Functionality *************
20
+ // ************************************************
21
21
  const dep_graph_builders_1 = require("./dep-graph-builders");
22
22
  Object.defineProperty(exports, "extractPkgsFromYarnLockV1", { enumerable: true, get: function () { return dep_graph_builders_1.extractPkgsFromYarnLockV1; } });
23
23
  Object.defineProperty(exports, "parseYarnLockV1Project", { enumerable: true, get: function () { return dep_graph_builders_1.parseYarnLockV1Project; } });
@@ -26,6 +26,14 @@ Object.defineProperty(exports, "buildDepGraphYarnLockV1SimpleCyclesPruned", { en
26
26
  Object.defineProperty(exports, "buildDepGraphYarnLockV1Simple", { enumerable: true, get: function () { return dep_graph_builders_1.buildDepGraphYarnLockV1Simple; } });
27
27
  Object.defineProperty(exports, "buildDepGraphYarnLockV1WorkspaceCyclesPruned", { enumerable: true, get: function () { return dep_graph_builders_1.buildDepGraphYarnLockV1WorkspaceCyclesPruned; } });
28
28
  Object.defineProperty(exports, "buildDepGraphYarnLockV1Workspace", { enumerable: true, get: function () { return dep_graph_builders_1.buildDepGraphYarnLockV1Workspace; } });
29
+ Object.defineProperty(exports, "extractPkgsFromYarnLockV2", { enumerable: true, get: function () { return dep_graph_builders_1.extractPkgsFromYarnLockV2; } });
30
+ Object.defineProperty(exports, "parseYarnLockV2Project", { enumerable: true, get: function () { return dep_graph_builders_1.parseYarnLockV2Project; } });
31
+ Object.defineProperty(exports, "buildDepGraphYarnLockV2Simple", { enumerable: true, get: function () { return dep_graph_builders_1.buildDepGraphYarnLockV2Simple; } });
32
+ const utils_1 = require("./utils");
33
+ Object.defineProperty(exports, "getLockfileVersionFromFile", { enumerable: true, get: function () { return utils_1.getLockfileVersionFromFile; } });
34
+ Object.defineProperty(exports, "getNpmLockfileVersion", { enumerable: true, get: function () { return utils_1.getNpmLockfileVersion; } });
35
+ Object.defineProperty(exports, "getYarnLockfileVersion", { enumerable: true, get: function () { return utils_1.getYarnLockfileVersion; } });
36
+ Object.defineProperty(exports, "NodeLockfileVersion", { enumerable: true, get: function () { return utils_1.NodeLockfileVersion; } });
29
37
  // **********************************
30
38
  async function buildDepTree(manifestFileContents, lockFileContents, includeDev = false, lockfileType, strictOutOfSync = true, defaultManifestFileName = 'package.json') {
31
39
  if (!lockfileType) {
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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"}
@@ -0,0 +1,10 @@
1
+ export declare enum NodeLockfileVersion {
2
+ NpmLockV1 = "NPM_LOCK_V1",
3
+ NpmLockV2 = "NPM_LOCK_V2",
4
+ NpmLockV3 = "NPM_LOCK_V3",
5
+ YarnLockV1 = "YARN_LOCK_V1",
6
+ YarnLockV2 = "YARN_LOCK_V2"
7
+ }
8
+ export declare const getLockfileVersionFromFile: (targetFile: string) => NodeLockfileVersion;
9
+ export declare function getYarnLockfileVersion(lockFileContents: string): NodeLockfileVersion.YarnLockV1 | NodeLockfileVersion.YarnLockV2;
10
+ export declare function getNpmLockfileVersion(lockFileContents: string): NodeLockfileVersion.NpmLockV1 | NodeLockfileVersion.NpmLockV2 | NodeLockfileVersion.NpmLockV3;
package/dist/utils.js ADDED
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNpmLockfileVersion = exports.getYarnLockfileVersion = exports.getLockfileVersionFromFile = exports.NodeLockfileVersion = void 0;
4
+ const fs_1 = require("fs");
5
+ const errors_1 = require("./errors");
6
+ var NodeLockfileVersion;
7
+ (function (NodeLockfileVersion) {
8
+ NodeLockfileVersion["NpmLockV1"] = "NPM_LOCK_V1";
9
+ NodeLockfileVersion["NpmLockV2"] = "NPM_LOCK_V2";
10
+ NodeLockfileVersion["NpmLockV3"] = "NPM_LOCK_V3";
11
+ NodeLockfileVersion["YarnLockV1"] = "YARN_LOCK_V1";
12
+ NodeLockfileVersion["YarnLockV2"] = "YARN_LOCK_V2";
13
+ })(NodeLockfileVersion = exports.NodeLockfileVersion || (exports.NodeLockfileVersion = {}));
14
+ const getLockfileVersionFromFile = (targetFile) => {
15
+ const lockFileContents = (0, fs_1.readFileSync)(targetFile, 'utf-8');
16
+ if (targetFile.endsWith('package-lock.json')) {
17
+ return getNpmLockfileVersion(lockFileContents);
18
+ }
19
+ else if (targetFile.endsWith('yarn.lock')) {
20
+ return getYarnLockfileVersion(lockFileContents);
21
+ }
22
+ else {
23
+ throw new errors_1.InvalidUserInputError(`Unknown lockfile ${targetFile}. ` +
24
+ 'Please provide either package-lock.json or yarn.lock.');
25
+ }
26
+ };
27
+ exports.getLockfileVersionFromFile = getLockfileVersionFromFile;
28
+ function getYarnLockfileVersion(lockFileContents) {
29
+ if (lockFileContents.includes('__metadata')) {
30
+ return NodeLockfileVersion.YarnLockV2;
31
+ }
32
+ else {
33
+ return NodeLockfileVersion.YarnLockV1;
34
+ }
35
+ }
36
+ exports.getYarnLockfileVersion = getYarnLockfileVersion;
37
+ function getNpmLockfileVersion(lockFileContents) {
38
+ if (lockFileContents.includes(`"lockfileVersion": 1,`)) {
39
+ return NodeLockfileVersion.NpmLockV1;
40
+ }
41
+ else if (lockFileContents.includes(`"lockfileVersion": 2,`)) {
42
+ return NodeLockfileVersion.NpmLockV2;
43
+ }
44
+ else if (lockFileContents.includes(`"lockfileVersion": 3,`)) {
45
+ return NodeLockfileVersion.NpmLockV3;
46
+ }
47
+ else if (!lockFileContents.includes(`"lockfileVersion":`)) {
48
+ return NodeLockfileVersion.NpmLockV1;
49
+ }
50
+ else {
51
+ throw new errors_1.InvalidUserInputError(`Unsupported npm lockfile version in package-lock.json. ` +
52
+ 'Please provide a package-lock.json with lockfileVersion 1, 2 or 3');
53
+ }
54
+ }
55
+ exports.getNpmLockfileVersion = getNpmLockfileVersion;
56
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,qCAAiD;AAEjD,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,gDAAyB,CAAA;IACzB,kDAA2B,CAAA;IAC3B,kDAA2B,CAAA;AAC7B,CAAC,EANW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAM9B;AAEM,MAAM,0BAA0B,GAAG,CACxC,UAAkB,EACG,EAAE;IACvB,MAAM,gBAAgB,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC5C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;KAChD;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC3C,OAAO,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;KACjD;SAAM;QACL,MAAM,IAAI,8BAAqB,CAC7B,oBAAoB,UAAU,IAAI;YAChC,uDAAuD,CAC1D,CAAC;KACH;AACH,CAAC,CAAC;AAdW,QAAA,0BAA0B,8BAcrC;AAEF,SAAgB,sBAAsB,CACpC,gBAAwB;IAExB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QAC3C,OAAO,mBAAmB,CAAC,UAAU,CAAC;KACvC;SAAM;QACL,OAAO,mBAAmB,CAAC,UAAU,CAAC;KACvC;AACH,CAAC;AARD,wDAQC;AAED,SAAgB,qBAAqB,CACnC,gBAAwB;IAKxB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;QACtD,OAAO,mBAAmB,CAAC,SAAS,CAAC;KACtC;SAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;QAC7D,OAAO,mBAAmB,CAAC,SAAS,CAAC;KACtC;SAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;QAC7D,OAAO,mBAAmB,CAAC,SAAS,CAAC;KACtC;SAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAC3D,OAAO,mBAAmB,CAAC,SAAS,CAAC;KACtC;SAAM;QACL,MAAM,IAAI,8BAAqB,CAC7B,yDAAyD;YACvD,mEAAmE,CACtE,CAAC;KACH;AACH,CAAC;AApBD,sDAoBC"}
package/package.json CHANGED
@@ -63,5 +63,5 @@
63
63
  "typescript": "4.8.4"
64
64
  },
65
65
  "packageManager": "yarn@2.4.1",
66
- "version": "1.44.0"
66
+ "version": "1.45.1"
67
67
  }
@@ -1,16 +0,0 @@
1
- export declare type YarnLockPackages = Record<string, {
2
- version: string;
3
- dependencies: Record<string, string>;
4
- optionalDependencies: Record<string, string>;
5
- }>;
6
- export declare type DepGraphBuildOptions = {
7
- includeDevDeps: boolean;
8
- includeOptionalDeps: boolean;
9
- strictOutOfSync: boolean;
10
- };
11
- export declare type LockFileParseOptions = {
12
- includeOptionalDeps: boolean;
13
- };
14
- export declare type ProjectParseOptions = DepGraphBuildOptions & LockFileParseOptions & {
15
- pruneCycles: boolean;
16
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/dep-graph-builders/yarn-lock-v1/types.ts"],"names":[],"mappings":""}