snyk 1.1127.0 → 1.1129.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.
@@ -153960,7 +153960,7 @@ exports.extractPkgsFromNpmLockV2 = extractPkgsFromNpmLockV2;
153960
153960
  "use strict";
153961
153961
 
153962
153962
  Object.defineProperty(exports, "__esModule", ({ value: true }));
153963
- exports.buildDepGraphNpmLockV2 = exports.parseNpmLockV2Project = exports.extractPkgsFromNpmLockV2 = void 0;
153963
+ exports.getChildNodeKey = exports.buildDepGraphNpmLockV2 = exports.parseNpmLockV2Project = exports.extractPkgsFromNpmLockV2 = void 0;
153964
153964
  const extract_npm_lock_v2_pkgs_1 = __webpack_require__(61253);
153965
153965
  Object.defineProperty(exports, "extractPkgsFromNpmLockV2", ({ enumerable: true, get: function () { return extract_npm_lock_v2_pkgs_1.extractPkgsFromNpmLockV2; } }));
153966
153966
  const dep_graph_1 = __webpack_require__(53789);
@@ -154010,14 +154010,14 @@ const buildDepGraphNpmLockV2 = (npmLockPkgs, pkgJson, options) => {
154010
154010
  return acc;
154011
154011
  }, new Map());
154012
154012
  const visitedMap = new Set();
154013
- dfsVisit(depGraphBuilder, rootNode, visitedMap, npmLockPkgs, strictOutOfSync, includeOptionalDeps, [], pkgKeysByName);
154013
+ dfsVisit(depGraphBuilder, rootNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [], pkgKeysByName);
154014
154014
  return depGraphBuilder.build();
154015
154015
  };
154016
154016
  exports.buildDepGraphNpmLockV2 = buildDepGraphNpmLockV2;
154017
- const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSync, includeOptionalDeps, ancestry, pkgKeysByName) => {
154017
+ const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, ancestry, pkgKeysByName) => {
154018
154018
  visitedMap.add(node.id);
154019
154019
  for (const [name, depInfo] of Object.entries(node.dependencies || {})) {
154020
- const childNode = getChildNode(name, depInfo, npmLockPkgs, strictOutOfSync, includeOptionalDeps, [
154020
+ const childNode = getChildNode(name, depInfo, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [
154021
154021
  ...ancestry,
154022
154022
  {
154023
154023
  name: node.name,
@@ -154027,7 +154027,7 @@ const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSyn
154027
154027
  ], pkgKeysByName);
154028
154028
  if (!visitedMap.has(childNode.id)) {
154029
154029
  (0, util_1.addPkgNodeToGraph)(depGraphBuilder, childNode, {});
154030
- dfsVisit(depGraphBuilder, childNode, visitedMap, npmLockPkgs, strictOutOfSync, includeOptionalDeps, [
154030
+ dfsVisit(depGraphBuilder, childNode, visitedMap, npmLockPkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, [
154031
154031
  ...ancestry,
154032
154032
  {
154033
154033
  name: node.name,
@@ -154039,8 +154039,8 @@ const dfsVisit = (depGraphBuilder, node, visitedMap, npmLockPkgs, strictOutOfSyn
154039
154039
  depGraphBuilder.connectDep(node.id, childNode.id);
154040
154040
  }
154041
154041
  };
154042
- const getChildNode = (name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps, ancestry, pkgKeysByName) => {
154043
- let childNodeKey = getChildNodeKey(name, ancestry, pkgs, pkgKeysByName); //
154042
+ const getChildNode = (name, depInfo, pkgs, strictOutOfSync, includeDevDeps, includeOptionalDeps, ancestry, pkgKeysByName) => {
154043
+ let childNodeKey = (0, exports.getChildNodeKey)(name, ancestry, pkgs, pkgKeysByName); //
154044
154044
  if (!childNodeKey) {
154045
154045
  if (strictOutOfSync) {
154046
154046
  throw new errors_1.OutOfSyncError(`${name}@${depInfo.version}`, parsers_1.LockfileType.npm);
@@ -154073,6 +154073,9 @@ const getChildNode = (name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps,
154073
154073
  depData = pkgs[depData.resolved];
154074
154074
  }
154075
154075
  const dependencies = (0, util_1.getGraphDependencies)(depData.dependencies || {}, depInfo.isDev);
154076
+ const devDependencies = includeDevDeps
154077
+ ? (0, util_1.getGraphDependencies)(depData.devDependencies || {}, depInfo.isDev)
154078
+ : {};
154076
154079
  const optionalDependencies = includeOptionalDeps
154077
154080
  ? (0, util_1.getGraphDependencies)(depData.optionalDependencies || {}, depInfo.isDev)
154078
154081
  : {};
@@ -154080,7 +154083,7 @@ const getChildNode = (name, depInfo, pkgs, strictOutOfSync, includeOptionalDeps,
154080
154083
  id: `${name}@${depData.version}`,
154081
154084
  name: name,
154082
154085
  version: depData.version,
154083
- dependencies: Object.assign(Object.assign({}, dependencies), optionalDependencies),
154086
+ dependencies: Object.assign(Object.assign(Object.assign({}, dependencies), devDependencies), optionalDependencies),
154084
154087
  isDev: depInfo.isDev,
154085
154088
  inBundle: depData.inBundle,
154086
154089
  key: childNodeKey,
@@ -154134,16 +154137,28 @@ const getChildNodeKey = (name, ancestry, pkgs, pkgKeysByName) => {
154134
154137
  keysFilteredByParentKey = possibleFilteredKeys;
154135
154138
  }
154136
154139
  }
154137
- // If not in bundle then we can just see if it is scoped by parent
154138
- // and then just look directly for it
154139
- if (ancestry.length === 1) {
154140
- return `node_modules/${name}`;
154140
+ let ancestry_names = ancestry.map((el) => el.name).concat(name);
154141
+ while (ancestry_names.length > 0) {
154142
+ const possible_key = `node_modules/${ancestry_names.join('/node_modules/')}`;
154143
+ if (pkgs[possible_key]) {
154144
+ return possible_key;
154145
+ }
154146
+ ancestry_names.shift();
154147
+ }
154148
+ // This is similar to fetching permutations in the isBundle logic
154149
+ ancestry_names = ancestry.map((el) => el.name).concat(name);
154150
+ const candidateAncestries = candidateKeys.map((el) => el.replace('node_modules/', '').split('/node_modules/'));
154151
+ const filteredCandidates = candidateKeys.filter((candidate, idx) => {
154152
+ return candidateAncestries[idx].every((pkg) => {
154153
+ return ancestry_names.includes(pkg);
154154
+ });
154155
+ });
154156
+ if (filteredCandidates.length === 1) {
154157
+ return filteredCandidates[0];
154141
154158
  }
154142
- const parentName = ancestry[ancestry.length - 1].name;
154143
- return pkgs[`node_modules/${parentName}/node_modules/${name}`]
154144
- ? `node_modules/${parentName}/node_modules/${name}`
154145
- : `node_modules/${name}`;
154159
+ return undefined;
154146
154160
  };
154161
+ exports.getChildNodeKey = getChildNodeKey;
154147
154162
  //# sourceMappingURL=index.js.map
154148
154163
 
154149
154164
  /***/ }),