@openrewrite/recipes-nodejs 0.37.0-20260106-104324 → 0.37.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.
@@ -20,6 +20,7 @@ export declare class DependencyVulnerabilityCheck extends ScanningRecipe<Accumul
20
20
  private readonly vulnerabilityReport;
21
21
  scope?: DependencyScope;
22
22
  transitiveFixStrategy?: TransitiveFixStrategy;
23
+ preferDirectUpgrade?: boolean;
23
24
  maximumUpgradeDelta?: UpgradeDelta;
24
25
  minimumSeverity?: Severity;
25
26
  cvePattern?: string;
@@ -29,6 +30,7 @@ export declare class DependencyVulnerabilityCheck extends ScanningRecipe<Accumul
29
30
  constructor(options?: {
30
31
  scope?: DependencyScope;
31
32
  transitiveFixStrategy?: TransitiveFixStrategy;
33
+ preferDirectUpgrade?: boolean;
32
34
  maximumUpgradeDelta?: UpgradeDelta;
33
35
  minimumSeverity?: string;
34
36
  cvePattern?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-vulnerability-check.d.ts","sourceRoot":"","sources":["../../src/security/dependency-vulnerability-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-vulnerability-check.d.ts","sourceRoot":"","sources":["../../src/security/dependency-vulnerability-check.ts"],"names":[],"mappings":"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"}
@@ -158,7 +158,7 @@ __decorate([
158
158
  ], VulnerabilityReportRow.prototype, "dependencyPath", void 0);
159
159
  class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
160
160
  constructor(options) {
161
- var _a, _b, _c, _d, _e;
161
+ var _a, _b, _c, _d, _e, _f;
162
162
  super(options);
163
163
  this.name = "org.openrewrite.node.dependency-vulnerability-check";
164
164
  this.displayName = "Find and fix vulnerable npm dependencies";
@@ -169,10 +169,11 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
169
169
  "Vulnerability information comes from the GitHub Security Advisory Database.";
170
170
  this.vulnerabilityReport = new rewrite_1.DataTable("org.openrewrite.nodejs.table.VulnerabilityReport", "Vulnerability Report", "Lists all vulnerabilities found in project dependencies.", VulnerabilityReportRow);
171
171
  (_a = this.transitiveFixStrategy) !== null && _a !== void 0 ? _a : (this.transitiveFixStrategy = 'report');
172
- (_b = this.maximumUpgradeDelta) !== null && _b !== void 0 ? _b : (this.maximumUpgradeDelta = 'patch');
173
- (_c = this.minimumSeverity) !== null && _c !== void 0 ? _c : (this.minimumSeverity = vulnerability_1.Severity.LOW);
174
- (_d = this.fixDeclaredVersions) !== null && _d !== void 0 ? _d : (this.fixDeclaredVersions = false);
175
- (_e = this.addOverrideComments) !== null && _e !== void 0 ? _e : (this.addOverrideComments = true);
172
+ (_b = this.preferDirectUpgrade) !== null && _b !== void 0 ? _b : (this.preferDirectUpgrade = true);
173
+ (_c = this.maximumUpgradeDelta) !== null && _c !== void 0 ? _c : (this.maximumUpgradeDelta = 'patch');
174
+ (_d = this.minimumSeverity) !== null && _d !== void 0 ? _d : (this.minimumSeverity = vulnerability_1.Severity.LOW);
175
+ (_e = this.fixDeclaredVersions) !== null && _e !== void 0 ? _e : (this.fixDeclaredVersions = false);
176
+ (_f = this.addOverrideComments) !== null && _f !== void 0 ? _f : (this.addOverrideComments = true);
176
177
  if (options === null || options === void 0 ? void 0 : options.minimumSeverity) {
177
178
  this.minimumSeverity = (0, vulnerability_1.parseSeverity)(options.minimumSeverity);
178
179
  }
@@ -180,16 +181,15 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
180
181
  try {
181
182
  this.cvePatternRegex = new RegExp(this.cvePattern);
182
183
  }
183
- catch (_f) {
184
+ catch (_g) {
184
185
  }
185
186
  }
186
187
  }
187
188
  shouldScanTransitives() {
188
- return this.transitiveFixStrategy !== 'report';
189
+ return true;
189
190
  }
190
191
  shouldVerifyTransitiveFixes() {
191
- return this.transitiveFixStrategy === 'override' ||
192
- this.transitiveFixStrategy === 'prefer-direct-upgrade';
192
+ return this.preferDirectUpgrade === true;
193
193
  }
194
194
  filterRemainingTransitiveFixes(fixes, lockFileContent, packageManager, db) {
195
195
  const result = [];
@@ -198,12 +198,12 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
198
198
  result.push(fix);
199
199
  continue;
200
200
  }
201
- const resolvedVersion = (0, npm_utils_1.extractVersionFromLockFile)(lockFileContent, fix.packageName, packageManager);
202
- if (!resolvedVersion) {
201
+ const resolvedVersions = (0, npm_utils_1.extractAllVersionsFromLockFile)(lockFileContent, fix.packageName, packageManager);
202
+ if (resolvedVersions.length === 0) {
203
203
  continue;
204
204
  }
205
- const isStillVulnerable = this.isVersionStillVulnerable(fix.packageName, resolvedVersion, fix.cves, db);
206
- if (isStillVulnerable) {
205
+ const anyVersionVulnerable = resolvedVersions.some(version => this.isVersionStillVulnerable(fix.packageName, version, fix.cves, db));
206
+ if (anyVersionVulnerable) {
207
207
  result.push(fix);
208
208
  }
209
209
  }
@@ -446,7 +446,8 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
446
446
  });
447
447
  }
448
448
  }
449
- if (this.isReportOnly() || !(0, version_utils_1.isUpgradeableWithinDelta)(vuln.resolved.version, vuln.vulnerability, this.maximumUpgradeDelta)) {
449
+ const upgradeCheck = (0, version_utils_1.isUpgradeableWithinDelta)(vuln.resolved.version, vuln.vulnerability, this.maximumUpgradeDelta);
450
+ if (this.isReportOnly() || !upgradeCheck) {
450
451
  continue;
451
452
  }
452
453
  const fixVersion = (0, version_utils_1.getUpgradeVersion)(vuln.vulnerability);
@@ -944,7 +945,7 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
944
945
  (0, javascript_1.storeInstallResult)(phase1Result, acc, updateInfo, phase1PackageJson);
945
946
  return;
946
947
  }
947
- if (this.transitiveFixStrategy === 'prefer-direct-upgrade') {
948
+ if (this.preferDirectUpgrade) {
948
949
  remainingTransitiveFixes = yield this.tryDirectUpgradesForTransitives(remainingTransitiveFixes, updateInfo);
949
950
  }
950
951
  const finalFixes = [...directFixes, ...remainingTransitiveFixes];
@@ -1019,7 +1020,7 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
1019
1020
  (0, javascript_1.storeInstallResult)(phase1Result, acc, rootUpdateInfo, phase1RootPackageJson);
1020
1021
  return;
1021
1022
  }
1022
- if (this.transitiveFixStrategy === 'prefer-direct-upgrade') {
1023
+ if (this.preferDirectUpgrade) {
1023
1024
  remainingTransitiveFixes = yield this.tryDirectUpgradesForTransitives(remainingTransitiveFixes, rootUpdateInfo);
1024
1025
  }
1025
1026
  const finalRootPackageJson = this.createModifiedPackageJson(rootOriginalContent, [...rootDirectFixes, ...remainingTransitiveFixes], pm);
@@ -1068,6 +1069,9 @@ class DependencyVulnerabilityCheck extends rewrite_1.ScanningRecipe {
1068
1069
  }
1069
1070
  }
1070
1071
  else if (fix.isTransitive) {
1072
+ if (this.transitiveFixStrategy === 'lock-file') {
1073
+ continue;
1074
+ }
1071
1075
  if (fix.fixViaDirectUpgrades && fix.fixViaDirectUpgrades.length > 0) {
1072
1076
  for (const upgrade of fix.fixViaDirectUpgrades) {
1073
1077
  const { directDepName, directDepVersion, directDepScope } = upgrade;
@@ -1174,7 +1178,7 @@ __decorate([
1174
1178
  (0, rewrite_1.Option)({
1175
1179
  displayName: "Scope",
1176
1180
  description: "Match dependencies with the specified scope. Default includes all scopes. " +
1177
- "Use 'dependencies' for production dependencies, 'devDependencies' for development only, etc.",
1181
+ "Use `dependencies` for production dependencies, `devDependencies` for development only, etc.",
1178
1182
  required: false,
1179
1183
  example: "dependencies",
1180
1184
  valid: ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]
@@ -1184,20 +1188,31 @@ __decorate([
1184
1188
  (0, rewrite_1.Option)({
1185
1189
  displayName: "Transitive fix strategy",
1186
1190
  description: "Strategy for handling transitive dependency vulnerabilities. " +
1187
- "'report' only reports them without fixing. " +
1188
- "'override' adds overrides only for transitives not fixed by direct upgrades (runs extra npm install to verify). " +
1189
- "'prefer-direct-upgrade' tries to find higher direct dependency versions that fix transitives, falls back to overrides (queries npm registry). " +
1190
- "Default is 'report'.",
1191
+ "`report` only reports them without fixing. " +
1192
+ "`override` adds overrides/resolutions for transitive vulnerabilities. " +
1193
+ "`lock-file` updates the lock file to resolve safe versions without modifying `package.json` (similar to Dependabot). " +
1194
+ "Default is `report`.",
1191
1195
  required: false,
1192
1196
  example: "override",
1193
- valid: ["report", "override", "prefer-direct-upgrade"]
1197
+ valid: ["report", "override", "lock-file"]
1194
1198
  })
1195
1199
  ], DependencyVulnerabilityCheck.prototype, "transitiveFixStrategy", void 0);
1200
+ __decorate([
1201
+ (0, rewrite_1.Option)({
1202
+ displayName: "Prefer direct upgrade",
1203
+ description: "When fixing transitive vulnerabilities, first try to find higher versions of " +
1204
+ "direct dependencies that include safe transitive versions. Falls back to the " +
1205
+ "`transitiveFixStrategy` if no suitable direct upgrade exists. Queries npm registry. " +
1206
+ "Default is `true`.",
1207
+ required: false,
1208
+ example: "false"
1209
+ })
1210
+ ], DependencyVulnerabilityCheck.prototype, "preferDirectUpgrade", void 0);
1196
1211
  __decorate([
1197
1212
  (0, rewrite_1.Option)({
1198
1213
  displayName: "Maximum upgrade delta",
1199
1214
  description: "The maximum difference to allow when upgrading a dependency version. " +
1200
- "Use 'none' to only report vulnerabilities without making any changes. " +
1215
+ "Use `none` to only report vulnerabilities without making any changes. " +
1201
1216
  "Patch version upgrades are the default and safest option. " +
1202
1217
  "Minor version upgrades can introduce new features but typically no breaking changes. " +
1203
1218
  "Major version upgrades may require code changes.",
@@ -1210,8 +1225,8 @@ __decorate([
1210
1225
  (0, rewrite_1.Option)({
1211
1226
  displayName: "Minimum severity",
1212
1227
  description: "Only fix vulnerabilities with a severity level equal to or higher than the specified minimum. " +
1213
- "Vulnerabilities are classified as LOW, MODERATE, HIGH, or CRITICAL based on their potential impact. " +
1214
- "Default is LOW, which includes all severity levels.",
1228
+ "Vulnerabilities are classified as `LOW`, `MODERATE`, `HIGH`, or `CRITICAL` based on their potential impact. " +
1229
+ "Default is `LOW`, which includes all severity levels.",
1215
1230
  required: false,
1216
1231
  example: "MODERATE",
1217
1232
  valid: ["LOW", "MODERATE", "HIGH", "CRITICAL"]
@@ -1231,11 +1246,11 @@ __decorate([
1231
1246
  __decorate([
1232
1247
  (0, rewrite_1.Option)({
1233
1248
  displayName: "Fix declared versions",
1234
- description: "When enabled, also upgrades version specifiers declared in package.json that specify vulnerable versions, " +
1249
+ description: "When enabled, also upgrades version specifiers declared in `package.json` that specify vulnerable versions, " +
1235
1250
  "even if the lock file already resolves to a safe version. This is a preventive measure to ensure that " +
1236
1251
  "future installs (e.g., on a different machine or after lock file changes) won't install vulnerable versions. " +
1237
1252
  "These preventive upgrades are NOT reported in the vulnerability data table since there's no actual vulnerability. " +
1238
- "Default is false.",
1253
+ "Default is `false`.",
1239
1254
  required: false,
1240
1255
  example: "true"
1241
1256
  })
@@ -1243,9 +1258,9 @@ __decorate([
1243
1258
  __decorate([
1244
1259
  (0, rewrite_1.Option)({
1245
1260
  displayName: "Add override comments",
1246
- description: "When enabled, adds a comment field (e.g., '//overrides') alongside overrides to document which CVEs " +
1261
+ description: "When enabled, adds a comment field (e.g., `//overrides`) alongside overrides to document which CVEs " +
1247
1262
  "each override is fixing. This helps with auditing and knowing when overrides can be removed. " +
1248
- "Default is true.",
1263
+ "Default is `true`.",
1249
1264
  required: false,
1250
1265
  example: "true"
1251
1266
  })
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-vulnerability-check.js","sourceRoot":"","sources":["../../src/security/dependency-vulnerability-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-vulnerability-check.js","sourceRoot":"","sources":["../../src/security/dependency-vulnerability-check.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DependencyScope, PackageManager, ResolvedDependency } from "@openrewrite/rewrite/javascript";
2
2
  import { Vulnerability } from "./vulnerability";
3
3
  export declare const ALL_DEPENDENCY_SCOPES: DependencyScope[];
4
- export type TransitiveFixStrategy = 'report' | 'override' | 'prefer-direct-upgrade';
4
+ export type TransitiveFixStrategy = 'report' | 'override' | 'lock-file';
5
5
  export interface PathSegment {
6
6
  name: string;
7
7
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAK9C,eAAO,MAAM,qBAAqB,EAAE,eAAe,EAElD,CAAC;AAiBF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,UAAU,GAAG,uBAAuB,CAAC;AAKpF,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,aAAa,EAAE,aAAa,CAAC;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAKD,MAAM,WAAW,gBAAgB;IAE7B,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAM9B,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,eAAe,CAAC;KAC1B,EAAE,CAAC;IAOJ,oBAAoB,CAAC,EAAE;QAEnB,aAAa,EAAE,MAAM,CAAC;QAEtB,gBAAgB,EAAE,MAAM,CAAC;QAEzB,cAAc,EAAE,eAAe,CAAC;KACnC,EAAE,CAAC;CACP;AAKD,MAAM,WAAW,iBAAiB;IAE9B,eAAe,EAAE,MAAM,CAAC;IAExB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,cAAc,EAAE,cAAc,CAAC;IAE/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAK9C,eAAO,MAAM,qBAAqB,EAAE,eAAe,EAElD,CAAC;AAgBF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAKxE,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,oBAAoB;IAEjC,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,aAAa,EAAE,aAAa,CAAC;IAE7B,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,IAAI,EAAE,WAAW,EAAE,CAAC;CACvB;AAKD,MAAM,WAAW,gBAAgB;IAE7B,WAAW,EAAE,MAAM,CAAC;IAEpB,UAAU,EAAE,MAAM,CAAC;IAEnB,YAAY,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAM9B,cAAc,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,eAAe,CAAC;KAC1B,EAAE,CAAC;IAOJ,oBAAoB,CAAC,EAAE;QAEnB,aAAa,EAAE,MAAM,CAAC;QAEtB,gBAAgB,EAAE,MAAM,CAAC;QAEzB,cAAc,EAAE,eAAe,CAAC;KACnC,EAAE,CAAC;CACP;AAKD,MAAM,WAAW,iBAAiB;IAE9B,eAAe,EAAE,MAAM,CAAC;IAExB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,cAAc,EAAE,cAAc,CAAC;IAE/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/recipes-nodejs",
3
- "version": "0.37.0-20260106-104324",
3
+ "version": "0.37.0",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite recipes for Node.js library migrations.",
6
6
  "homepage": "https://github.com/moderneinc/rewrite-node",
@@ -41,7 +41,7 @@ import {parseSeverity, Severity, severityOrdinal, Vulnerability, VulnerabilityDa
41
41
  import {
42
42
  findDirectUpgradeWithSafeTransitiveInIsolation,
43
43
  verifyAllUpgradesFixTransitive,
44
- extractVersionFromLockFile,
44
+ extractAllVersionsFromLockFile,
45
45
  DependencyScope as NpmUtilsDependencyScope
46
46
  } from "./npm-utils";
47
47
  import {
@@ -234,7 +234,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
234
234
  @Option({
235
235
  displayName: "Scope",
236
236
  description: "Match dependencies with the specified scope. Default includes all scopes. " +
237
- "Use 'dependencies' for production dependencies, 'devDependencies' for development only, etc.",
237
+ "Use `dependencies` for production dependencies, `devDependencies` for development only, etc.",
238
238
  required: false,
239
239
  example: "dependencies",
240
240
  valid: ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]
@@ -244,20 +244,31 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
244
244
  @Option({
245
245
  displayName: "Transitive fix strategy",
246
246
  description: "Strategy for handling transitive dependency vulnerabilities. " +
247
- "'report' only reports them without fixing. " +
248
- "'override' adds overrides only for transitives not fixed by direct upgrades (runs extra npm install to verify). " +
249
- "'prefer-direct-upgrade' tries to find higher direct dependency versions that fix transitives, falls back to overrides (queries npm registry). " +
250
- "Default is 'report'.",
247
+ "`report` only reports them without fixing. " +
248
+ "`override` adds overrides/resolutions for transitive vulnerabilities. " +
249
+ "`lock-file` updates the lock file to resolve safe versions without modifying `package.json` (similar to Dependabot). " +
250
+ "Default is `report`.",
251
251
  required: false,
252
252
  example: "override",
253
- valid: ["report", "override", "prefer-direct-upgrade"]
253
+ valid: ["report", "override", "lock-file"]
254
254
  })
255
255
  transitiveFixStrategy?: TransitiveFixStrategy;
256
256
 
257
+ @Option({
258
+ displayName: "Prefer direct upgrade",
259
+ description: "When fixing transitive vulnerabilities, first try to find higher versions of " +
260
+ "direct dependencies that include safe transitive versions. Falls back to the " +
261
+ "`transitiveFixStrategy` if no suitable direct upgrade exists. Queries npm registry. " +
262
+ "Default is `true`.",
263
+ required: false,
264
+ example: "false"
265
+ })
266
+ preferDirectUpgrade?: boolean;
267
+
257
268
  @Option({
258
269
  displayName: "Maximum upgrade delta",
259
270
  description: "The maximum difference to allow when upgrading a dependency version. " +
260
- "Use 'none' to only report vulnerabilities without making any changes. " +
271
+ "Use `none` to only report vulnerabilities without making any changes. " +
261
272
  "Patch version upgrades are the default and safest option. " +
262
273
  "Minor version upgrades can introduce new features but typically no breaking changes. " +
263
274
  "Major version upgrades may require code changes.",
@@ -270,8 +281,8 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
270
281
  @Option({
271
282
  displayName: "Minimum severity",
272
283
  description: "Only fix vulnerabilities with a severity level equal to or higher than the specified minimum. " +
273
- "Vulnerabilities are classified as LOW, MODERATE, HIGH, or CRITICAL based on their potential impact. " +
274
- "Default is LOW, which includes all severity levels.",
284
+ "Vulnerabilities are classified as `LOW`, `MODERATE`, `HIGH`, or `CRITICAL` based on their potential impact. " +
285
+ "Default is `LOW`, which includes all severity levels.",
275
286
  required: false,
276
287
  example: "MODERATE",
277
288
  valid: ["LOW", "MODERATE", "HIGH", "CRITICAL"]
@@ -291,11 +302,11 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
291
302
 
292
303
  @Option({
293
304
  displayName: "Fix declared versions",
294
- description: "When enabled, also upgrades version specifiers declared in package.json that specify vulnerable versions, " +
305
+ description: "When enabled, also upgrades version specifiers declared in `package.json` that specify vulnerable versions, " +
295
306
  "even if the lock file already resolves to a safe version. This is a preventive measure to ensure that " +
296
307
  "future installs (e.g., on a different machine or after lock file changes) won't install vulnerable versions. " +
297
308
  "These preventive upgrades are NOT reported in the vulnerability data table since there's no actual vulnerability. " +
298
- "Default is false.",
309
+ "Default is `false`.",
299
310
  required: false,
300
311
  example: "true"
301
312
  })
@@ -303,9 +314,9 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
303
314
 
304
315
  @Option({
305
316
  displayName: "Add override comments",
306
- description: "When enabled, adds a comment field (e.g., '//overrides') alongside overrides to document which CVEs " +
317
+ description: "When enabled, adds a comment field (e.g., `//overrides`) alongside overrides to document which CVEs " +
307
318
  "each override is fixing. This helps with auditing and knowing when overrides can be removed. " +
308
- "Default is true.",
319
+ "Default is `true`.",
309
320
  required: false,
310
321
  example: "true"
311
322
  })
@@ -317,6 +328,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
317
328
  constructor(options?: {
318
329
  scope?: DependencyScope;
319
330
  transitiveFixStrategy?: TransitiveFixStrategy;
331
+ preferDirectUpgrade?: boolean;
320
332
  maximumUpgradeDelta?: UpgradeDelta;
321
333
  minimumSeverity?: string;
322
334
  cvePattern?: string;
@@ -325,6 +337,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
325
337
  }) {
326
338
  super(options);
327
339
  this.transitiveFixStrategy ??= 'report';
340
+ this.preferDirectUpgrade ??= true;
328
341
  this.maximumUpgradeDelta ??= 'patch';
329
342
  this.minimumSeverity ??= Severity.LOW;
330
343
  this.fixDeclaredVersions ??= false;
@@ -344,18 +357,22 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
344
357
 
345
358
  /**
346
359
  * Returns true if transitive vulnerabilities should be scanned.
360
+ * Always true - we want to report transitive vulnerabilities even if not fixing them.
347
361
  */
348
362
  private shouldScanTransitives(): boolean {
349
- return this.transitiveFixStrategy !== 'report';
363
+ return true;
350
364
  }
351
365
 
352
366
  /**
353
367
  * Returns true if we should verify that transitive fixes are still needed
354
- * after applying direct fixes (for override and prefer-direct-upgrade strategies).
368
+ * after applying direct fixes. Only needed when preferDirectUpgrade is true,
369
+ * because it tries to fix transitives via direct dependency upgrades first.
370
+ *
371
+ * For 'override' and 'lock-file' strategies without preferDirectUpgrade,
372
+ * we apply the strategy directly without checking if direct upgrades helped.
355
373
  */
356
374
  private shouldVerifyTransitiveFixes(): boolean {
357
- return this.transitiveFixStrategy === 'override' ||
358
- this.transitiveFixStrategy === 'prefer-direct-upgrade';
375
+ return this.preferDirectUpgrade === true;
359
376
  }
360
377
 
361
378
  /**
@@ -382,32 +399,36 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
382
399
  continue;
383
400
  }
384
401
 
385
- // For transitive fixes, check if the package is still vulnerable in the lock file
386
- const resolvedVersion = extractVersionFromLockFile(
402
+ // For transitive fixes, check if ANY version of the package is still vulnerable.
403
+ // A package can appear at multiple locations in the tree at different versions
404
+ // (e.g., hoisted at 2.1.1 and nested at 1.0.2), so we need to check ALL versions.
405
+ const resolvedVersions = extractAllVersionsFromLockFile(
387
406
  lockFileContent,
388
407
  fix.packageName,
389
408
  packageManager
390
409
  );
391
410
 
392
- if (!resolvedVersion) {
411
+ if (resolvedVersions.length === 0) {
393
412
  // Package not found in lock file - might have been removed by direct upgrade
394
413
  // Skip this fix (transitive is no longer in the tree)
395
414
  continue;
396
415
  }
397
416
 
398
- // Check if the resolved version is still vulnerable
399
- const isStillVulnerable = this.isVersionStillVulnerable(
400
- fix.packageName,
401
- resolvedVersion,
402
- fix.cves,
403
- db
417
+ // Check if ANY resolved version is still vulnerable
418
+ const anyVersionVulnerable = resolvedVersions.some(version =>
419
+ this.isVersionStillVulnerable(
420
+ fix.packageName,
421
+ version,
422
+ fix.cves,
423
+ db
424
+ )
404
425
  );
405
426
 
406
- if (isStillVulnerable) {
407
- // Transitive is still vulnerable, keep the fix
427
+ if (anyVersionVulnerable) {
428
+ // At least one version of the transitive is still vulnerable, keep the fix
408
429
  result.push(fix);
409
430
  }
410
- // Otherwise, the direct upgrade already fixed it - skip the override
431
+ // Otherwise, all versions are safe - skip the override
411
432
  }
412
433
 
413
434
  return result;
@@ -848,7 +869,8 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
848
869
  }
849
870
 
850
871
  // Check if upgradeable within delta
851
- if (this.isReportOnly() || !isUpgradeableWithinDelta(vuln.resolved.version, vuln.vulnerability, this.maximumUpgradeDelta!)) {
872
+ const upgradeCheck = isUpgradeableWithinDelta(vuln.resolved.version, vuln.vulnerability, this.maximumUpgradeDelta!);
873
+ if (this.isReportOnly() || !upgradeCheck) {
852
874
  continue;
853
875
  }
854
876
 
@@ -916,7 +938,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
916
938
  cveSummaries,
917
939
  scope,
918
940
  originalMajorVersion: originalMajor,
919
- // Store ALL direct dependencies for potential later use by prefer-direct-upgrade
941
+ // Store ALL direct dependencies for potential later use by preferDirectUpgrade
920
942
  directDepInfos: isTransitive && directDepInfosArray.length > 0 ? directDepInfosArray : undefined
921
943
  };
922
944
 
@@ -1604,10 +1626,10 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1604
1626
  * Writes a modified package.json with all new versions, then runs install.
1605
1627
  * All file contents are provided from in-memory sources (SourceFiles), not read from disk.
1606
1628
  *
1607
- * For 'override' and 'prefer-direct-upgrade' strategies, this uses a two-phase approach:
1629
+ * When preferDirectUpgrade is enabled, this uses a two-phase approach:
1608
1630
  * 1. First run with only direct fixes (+ fixes via direct upgrade)
1609
1631
  * 2. Check the resulting lock file for remaining transitive vulnerabilities
1610
- * 3. If any remain, add overrides and run again
1632
+ * 3. If any remain, apply the fallback strategy (override or lock-file)
1611
1633
  */
1612
1634
  private async runPackageManagerInstall(
1613
1635
  acc: Accumulator,
@@ -1619,7 +1641,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1619
1641
  const directFixes = fixes.filter(f => !f.isTransitive || (f.fixViaDirectUpgrades && f.fixViaDirectUpgrades.length > 0));
1620
1642
  const transitiveFixes = fixes.filter(f => f.isTransitive && (!f.fixViaDirectUpgrades || f.fixViaDirectUpgrades.length === 0));
1621
1643
 
1622
- // For 'override' and 'prefer-direct-upgrade', use two-phase approach
1644
+ // When preferDirectUpgrade is enabled, use two-phase approach
1623
1645
  if (this.shouldVerifyTransitiveFixes() && transitiveFixes.length > 0) {
1624
1646
  // Phase 1: Apply only direct fixes and check what transitives are still vulnerable
1625
1647
  const phase1PackageJson = this.createModifiedPackageJson(
@@ -1670,9 +1692,9 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1670
1692
  return;
1671
1693
  }
1672
1694
 
1673
- // For 'prefer-direct-upgrade', try to find higher direct dependency versions
1695
+ // When preferDirectUpgrade is enabled, try to find higher direct dependency versions
1674
1696
  // that fix the remaining transitive vulnerabilities
1675
- if (this.transitiveFixStrategy === 'prefer-direct-upgrade') {
1697
+ if (this.preferDirectUpgrade) {
1676
1698
  remainingTransitiveFixes = await this.tryDirectUpgradesForTransitives(
1677
1699
  remainingTransitiveFixes,
1678
1700
  updateInfo
@@ -1728,10 +1750,10 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1728
1750
  * Runs the package manager in a temporary directory for a workspace.
1729
1751
  * Handles direct dependency fixes in workspace members and transitive fixes in root.
1730
1752
  *
1731
- * For 'override' and 'prefer-direct-upgrade' strategies, this uses a two-phase approach:
1753
+ * When preferDirectUpgrade is enabled, this uses a two-phase approach:
1732
1754
  * 1. First run with only direct fixes (+ fixes via direct upgrade)
1733
1755
  * 2. Check the resulting lock file for remaining transitive vulnerabilities
1734
- * 3. If any remain, add overrides and run again
1756
+ * 3. If any remain, apply the fallback strategy (override or lock-file)
1735
1757
  */
1736
1758
  private async runWorkspacePackageManagerInstall(
1737
1759
  acc: Accumulator,
@@ -1788,7 +1810,7 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1788
1810
 
1789
1811
  const rootOriginalContent = acc.allPackageJsonContents.get(rootPath) || rootUpdateInfo.originalPackageJson;
1790
1812
 
1791
- // For 'override' and 'prefer-direct-upgrade', use two-phase approach
1813
+ // When preferDirectUpgrade is enabled, use two-phase approach
1792
1814
  if (this.shouldVerifyTransitiveFixes() && allTransitiveFixes.length > 0) {
1793
1815
  // Phase 1: Apply only direct fixes
1794
1816
  const phase1RootPackageJson = this.createModifiedPackageJson(
@@ -1841,9 +1863,9 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1841
1863
  return;
1842
1864
  }
1843
1865
 
1844
- // For 'prefer-direct-upgrade', try to find higher direct dependency versions
1866
+ // When preferDirectUpgrade is enabled, try to find higher direct dependency versions
1845
1867
  // that fix the remaining transitive vulnerabilities
1846
- if (this.transitiveFixStrategy === 'prefer-direct-upgrade') {
1868
+ if (this.preferDirectUpgrade) {
1847
1869
  remainingTransitiveFixes = await this.tryDirectUpgradesForTransitives(
1848
1870
  remainingTransitiveFixes,
1849
1871
  rootUpdateInfo
@@ -1949,6 +1971,12 @@ export class DependencyVulnerabilityCheck extends ScanningRecipe<Accumulator> {
1949
1971
  packageJson[fix.scope][fix.packageName] = applyVersionPrefix(originalVersion, fix.newVersion);
1950
1972
  }
1951
1973
  } else if (fix.isTransitive) {
1974
+ // For 'lock-file' strategy, we don't add overrides for transitive deps.
1975
+ // The lock file update alone is expected to resolve safe versions.
1976
+ if (this.transitiveFixStrategy === 'lock-file') {
1977
+ continue;
1978
+ }
1979
+
1952
1980
  // If we found direct dependency upgrades that fix this transitive vulnerability,
1953
1981
  // upgrade those direct dependencies instead of using overrides. This is preferred because:
1954
1982
  // 1. It's cleaner - no override/resolution clutter in package.json
@@ -18,18 +18,17 @@ export const ALL_DEPENDENCY_SCOPES: DependencyScope[] = [
18
18
  * Strategy for handling transitive dependency vulnerabilities.
19
19
  *
20
20
  * - 'report': Report transitive vulnerabilities but don't fix them. (Default)
21
- * - 'override': Add overrides/resolutions for transitives that aren't fixed
22
- * by direct dependency upgrades. Runs an extra npm install
23
- * to check which transitives are still vulnerable after
24
- * applying direct fixes, then adds overrides only for those.
25
- * - 'prefer-direct-upgrade': First applies minimum direct dependency upgrades,
26
- * then for any remaining transitive vulnerabilities,
27
- * tries to find a higher direct dependency version
28
- * that fixes them. Falls back to overrides if no
29
- * suitable direct upgrade exists. Queries npm registry.
30
- * Most thorough, slowest.
21
+ * - 'override': Add overrides/resolutions for transitive vulnerabilities.
22
+ * Ensures fixes are persistent by explicitly specifying versions.
23
+ * - 'lock-file': Update the lock file to resolve safe versions of transitive
24
+ * dependencies without modifying package.json. Similar to
25
+ * Dependabot's approach. Less intrusive than overrides but may
26
+ * be less persistent if lock file is regenerated.
27
+ *
28
+ * Note: Use the separate `preferDirectUpgrade` option to first try upgrading
29
+ * direct dependencies before falling back to the chosen strategy.
31
30
  */
32
- export type TransitiveFixStrategy = 'report' | 'override' | 'prefer-direct-upgrade';
31
+ export type TransitiveFixStrategy = 'report' | 'override' | 'lock-file';
33
32
 
34
33
  /**
35
34
  * Represents a segment in the dependency path.
@@ -77,7 +76,7 @@ export interface VulnerabilityFix {
77
76
  originalMajorVersion?: number;
78
77
  /**
79
78
  * For transitive vulnerabilities, info about ALL direct dependencies that bring
80
- * this transitive in. Used by prefer-direct-upgrade to find higher versions
79
+ * this transitive in. Used by preferDirectUpgrade to find higher versions
81
80
  * of the direct dependencies that might fix the transitive.
82
81
  */
83
82
  directDepInfos?: {