snyk-nodejs-lockfile-parser 1.34.1 → 1.36.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.
@@ -0,0 +1,27 @@
1
+ export interface FormattedCliOutput {
2
+ topLevelDeps: string[];
3
+ dependencies: FlatDependenciesMap;
4
+ }
5
+ export declare type FlatDependenciesMap = Map<string, string[]>;
6
+ export declare type YarnInfoOutput = Array<{
7
+ value: string;
8
+ children: {
9
+ Version: string;
10
+ Dependents?: string[];
11
+ Dependencies?: {
12
+ descriptor: string;
13
+ locator: string;
14
+ }[];
15
+ };
16
+ }>;
17
+ export interface YarnListTree {
18
+ name: string;
19
+ children: {
20
+ name: string;
21
+ color: string;
22
+ shadow: boolean;
23
+ }[];
24
+ hint: string | null;
25
+ color: string | null;
26
+ depth: number;
27
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cli-parser-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-parser-types.js","sourceRoot":"","sources":["../../lib/cli-parsers/cli-parser-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare const extractNameAndIdentifier: (candidate: string) => {
2
+ name: string;
3
+ identifier: string;
4
+ };
5
+ export declare const extractCorrectIdentifierBySemver: (possibleMatches: string[], versionToMatch: string) => string;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractCorrectIdentifierBySemver = exports.extractNameAndIdentifier = void 0;
4
+ const semver = require("semver");
5
+ const extractNameAndIdentifier = (candidate) => {
6
+ const index = candidate.indexOf('@', 1);
7
+ const name = candidate.slice(0, index);
8
+ const identifier = candidate.slice(index + 1);
9
+ return { name, identifier };
10
+ };
11
+ exports.extractNameAndIdentifier = extractNameAndIdentifier;
12
+ // This function will choose an item in a particular list that satisfies the semver provided
13
+ // i.e. possibleMatches = [debug@1.2.0, debug@2.2.6] and versionToMatch = debug@~2.2.0
14
+ // will result in debug@2.2.6 - This is required as yarn list does not have the resolved semver
15
+ // in dependencies.
16
+ const extractCorrectIdentifierBySemver = (possibleMatches, versionToMatch) => {
17
+ const { name: nameToMatch, identifier: identifierToMatch, } = exports.extractNameAndIdentifier(versionToMatch);
18
+ const hasQualifiers = isNaN(parseInt(identifierToMatch[0]));
19
+ if (!hasQualifiers) {
20
+ return versionToMatch;
21
+ }
22
+ // Check for matching name, if only one found shortcircuit
23
+ const match = possibleMatches
24
+ .filter((name) => name.startsWith(nameToMatch))
25
+ .filter((name) => semver.satisfies(exports.extractNameAndIdentifier(name).identifier, identifierToMatch))
26
+ .map((name) => ({
27
+ name,
28
+ identifier: exports.extractNameAndIdentifier(name).identifier,
29
+ }))
30
+ .reduce((acc, item) => semver.gt(item.identifier, acc.identifier) ? item : acc);
31
+ return match.name;
32
+ };
33
+ exports.extractCorrectIdentifierBySemver = extractCorrectIdentifierBySemver;
34
+ //# sourceMappingURL=cli-parser-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-parser-utils.js","sourceRoot":"","sources":["../../lib/cli-parsers/cli-parser-utils.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAE1B,MAAM,wBAAwB,GAAG,CACtC,SAAiB,EACqB,EAAE;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC,CAAC;AAPW,QAAA,wBAAwB,4BAOnC;AAEF,4FAA4F;AAC5F,sFAAsF;AACtF,+FAA+F;AAC/F,mBAAmB;AACZ,MAAM,gCAAgC,GAAG,CAC9C,eAAyB,EACzB,cAAsB,EACd,EAAE;IACV,MAAM,EACJ,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,iBAAiB,GAC9B,GAAG,gCAAwB,CAAC,cAAc,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IACD,0DAA0D;IAC1D,MAAM,KAAK,GAAG,eAAe;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,MAAM,CAAC,SAAS,CACd,gCAAwB,CAAC,IAAI,CAAC,CAAC,UAAU,EACzC,iBAAiB,CAClB,CACF;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,UAAU,EAAE,gCAAwB,CAAC,IAAI,CAAC,CAAC,UAAU;KACtD,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACpB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CACxD,CAAC;IAEJ,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC,CAAC;AA/BW,QAAA,gCAAgC,oCA+B3C"}
@@ -0,0 +1,2 @@
1
+ import { DepGraph } from '@snyk/dep-graph';
2
+ export declare const buildDepGraphFromCliOutput: (rawCliOutput: string, lockfileContent: string, manifestFileContent: string) => DepGraph;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildDepGraphFromCliOutput = void 0;
4
+ const dep_graph_1 = require("@snyk/dep-graph");
5
+ const __1 = require("..");
6
+ const parsers_1 = require("../parsers");
7
+ const cli_parser_utils_1 = require("./cli-parser-utils");
8
+ const yarn_info_parser_1 = require("./yarn-info-parser");
9
+ const yarn_list_parser_1 = require("./yarn-list-parser");
10
+ const buildDepGraphFromCliOutput = (rawCliOutput, lockfileContent, manifestFileContent) => {
11
+ const manifestDependencies = JSON.parse(manifestFileContent).dependencies || {};
12
+ const lockfileType = __1.getYarnLockfileType(lockfileContent);
13
+ const { name: rootName, version: rootVersion } = JSON.parse(manifestFileContent);
14
+ const pkgManagerVersion = lockfileType === parsers_1.LockfileType.yarn ? '1' : '2';
15
+ // Build depMap object from the cli output
16
+ const formattedCliOutput = pkgManagerVersion === '1'
17
+ ? yarn_list_parser_1.parseYarnListOutput(rawCliOutput, manifestDependencies)
18
+ : yarn_info_parser_1.parseYarnInfoOutput(rawCliOutput);
19
+ const rootPkgInfo = rootName
20
+ ? Object.assign({ name: rootName }, (rootVersion && { version: rootVersion })) : undefined;
21
+ const pkgManager = {
22
+ name: 'yarn',
23
+ version: pkgManagerVersion,
24
+ };
25
+ const builder = new dep_graph_1.DepGraphBuilder(pkgManager, rootPkgInfo);
26
+ const { topLevelDeps, dependencies: depMap } = formattedCliOutput;
27
+ // Add all nodes
28
+ [...depMap.keys()].forEach((name) => {
29
+ const { name: pkgName, identifier: pkgVersion } = cli_parser_utils_1.extractNameAndIdentifier(name);
30
+ builder.addPkgNode({ name: pkgName, version: pkgVersion.split(':').pop() }, name);
31
+ });
32
+ // Deal with root special case first
33
+ const rootNodeId = builder.rootNodeId;
34
+ topLevelDeps.forEach((dep) => builder.connectDep(rootNodeId, dep));
35
+ // Now rest of deps
36
+ [...depMap.entries()].forEach(([parent, deps]) => {
37
+ deps.forEach((dep) => {
38
+ builder.connectDep(parent, dep);
39
+ });
40
+ });
41
+ return builder.build();
42
+ };
43
+ exports.buildDepGraphFromCliOutput = buildDepGraphFromCliOutput;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/cli-parsers/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAC5D,0BAAyC;AACzC,wCAA0C;AAE1C,yDAA8D;AAC9D,yDAAyD;AACzD,yDAAyD;AAElD,MAAM,0BAA0B,GAAG,CACxC,YAAoB,EACpB,eAAuB,EACvB,mBAA2B,EACjB,EAAE;IACZ,MAAM,oBAAoB,GACxB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;IAErD,MAAM,YAAY,GAAG,uBAAmB,CAAC,eAAe,CAAC,CAAC;IAE1D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CACzD,mBAAmB,CACpB,CAAC;IAEF,MAAM,iBAAiB,GACrB,YAAY,KAAK,sBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjD,0CAA0C;IAC1C,MAAM,kBAAkB,GACtB,iBAAiB,KAAK,GAAG;QACvB,CAAC,CAAC,sCAAmB,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACzD,CAAC,CAAC,sCAAmB,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,WAAW,GAAuC,QAAQ;QAC9D,CAAC,iBAAG,IAAI,EAAE,QAAQ,IAAK,CAAC,WAAW,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAChE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,iBAAiB;KAC3B,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,2BAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAE7D,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC;IAElE,gBAAgB;IAChB,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,2CAAwB,CACxE,IAAI,CACL,CAAC;QACF,OAAO,CAAC,UAAU,CAChB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAY,EAAE,EACjE,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnE,mBAAmB;IACnB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;QAC/C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC,CAAC;AA3DW,QAAA,0BAA0B,8BA2DrC"}
@@ -0,0 +1,2 @@
1
+ import { FormattedCliOutput } from './cli-parser-types';
2
+ export declare const parseYarnInfoOutput: (rawYarnInfoOutput: string) => FormattedCliOutput;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseYarnInfoOutput = void 0;
4
+ const parseYarnInfoOutput = (rawYarnInfoOutput) => {
5
+ const formattedYarnInfo = rawYarnInfoOutput
6
+ .split('\n')
7
+ .filter(Boolean)
8
+ .map((el) => JSON.parse(el));
9
+ const formattedInfoOutput = formattedYarnInfo.reduce((result, { value, children }) => {
10
+ var _a;
11
+ const dependencies = ((_a = children.Dependencies) === null || _a === void 0 ? void 0 : _a.map((el) => el.locator.replace(/@virtual:.*#/, '@'))) || [];
12
+ return result.set(value, dependencies);
13
+ }, new Map());
14
+ const rootWorkspaceKey = [...formattedInfoOutput.keys()].find((el) => el.includes('@workspace:.'));
15
+ const topLevelDeps = formattedInfoOutput.get(rootWorkspaceKey) || [];
16
+ // Now we have rootdeps we delete the key
17
+ formattedInfoOutput.delete(rootWorkspaceKey);
18
+ return { topLevelDeps, dependencies: formattedInfoOutput };
19
+ };
20
+ exports.parseYarnInfoOutput = parseYarnInfoOutput;
21
+ //# sourceMappingURL=yarn-info-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yarn-info-parser.js","sourceRoot":"","sources":["../../lib/cli-parsers/yarn-info-parser.ts"],"names":[],"mappings":";;;AAMO,MAAM,mBAAmB,GAAG,CACjC,iBAAyB,EACL,EAAE;IACtB,MAAM,iBAAiB,GAAmB,iBAAiB;SACxD,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/B,MAAM,mBAAmB,GAAwB,iBAAiB,CAAC,MAAM,CACvE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;;QAC9B,MAAM,YAAY,GAChB,CAAA,MAAA,QAAQ,CAAC,YAAY,0CAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAChC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CACxC,KAAI,EAAE,CAAC;QAEV,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC,EACD,IAAI,GAAG,EAAoB,CAC5B,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACnE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAClB,CAAC;IACZ,MAAM,YAAY,GAChB,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAElD,yCAAyC;IACzC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE7C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAC7D,CAAC,CAAC;AA9BW,QAAA,mBAAmB,uBA8B9B"}
@@ -0,0 +1,2 @@
1
+ import { FormattedCliOutput } from './cli-parser-types';
2
+ export declare const parseYarnListOutput: (rawYarnListOutput: string, manifestDependencies: Record<string, string>) => FormattedCliOutput;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseYarnListOutput = void 0;
4
+ const cli_parser_utils_1 = require("./cli-parser-utils");
5
+ const parseYarnListOutput = (rawYarnListOutput, manifestDependencies) => {
6
+ const formattedYarnList = JSON.parse(rawYarnListOutput).data
7
+ .trees;
8
+ // Reference to all (resolved) dep names to help cleanup in next step
9
+ const names = formattedYarnList.map((tree) => tree.name);
10
+ const formattedListOutput = formattedYarnList.reduce((result, tree) => {
11
+ const dependencies = tree.children.map((child) => cli_parser_utils_1.extractCorrectIdentifierBySemver(names, child.name));
12
+ return result.set(tree.name, dependencies);
13
+ }, new Map());
14
+ const topLevelDeps = getTopLevelDependencies(formattedListOutput, manifestDependencies);
15
+ return { topLevelDeps, dependencies: formattedListOutput };
16
+ };
17
+ exports.parseYarnListOutput = parseYarnListOutput;
18
+ const getTopLevelDependencies = (formattedListOutput, topLevelDeps) => {
19
+ // This logic is to construct an item for the rootPkg because
20
+ // we are dealing with a flat map so far so can't tell
21
+ const names = [...formattedListOutput.keys()];
22
+ return Object.entries(topLevelDeps).map(([name, version]) => cli_parser_utils_1.extractCorrectIdentifierBySemver(names, `${name}@${version}`));
23
+ };
24
+ //# sourceMappingURL=yarn-list-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yarn-list-parser.js","sourceRoot":"","sources":["../../lib/cli-parsers/yarn-list-parser.ts"],"names":[],"mappings":";;;AAKA,yDAAsE;AAE/D,MAAM,mBAAmB,GAAG,CACjC,iBAAyB,EACzB,oBAA4C,EACxB,EAAE;IACtB,MAAM,iBAAiB,GAAmB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI;SACzE,KAAK,CAAC;IAET,qEAAqE;IACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,mBAAmB,GAAwB,iBAAiB,CAAC,MAAM,CACvE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,mDAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CACpD,CAAC;QAEF,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC,EACD,IAAI,GAAG,EAAoB,CAC5B,CAAC;IAEF,MAAM,YAAY,GAAG,uBAAuB,CAC1C,mBAAmB,EACnB,oBAAoB,CACrB,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAC7D,CAAC,CAAC;AA3BW,QAAA,mBAAmB,uBA2B9B;AAEF,MAAM,uBAAuB,GAAG,CAC9B,mBAAwC,EACxC,YAAoC,EACpC,EAAE;IACF,6DAA6D;IAC7D,sDAAsD;IACtD,MAAM,KAAK,GAAG,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAC1D,mDAAgC,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAC9D,CAAC;AACJ,CAAC,CAAC"}
@@ -4,10 +4,12 @@ exports.OutOfSyncError = void 0;
4
4
  const LOCK_FILE_NAME = {
5
5
  npm: 'package-lock.json',
6
6
  yarn: 'yarn.lock',
7
+ yarn2: 'yarn.lock',
7
8
  };
8
9
  const INSTALL_COMMAND = {
9
10
  npm: 'npm install',
10
11
  yarn: 'yarn install',
12
+ yarn2: 'yarn install',
11
13
  };
12
14
  class OutOfSyncError extends Error {
13
15
  constructor(dependencyName, lockFileType) {
@@ -1 +1 @@
1
- {"version":3,"file":"out-of-sync-error.js","sourceRoot":"","sources":["../../lib/errors/out-of-sync-error.ts"],"names":[],"mappings":";;;AAEA,MAAM,cAAc,GAAG;IACrB,GAAG,EAAE,mBAAmB;IACxB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,MAAa,cAAe,SAAQ,KAAK;IAMvC,YAAY,cAAsB,EAAE,YAA0B;QAC5D,KAAK,CACH,cAAc,cAAc,oBAAoB;YAC9C,GAAG,cAAc,CAAC,YAAY,CAAC,0BAA0B;YACzD,GAAG,cAAc,CAAC,YAAY,CAAC,wCAAwC;YACvE,IAAI,eAAe,CAAC,YAAY,CAAC,kBAAkB,CACtD,CAAC;QAXG,SAAI,GAAG,GAAG,CAAC;QACX,SAAI,GAAG,gBAAgB,CAAC;QAW7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;CACF;AAjBD,wCAiBC"}
1
+ {"version":3,"file":"out-of-sync-error.js","sourceRoot":"","sources":["../../lib/errors/out-of-sync-error.ts"],"names":[],"mappings":";;;AAEA,MAAM,cAAc,GAAG;IACrB,GAAG,EAAE,mBAAmB;IACxB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,MAAa,cAAe,SAAQ,KAAK;IAMvC,YAAY,cAAsB,EAAE,YAA0B;QAC5D,KAAK,CACH,cAAc,cAAc,oBAAoB;YAC9C,GAAG,cAAc,CAAC,YAAY,CAAC,0BAA0B;YACzD,GAAG,cAAc,CAAC,YAAY,CAAC,wCAAwC;YACvE,IAAI,eAAe,CAAC,YAAY,CAAC,kBAAkB,CACtD,CAAC;QAXG,SAAI,GAAG,GAAG,CAAC;QACX,SAAI,GAAG,gBAAgB,CAAC;QAW7B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;CACF;AAjBD,wCAiBC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { PkgTree, Scope, LockfileType, getYarnWorkspaces } from './parsers';
1
+ import { ManifestFile, PkgTree, Scope, LockfileType, getYarnWorkspaces } from './parsers';
2
2
  import { UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError } from './errors';
3
- export { buildDepTree, buildDepTreeFromFiles, getYarnWorkspacesFromFiles, getYarnWorkspaces, PkgTree, Scope, LockfileType, UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError, };
3
+ import { buildDepGraphFromCliOutput } from './cli-parsers';
4
+ export { buildDepTree, buildDepTreeFromFiles, buildDepGraphFromCliOutput, getYarnWorkspacesFromFiles, getYarnWorkspaces, PkgTree, Scope, LockfileType, UnsupportedRuntimeError, InvalidUserInputError, OutOfSyncError, ManifestFile, };
4
5
  declare function buildDepTree(manifestFileContents: string, lockFileContents: string, includeDev?: boolean, lockfileType?: LockfileType, strict?: boolean, defaultManifestFileName?: string): Promise<PkgTree>;
5
6
  declare function buildDepTreeFromFiles(root: string, manifestFilePath: string, lockFilePath: string, includeDev?: boolean, strict?: boolean): Promise<PkgTree>;
6
7
  declare function getYarnWorkspacesFromFiles(root: any, manifestFilePath: string): string[] | false;
8
+ export declare function getYarnLockfileType(lockFileContents: string, root?: string, lockFilePath?: string): LockfileType;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OutOfSyncError = exports.InvalidUserInputError = exports.UnsupportedRuntimeError = exports.LockfileType = exports.Scope = exports.getYarnWorkspaces = exports.getYarnWorkspacesFromFiles = exports.buildDepTreeFromFiles = exports.buildDepTree = void 0;
3
+ exports.getYarnLockfileType = 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");
@@ -14,6 +14,8 @@ const errors_1 = require("./errors");
14
14
  Object.defineProperty(exports, "UnsupportedRuntimeError", { enumerable: true, get: function () { return errors_1.UnsupportedRuntimeError; } });
15
15
  Object.defineProperty(exports, "InvalidUserInputError", { enumerable: true, get: function () { return errors_1.InvalidUserInputError; } });
16
16
  Object.defineProperty(exports, "OutOfSyncError", { enumerable: true, get: function () { return errors_1.OutOfSyncError; } });
17
+ const cli_parsers_1 = require("./cli-parsers");
18
+ Object.defineProperty(exports, "buildDepGraphFromCliOutput", { enumerable: true, get: function () { return cli_parsers_1.buildDepGraphFromCliOutput; } });
17
19
  async function buildDepTree(manifestFileContents, lockFileContents, includeDev = false, lockfileType, strict = true, defaultManifestFileName = 'package.json') {
18
20
  if (!lockfileType) {
19
21
  lockfileType = parsers_1.LockfileType.npm;
@@ -100,4 +102,5 @@ function getYarnLockfileType(lockFileContents, root, lockFilePath) {
100
102
  return parsers_1.LockfileType.yarn;
101
103
  }
102
104
  }
105
+ exports.getYarnLockfileType = getYarnLockfileType;
103
106
  //# sourceMappingURL=index.js.map
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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"}
@@ -9,7 +9,7 @@ export interface Dep {
9
9
  interface WorkspacesAlternateConfig {
10
10
  packages?: string[];
11
11
  }
12
- declare type ManifestDependencies = {
12
+ export declare type ManifestDependencies = {
13
13
  [dep: string]: string;
14
14
  };
15
15
  export interface ManifestFile {
@@ -23,6 +23,7 @@ export interface ManifestFile {
23
23
  devDependencies?: ManifestDependencies;
24
24
  optionalDependencies?: ManifestDependencies;
25
25
  peerDependencies?: ManifestDependencies;
26
+ resolutions?: ManifestDependencies;
26
27
  version?: string;
27
28
  }
28
29
  export interface DepTreeDep {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/parsers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/parsers/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Dep, DepTreeDep, Lockfile, LockfileParser, LockfileType, ManifestFile, PkgTree } from './';
1
+ import { Dep, DepTreeDep, Lockfile, LockfileParser, LockfileType, ManifestDependencies, ManifestFile, PkgTree } from './';
2
2
  export interface PackageLockDeps {
3
3
  [depName: string]: PackageLockDep;
4
4
  }
@@ -30,6 +30,7 @@ export declare abstract class LockParserBase implements LockfileParser {
30
30
  private createGraphOfDependencies;
31
31
  private findDepsPath;
32
32
  private createDepTrees;
33
- protected getDepMap(lockfile: Lockfile): DepMap;
33
+ protected getDepMap(lockfile: Lockfile, // eslint-disable-line @typescript-eslint/no-unused-vars
34
+ resolutions?: ManifestDependencies): DepMap;
34
35
  protected getDepTreeKey(dep: Dep): string;
35
36
  }
@@ -41,7 +41,7 @@ class LockParserBase {
41
41
  // prepare a flat map, where dependency path is a key to dependency object
42
42
  // path is an unique identifier for each dependency and corresponds to the
43
43
  // relative path on disc
44
- const depMap = this.getDepMap(yarnLock);
44
+ const depMap = this.getDepMap(yarnLock, manifestFile.resolutions);
45
45
  // all paths are identified, we can create a graph representing what depends on what
46
46
  const depGraph = this.createGraphOfDependencies(depMap);
47
47
  // topological sort will be applied and it requires acyclic graphs
@@ -280,8 +280,8 @@ class LockParserBase {
280
280
  }
281
281
  return { depTrees, depTreesSizes };
282
282
  }
283
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
284
- getDepMap(lockfile) {
283
+ getDepMap(lockfile, // eslint-disable-line @typescript-eslint/no-unused-vars
284
+ resolutions) {
285
285
  throw new Error('Not implemented');
286
286
  }
287
287
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -1 +1 @@
1
- {"version":3,"file":"lock-parser-base.js","sourceRoot":"","sources":["../../lib/parsers/lock-parser-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock-parser-base.js","sourceRoot":"","sources":["../../lib/parsers/lock-parser-base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { LockParserBase, DepMap } from './lock-parser-base';
2
- import { Dep, Lockfile, LockfileType, ManifestFile, PkgTree } from '.';
2
+ import { Dep, Lockfile, LockfileType, ManifestDependencies, ManifestFile, PkgTree } from '.';
3
3
  import { YarnLockDeps } from './yarn-lock-parser';
4
4
  export interface Yarn2Lock {
5
5
  type: string;
@@ -11,6 +11,6 @@ export declare class Yarn2LockParser extends LockParserBase {
11
11
  constructor();
12
12
  parseLockFile(lockFileContents: string): Yarn2Lock;
13
13
  getDependencyTree(manifestFile: ManifestFile, lockfile: Lockfile, includeDev?: boolean, strict?: boolean): Promise<PkgTree>;
14
- protected getDepMap(lockfile: Lockfile): DepMap;
14
+ protected getDepMap(lockfile: Lockfile, resolutions?: ManifestDependencies): DepMap;
15
15
  protected getDepTreeKey(dep: Dep): string;
16
16
  }
@@ -46,17 +46,19 @@ class Yarn2LockParser extends lock_parser_base_1.LockParserBase {
46
46
  const depTreeWithMeta = Object.assign(Object.assign({}, depTree), { meta: Object.assign(Object.assign({}, depTree.meta), meta) });
47
47
  return depTreeWithMeta;
48
48
  }
49
- getDepMap(lockfile) {
49
+ getDepMap(lockfile, resolutions) {
50
50
  const yarnLockfile = lockfile;
51
51
  const depMap = {};
52
+ const dependencies = lockfile.dependencies || {};
52
53
  for (const [depName, dep] of Object.entries(yarnLockfile.object)) {
53
- const subDependencies = Object.entries(Object.assign(Object.assign({}, (dep.dependencies || {})), (dep.optionalDependencies || {})));
54
+ const subDependencies = Object.entries(Object.assign(Object.assign({}, (dep.dependencies || {})), (dep.optionalDependencies || {}))).map(([key, ver]) => findResolutions(dependencies, depName, key, resolutions) ||
55
+ `${key}@${ver}`);
54
56
  depMap[depName] = {
55
57
  labels: {
56
58
  scope: _1.Scope.prod,
57
59
  },
58
60
  name: getName(depName),
59
- requires: subDependencies.map(([key, ver]) => `${key}@${ver}`),
61
+ requires: subDependencies,
60
62
  version: dep.version,
61
63
  };
62
64
  }
@@ -70,4 +72,28 @@ exports.Yarn2LockParser = Yarn2LockParser;
70
72
  function getName(depName) {
71
73
  return depName.slice(0, depName.indexOf('@', 1));
72
74
  }
75
+ function findResolutions(dependencies, depName, subDepKey, resolutions) {
76
+ if (!resolutions)
77
+ return;
78
+ const resolutionKeys = Object.keys(resolutions);
79
+ const index = depName.indexOf('@', 1);
80
+ const name = depName.slice(0, index);
81
+ const version = depName.slice(index + 1);
82
+ const firstMatchingResolution = resolutionKeys.find((res) => {
83
+ if (!res.endsWith(subDepKey)) {
84
+ return false;
85
+ }
86
+ const leadingPkg = res.split(subDepKey)[0].slice(0, -1);
87
+ const noSpecifiedParent = !leadingPkg;
88
+ const specifiedParentMatchesCurrentDep = leadingPkg === name;
89
+ const specifiedParentWithVersionMatches = leadingPkg.includes(name) &&
90
+ leadingPkg.includes(dependencies[`${name}@${version}`].version);
91
+ return (noSpecifiedParent ||
92
+ specifiedParentMatchesCurrentDep ||
93
+ specifiedParentWithVersionMatches);
94
+ });
95
+ if (resolutionKeys && firstMatchingResolution) {
96
+ return `${subDepKey}@${resolutions[firstMatchingResolution]}`;
97
+ }
98
+ }
73
99
  //# sourceMappingURL=yarn2-lock-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yarn2-lock-parser.js","sourceRoot":"","sources":["../../lib/parsers/yarn2-lock-parser.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,0CAA0C;AAE1C,yDAA4D;AAC5D,wBAA8E;AAC9E,sCAAmC;AAEnC,sCAAkD;AAClD,6CAAyD;AASzD,MAAa,eAAgB,SAAQ,iCAAc;IACjD;QACE,KAAK,CAAC,eAAY,CAAC,KAAK,EAAE,eAAM,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAEM,aAAa,CAAC,gBAAwB;QAC3C,IAAI;YACF,MAAM,WAAW,GAAQ,cAAI,CAAC,gBAAgB,EAAE;gBAC9C,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,yBAAe;aACxB,CAAC,CAAC;YAEH,OAAO,WAAW,CAAC,UAAU,CAAC;YAC9B,MAAM,YAAY,GAAiB,EAAE,CAAC;YAEtC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACzC,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;YACpD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAE1C,MAAM,aAAa,GAAG,sCAAyB,CAC7C,eAAe,EACf,UAAU,CACX,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CACjC,CAAC,CAAC,cAAc,EAAE,WAAW,CAAgB,EAAE,EAAE;gBAC/C,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACnD,YAAY,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;YACF,OAAO;gBACL,YAAY;gBACZ,YAAY,EAAE,eAAY,CAAC,KAAK;gBAChC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,eAAY,CAAC,KAAK;aACzB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,8BAAqB,CAC7B,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACvD,CAAC;SACH;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,YAA0B,EAC1B,QAAkB,EAClB,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,IAAI;QAEb,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC3C,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,MAAM,CACP,CAAC;QAEF,MAAM,IAAI,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAC5D,MAAM,eAAe,mCAChB,OAAO,KACV,IAAI,kCAAO,OAAO,CAAC,IAAI,GAAK,IAAI,IACjC,CAAC;QAEF,OAAO,eAAe,CAAC;IACzB,CAAC;IAES,SAAS,CAAC,QAAkB;QACpC,MAAM,YAAY,GAAG,QAAqB,CAAC;QAC3C,MAAM,MAAM,GAAW,EAAE,CAAC;QAE1B,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAChE,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,iCACjC,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,GACxB,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,EACnC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE;oBACN,KAAK,EAAE,QAAK,CAAC,IAAI;iBAClB;gBACD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC9D,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,aAAa,CAAC,GAAQ;QAC9B,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;CACF;AA3FD,0CA2FC;AAED,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"yarn2-lock-parser.js","sourceRoot":"","sources":["../../lib/parsers/yarn2-lock-parser.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -31,18 +31,18 @@
31
31
  ],
32
32
  "homepage": "https://github.com/snyk/nodejs-lockfile-parser#readme",
33
33
  "dependencies": {
34
+ "@snyk/dep-graph": "^1.28.0",
34
35
  "@snyk/graphlib": "2.1.9-patch.3",
35
36
  "@yarnpkg/core": "^2.4.0",
36
37
  "@yarnpkg/lockfile": "^1.1.0",
37
38
  "event-loop-spinner": "^2.0.0",
38
- "got": "11.8.2",
39
39
  "js-yaml": "^4.1.0",
40
40
  "lodash.clonedeep": "^4.5.0",
41
41
  "lodash.flatmap": "^4.5.0",
42
42
  "lodash.isempty": "^4.4.0",
43
43
  "lodash.set": "^4.3.2",
44
44
  "lodash.topairs": "^4.3.0",
45
- "p-map": "2.1.0",
45
+ "semver": "^7.3.5",
46
46
  "snyk-config": "^4.0.0-rc.2",
47
47
  "tslib": "^1.9.3",
48
48
  "uuid": "^8.3.0"
@@ -50,6 +50,7 @@
50
50
  "devDependencies": {
51
51
  "@types/jest": "^26.0.23",
52
52
  "@types/node": "^12.0.0",
53
+ "@types/semver": "^7.3.6",
53
54
  "@types/uuid": "^8.3.0",
54
55
  "@typescript-eslint/eslint-plugin": "^4.20.0",
55
56
  "@typescript-eslint/parser": "^4.0.0",
@@ -63,5 +64,5 @@
63
64
  "ts-node": "^9.1.1",
64
65
  "typescript": "^4.1.0"
65
66
  },
66
- "version": "1.34.1"
67
+ "version": "1.36.0"
67
68
  }