dep-up-surgeon 2.2.2 → 2.2.4

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 (45) hide show
  1. package/README.md +122 -12
  2. package/dist/cli/overrideFlow.d.ts +50 -0
  3. package/dist/cli/overrideFlow.d.ts.map +1 -1
  4. package/dist/cli/overrideFlow.js +112 -69
  5. package/dist/cli/overrideFlow.js.map +1 -1
  6. package/dist/cli/summary.d.ts.map +1 -1
  7. package/dist/cli/summary.js +17 -4
  8. package/dist/cli/summary.js.map +1 -1
  9. package/dist/cli/undo.d.ts +105 -0
  10. package/dist/cli/undo.d.ts.map +1 -0
  11. package/dist/cli/undo.js +410 -0
  12. package/dist/cli/undo.js.map +1 -0
  13. package/dist/cli/undoCommand.d.ts +2 -0
  14. package/dist/cli/undoCommand.d.ts.map +1 -0
  15. package/dist/cli/undoCommand.js +101 -0
  16. package/dist/cli/undoCommand.js.map +1 -0
  17. package/dist/cli.js +56 -14
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config/loadConfig.d.ts +64 -0
  20. package/dist/config/loadConfig.d.ts.map +1 -1
  21. package/dist/config/loadConfig.js +200 -1
  22. package/dist/config/loadConfig.js.map +1 -1
  23. package/dist/core/audit.d.ts +18 -0
  24. package/dist/core/audit.d.ts.map +1 -1
  25. package/dist/core/audit.js +29 -0
  26. package/dist/core/audit.js.map +1 -1
  27. package/dist/core/peerResolver.d.ts +64 -0
  28. package/dist/core/peerResolver.d.ts.map +1 -1
  29. package/dist/core/peerResolver.js +225 -2
  30. package/dist/core/peerResolver.js.map +1 -1
  31. package/dist/core/peerResolverAdHoc.d.ts +42 -0
  32. package/dist/core/peerResolverAdHoc.d.ts.map +1 -0
  33. package/dist/core/peerResolverAdHoc.js +226 -0
  34. package/dist/core/peerResolverAdHoc.js.map +1 -0
  35. package/dist/core/upgrader.d.ts +12 -1
  36. package/dist/core/upgrader.d.ts.map +1 -1
  37. package/dist/core/upgrader.js +171 -7
  38. package/dist/core/upgrader.js.map +1 -1
  39. package/dist/types.d.ts +24 -4
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/overrides.d.ts +81 -7
  42. package/dist/utils/overrides.d.ts.map +1 -1
  43. package/dist/utils/overrides.js +344 -30
  44. package/dist/utils/overrides.js.map +1 -1
  45. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runUndoCommand(argv: string[], version: string): Promise<void>;
2
+ //# sourceMappingURL=undoCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undoCommand.d.ts","sourceRoot":"","sources":["../../src/cli/undoCommand.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHnF"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Dedicated entry point for `dep-up-surgeon undo`. Like `doctor`, this subcommand has its
3
+ * own commander program because `undo` only needs a tiny subset of the main flow's options,
4
+ * and threading it as a flag would force every upgrade-time option to grow a guard.
5
+ *
6
+ * Exit-code contract:
7
+ * - reverse pass succeeded (or noop) → 0
8
+ * - persisted run file not found / can't be parsed → 2
9
+ * - install or validator failed during the reverse pass → 1
10
+ */
11
+ import path from 'node:path';
12
+ import { Command } from 'commander';
13
+ import { log } from '../utils/logger.js';
14
+ import { renderUndoHuman, runUndo, undoSucceeded } from './undo.js';
15
+ export async function runUndoCommand(argv, version) {
16
+ const cmd = new Command();
17
+ cmd
18
+ .name('dep-up-surgeon undo')
19
+ .description('Reverse the most recent `dep-up-surgeon` run using `.dep-up-surgeon.last-run.json`. ' +
20
+ 'Reverts `package.json` dep ranges to their `from` values, drops override pins this ' +
21
+ 'run added (or restores the previous pin when the run replaced an existing one), ' +
22
+ 'runs a fresh `<manager> install`, then runs the validator so you see green/red before ' +
23
+ 'you commit the revert. Skips rows whose current `package.json` value has drifted from ' +
24
+ 'the recorded `to`, so another run\'s changes are never clobbered. Pair with `--json` ' +
25
+ 'for machine-readable output in CI.')
26
+ .version(version)
27
+ .option('--file <path>', 'Use a specific run report instead of `.dep-up-surgeon.last-run.json` in cwd. Useful when ' +
28
+ 'the directory has been cleaned up or you want to replay a report from a CI artifact.')
29
+ .option('--json', 'Emit the structured `UndoResult` as JSON on stdout instead of the human format.', false)
30
+ .option('--dry-run', 'Compute the reverse plan and print it, but do not touch `package.json`, do not run install, do not run the validator.', false)
31
+ .option('--no-validate', 'Skip the post-reverse validator. Use when the project has no test/build script or when you ' +
32
+ 'only care that the dep ranges rolled back cleanly.')
33
+ .option('--validate <cmd>', 'Run this command as the post-reverse validator (same semantics as the upgrade flow\'s `--validate`).')
34
+ .option('--skip-install', 'Skip the post-reverse `<manager> install`. Only use when you plan to run install yourself ' +
35
+ '(e.g. in a follow-up CI step) — the lockfile will otherwise diverge from the reverted `package.json`.', false)
36
+ .option('--package-manager <mgr>', 'Override the manager recorded in the run report (auto / npm / pnpm / yarn).', 'auto')
37
+ .option('--cwd <path>', 'Run the undo against this directory instead of the current one.');
38
+ // Strip the `undo` dispatch token the same way `doctor` does.
39
+ const forwarded = [argv[0], argv[1], ...argv.slice(3)];
40
+ cmd.parse(forwarded);
41
+ const opts = cmd.opts();
42
+ const cwd = opts.cwd ? path.resolve(process.cwd(), opts.cwd) : process.cwd();
43
+ const skipValidator = opts.validate === false;
44
+ const validatorCommand = typeof opts.validate === 'string' ? opts.validate : undefined;
45
+ try {
46
+ // Build a validator closure that mirrors the main flow's behavior: if the user passed a
47
+ // command we shell that out; otherwise `validateProject` auto-detects test / build. This
48
+ // keeps `--validate "my-cmd"` working identically across `upgrade`, `doctor`, and `undo`.
49
+ const runValidator = async () => {
50
+ if (skipValidator)
51
+ return { ok: true };
52
+ try {
53
+ const { validateProject } = await import('../core/validator.js');
54
+ const fs = await import('fs-extra');
55
+ const pkg = await fs.default.readJson(path.join(cwd, 'package.json'));
56
+ const manager = opts.packageManager && opts.packageManager !== 'auto'
57
+ ? opts.packageManager
58
+ : 'npm';
59
+ const vr = await validateProject(cwd, pkg, {
60
+ ...(validatorCommand ? { command: validatorCommand, source: 'cli' } : {}),
61
+ manager,
62
+ });
63
+ return {
64
+ ok: vr.ok,
65
+ ...(vr.command ? { command: vr.command } : {}),
66
+ ...(vr.output ? { lastLines: vr.output } : {}),
67
+ };
68
+ }
69
+ catch {
70
+ // Validator crash != project broken for undo's purposes — report ok so we don't
71
+ // exit 1 purely because the validator harness itself errored. The reverse pass has
72
+ // already written the correct ranges; the operator can run their tests manually.
73
+ return { ok: true };
74
+ }
75
+ };
76
+ const result = await runUndo({
77
+ cwd,
78
+ ...(opts.file ? { file: opts.file } : {}),
79
+ ...(opts.packageManager && opts.packageManager !== 'auto'
80
+ ? { manager: opts.packageManager }
81
+ : {}),
82
+ ...(opts.dryRun ? { planOnly: true } : {}),
83
+ ...(opts.skipInstall ? { skipInstall: true } : {}),
84
+ ...(skipValidator ? { skipValidator: true } : {}),
85
+ ...(skipValidator ? {} : { runValidator }),
86
+ ...(opts.json ? { json: true } : {}),
87
+ });
88
+ if (opts.json) {
89
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
90
+ }
91
+ else {
92
+ process.stdout.write(renderUndoHuman(result) + '\n');
93
+ }
94
+ process.exit(undoSucceeded(result) ? 0 : 1);
95
+ }
96
+ catch (e) {
97
+ log.error(`undo failed: ${e instanceof Error ? e.message : String(e)}`);
98
+ process.exit(2);
99
+ }
100
+ }
101
+ //# sourceMappingURL=undoCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undoCommand.js","sourceRoot":"","sources":["../../src/cli/undoCommand.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -5,7 +5,7 @@ import chalk from 'chalk';
5
5
  import fs from 'fs-extra';
6
6
  import { program } from 'commander';
7
7
  import prompts from 'prompts';
8
- import { appendIgnoreToRc, loadConfig, mergeIgnoreLists, resolveValidateOptions, } from './config/loadConfig.js';
8
+ import { appendIgnoreToRc, loadConfig, mergeIgnoreLists, mergeOverrideSources, resolveValidateOptions, } from './config/loadConfig.js';
9
9
  import { buildStructuredReport, printStructuredCliSummary } from './cli/report.js';
10
10
  import { computeRetryFailedIgnores, LAST_RUN_FILENAME, loadLastRunReport, persistLastRunReport, } from './cli/lastRun.js';
11
11
  import { resolveSummaryDestination, writeSummary } from './cli/summary.js';
@@ -13,7 +13,7 @@ import { checkoutBranch, getCurrentBranch } from './cli/git.js';
13
13
  import { createGitFlow } from './cli/gitFlow.js';
14
14
  import { BACKUP_FILENAME, restoreInitialFromBackup, runUpgradeFlow, } from './core/upgrader.js';
15
15
  import { log } from './utils/logger.js';
16
- import { runAudit } from './core/audit.js';
16
+ import { filterAdvisoriesBySeverity, parseMinSeverity, runAudit, } from './core/audit.js';
17
17
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
18
18
  async function readSelfVersion() {
19
19
  const pkgPath = path.join(__dirname, '..', 'package.json');
@@ -122,6 +122,14 @@ async function main() {
122
122
  await runDoctorCommand(process.argv, version);
123
123
  return;
124
124
  }
125
+ // `undo` reads `.dep-up-surgeon.last-run.json` and reverses the last run (dep ranges +
126
+ // overrides + reinstall + validate). Same early-dispatch pattern as `doctor` so the
127
+ // subcommand doesn't inherit the upgrade flow's 70+ options.
128
+ if (process.argv[2] === 'undo') {
129
+ const { runUndoCommand } = await import('./cli/undoCommand.js');
130
+ await runUndoCommand(process.argv, version);
131
+ return;
132
+ }
125
133
  program
126
134
  .name('dep-up-surgeon')
127
135
  .description('Upgrade npm dependencies one-by-one with install + test/build validation and rollback on failure.')
@@ -164,6 +172,7 @@ async function main() {
164
172
  .option('--no-resolve-peers', 'Disable the peer-range intersection resolver. A linked batch that fails with a peer conflict rolls back exactly like before. Useful when you WANT the failure to surface instead of having the tool silently nudge versions off latest.')
165
173
  .option('--apply-overrides', 'After the main upgrade loop, attempt to fix transitive CVEs that no direct bump could reach by writing a package-manager override (`overrides` for npm, `pnpm.overrides` for pnpm, `resolutions` for yarn) pinning each vulnerable package to its audit-recommended safe version. Runs install + validator after each pin and rolls back the pin on failure. Requires --security-only.', false)
166
174
  .option('--override-force', 'Used with --apply-overrides. Overwrite an existing override whose value conflicts with the audit-recommended version. By default we refuse and record a `conflict` reason so the user can reconcile manually.', false)
175
+ .option('--override <spec...>', 'Apply a parent-scoped or flat override pin. Repeatable. Syntax: `<chain>@<range>` where <chain> is one of (a) a bare package name `foo` (flat — pins every occurrence), (b) pnpm-style `parent>child` (pins `child` only when nested under `parent`; chains of any depth are supported), or (c) yarn-style `parent/child` (`/` separator; `@scope/pkg` stays intact as a single segment). The pin is written to the manager-native field (`overrides` nested object for npm, `pnpm.overrides` `>`-keys for pnpm, `resolutions` `/`-keys for yarn) and is run through the same install + validator + rollback cycle as --apply-overrides. Examples: `--override lodash@4.17.21`, `--override "some-dep>foo@1.2.3"`, `--override "@scope/parent>@scope/child@2.0.0"`.', (val, acc = []) => acc.concat(val.split(',').map((s) => s.trim()).filter(Boolean)), [])
167
176
  .option('--fix-lockfile', 'Run the package manager\'s native dedupe pass (`npm dedupe` / `pnpm dedupe` / `yarn dedupe`) to collapse redundant transitive copies WITHOUT touching package.json, and scan for transitives more than one minor or a full major behind registry `latest`. The lockfile is backed up before dedupe and restored if the dedupe command OR the post-dedupe validator fails. Yarn classic (v1) has no dedupe subcommand and is recorded as `skipped: "unsupported"`.', false)
168
177
  .option('--open-pr', 'Push the branch created by --git-branch and open a GitHub PR using the `gh` CLI (must be installed + authenticated). The PR body is the --summary markdown (falls back to a minimal default). Never fatal: a missing `gh`, an auth failure, or a push reject is recorded in the structured report as `pullRequest.error` without aborting the upgrade run.', false)
169
178
  .option('--open-pr-title <title>', 'Override the PR title. Default: a deterministic title derived from the upgrade counts (e.g. "deps: [security] bump 3 packages").')
@@ -196,6 +205,12 @@ async function main() {
196
205
  }
197
206
  const config = await loadConfig(cwd);
198
207
  const ignore = mergeIgnoreLists(config.ignore, opts.ignore);
208
+ for (const w of config.warnings ?? []) {
209
+ log.warn(`rc: ${w}`);
210
+ }
211
+ if ((config.overrides?.length ?? 0) > 0 && !jsonOutput) {
212
+ log.info(`rc: loaded ${config.overrides.length} override pin${config.overrides.length === 1 ? '' : 's'} from .dep-up-surgeonrc (will run through the same install + validator + rollback cycle as --apply-overrides)`);
213
+ }
199
214
  // ---- Load .dep-up-surgeon.policy.{yaml,json} ----
200
215
  const { loadPolicy } = await import('./config/policy.js');
201
216
  const policyResult = await loadPolicy(cwd);
@@ -314,14 +329,12 @@ async function main() {
314
329
  let restrictToNames;
315
330
  let securityAdvisoryMap;
316
331
  if (opts.securityOnly) {
317
- const minSev = String(opts.minSeverity ?? 'low').toLowerCase();
318
- if (!['low', 'moderate', 'high', 'critical'].includes(minSev)) {
332
+ const minSev = parseMinSeverity(opts.minSeverity ?? 'low');
333
+ if (!minSev) {
319
334
  log.error(`--min-severity: unknown value "${opts.minSeverity}". Use "low", "moderate", "high", or "critical".`);
320
335
  process.exitCode = 1;
321
336
  return;
322
337
  }
323
- const severityRank = { low: 1, moderate: 2, high: 3, critical: 4 };
324
- const threshold = severityRank[minSev];
325
338
  let auditManager = 'npm';
326
339
  if (packageManager !== 'auto') {
327
340
  auditManager = packageManager;
@@ -343,7 +356,7 @@ async function main() {
343
356
  if (auditResult.error && !jsonOutput) {
344
357
  log.warn(`audit: ${auditResult.error}`);
345
358
  }
346
- const filtered = auditResult.advisories.filter((a) => (severityRank[a.severity] ?? 0) >= threshold);
359
+ const filtered = filterAdvisoriesBySeverity(auditResult.advisories, minSev);
347
360
  restrictToNames = new Set(filtered.map((a) => a.name));
348
361
  securityAdvisoryMap = new Map(filtered.map((a) => [
349
362
  a.name,
@@ -568,11 +581,38 @@ async function main() {
568
581
  // never block the run on enrichment failure
569
582
  }
570
583
  }
571
- // --apply-overrides: fix transitive CVEs that the direct-dep loop couldn't reach. Runs
572
- // AFTER enrichments so we have the final `upgraded` list, and BEFORE the summary so the
573
- // summary writer + JSON consumers see `report.overrides`.
574
- if (opts.applyOverrides && !dryRun) {
575
- if (!opts.securityOnly || !auditResult || auditResult.advisories.length === 0) {
584
+ // --apply-overrides / --override: fix transitive CVEs + user-supplied parent-scoped pins.
585
+ // Runs AFTER enrichments so we have the final `upgraded` list, and BEFORE the summary so
586
+ // the summary writer + JSON consumers see `report.overrides`. `--override` works
587
+ // standalone (no --security-only required); `--apply-overrides` still needs an audit.
588
+ const hasCliOverrides = Array.isArray(opts.override) && opts.override.length > 0;
589
+ const hasRcOverrides = (config.overrides?.length ?? 0) > 0;
590
+ const hasManualOverrides = hasCliOverrides || hasRcOverrides;
591
+ const wantsAdvisoryOverrides = Boolean(opts.applyOverrides);
592
+ if ((wantsAdvisoryOverrides || hasManualOverrides) && !dryRun) {
593
+ // Merge rc-sourced + CLI selectors. The merger dedupes by chain (CLI wins on conflict),
594
+ // normalizes selector strings, and surfaces malformed CLI entries as warnings — but NOT
595
+ // as a fatal error, because we still want the valid rc entries to apply even when the
596
+ // user typo'd one `--override` flag.
597
+ const merged = mergeOverrideSources(config.overrides, opts.override);
598
+ for (const w of merged.warnings) {
599
+ log.warn(w);
600
+ }
601
+ const manualOverrides = merged.entries.map((e) => {
602
+ const spec = {
603
+ chain: e.chain,
604
+ range: e.range,
605
+ };
606
+ if (e.source)
607
+ spec.source = e.source;
608
+ if (e.reason)
609
+ spec.reason = e.reason;
610
+ return spec;
611
+ });
612
+ const effectivelyHasManual = manualOverrides.length > 0;
613
+ if (wantsAdvisoryOverrides &&
614
+ (!opts.securityOnly || !auditResult || auditResult.advisories.length === 0) &&
615
+ !effectivelyHasManual) {
576
616
  if (!jsonOutput) {
577
617
  log.warn('--apply-overrides requires --security-only with at least one audit advisory; skipping.');
578
618
  }
@@ -590,14 +630,16 @@ async function main() {
590
630
  }
591
631
  const upgradedNames = new Set(report.upgraded.filter((r) => r.success && !r.skipped).map((r) => r.name));
592
632
  const overrideManager = packageManager !== 'auto' ? packageManager : report.project?.manager ?? 'npm';
633
+ const advisoriesForFlow = wantsAdvisoryOverrides && auditResult ? auditResult.advisories : [];
593
634
  const flowResult = await runOverrideFlow({
594
635
  cwd,
595
636
  manager: overrideManager,
596
- advisories: auditResult.advisories,
637
+ advisories: advisoriesForFlow,
597
638
  upgradedNames,
598
639
  directDepNames,
599
640
  overwriteConflicts: Boolean(opts.overrideForce),
600
641
  json: jsonOutput,
642
+ manualOverrides,
601
643
  });
602
644
  if (flowResult.attempts.length > 0) {
603
645
  const { overrideFieldFor } = await import('./utils/overrides.js');
@@ -609,7 +651,7 @@ async function main() {
609
651
  }
610
652
  catch (e) {
611
653
  if (!jsonOutput) {
612
- log.warn(`--apply-overrides: skipped due to error: ${e instanceof Error ? e.message : String(e)}`);
654
+ log.warn(`overrides: skipped due to error: ${e instanceof Error ? e.message : String(e)}`);
613
655
  }
614
656
  }
615
657
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,35 @@
1
+ /**
2
+ * Persisted / policy-style override pin. Mirrors `--override` on the CLI but parsed ahead of
3
+ * time from `.dep-up-surgeonrc`, so teams can commit the full set of parent-scoped pins the
4
+ * repo relies on (with human-readable `reason`s that flow into the run report).
5
+ *
6
+ * Two input shapes are accepted:
7
+ *
8
+ * - **Structured**: `{ "chain": ["some-dep", "foo"], "range": "1.2.3", "reason": "CVE-…" }`.
9
+ * `chain` may also be a single-element array for a flat pin, or a bare string for the
10
+ * 1-deep case: `{ "chain": "lodash", "range": "4.17.21" }`.
11
+ * - **Selector string**: `{ "selector": "some-dep>foo@1.2.3", "reason": "…" }` — same syntax
12
+ * as the `--override` CLI flag (pnpm `>`-chain, yarn `/`-chain, or flat). When `selector`
13
+ * embeds `@<range>`, the separate `range` field is optional.
14
+ */
15
+ export interface RcOverrideEntry {
16
+ /** Parent chain + leaf, outermost → leaf. `chain: [name]` is the flat case. */
17
+ chain: string[];
18
+ /** Version / range to pin. */
19
+ range: string;
20
+ /**
21
+ * Human-readable reason the pin exists (CVE ID, vendor guidance, "upstream PR #123 pending",
22
+ * etc.). Flows into `report.overrides.attempts[].policyReason` so reviewers never have to
23
+ * grep commit messages to find out why a transitive is pinned.
24
+ */
25
+ reason?: string;
26
+ /**
27
+ * Original selector string, if the user used the string form. Recorded for diagnostics —
28
+ * when we couldn't apply a pin we want to tell the user "the pin from rc line `<raw>`" so
29
+ * they can find and fix it quickly.
30
+ */
31
+ source?: string;
32
+ }
1
33
  export interface DepUpSurgeonRc {
2
34
  /** Package names that must never be upgraded */
3
35
  ignore?: string[];
@@ -23,12 +55,30 @@ export interface DepUpSurgeonRc {
23
55
  command?: string;
24
56
  skip?: boolean;
25
57
  };
58
+ /**
59
+ * Persistent override pins applied on every run (with `--security-only` or standalone).
60
+ * Merges with CLI `--override` flags — the CLI wins on exact-chain conflicts so ad-hoc
61
+ * overrides always take precedence over the committed policy.
62
+ */
63
+ overrides?: RcOverrideEntry[];
64
+ /** Parse warnings from loading the rc. Populated on malformed sections; never fatal. */
65
+ warnings?: string[];
26
66
  }
27
67
  /**
28
68
  * Load `.dep-up-surgeonrc` from the project root (JSON).
29
69
  * Missing or invalid files yield an empty config (no throw).
30
70
  */
31
71
  export declare function loadConfig(cwd: string): Promise<DepUpSurgeonRc>;
72
+ /**
73
+ * Parse the `overrides` section of an rc file into a `RcOverrideEntry[]`. Accepts the two
74
+ * shapes documented on `RcOverrideEntry` and records (does not throw on) malformed entries so
75
+ * a single typo in one override line doesn't kill the whole upgrade run.
76
+ *
77
+ * Duplicate chains are kept in array order — the later entry wins, matching the CLI semantic
78
+ * where a repeated `--override` overwrites the first value. We leave that dedupe to the
79
+ * merger so this function stays cheap and pure.
80
+ */
81
+ export declare function normalizeRcOverrides(raw: unknown, warnings: string[]): RcOverrideEntry[];
32
82
  /**
33
83
  * Resolve the effective validator settings combining CLI flags with `.dep-up-surgeonrc.validate`.
34
84
  * CLI flags always win over the rc file.
@@ -38,6 +88,20 @@ export declare function resolveValidateOptions(configValidate: DepUpSurgeonRc['v
38
88
  skip?: boolean;
39
89
  source?: 'cli' | 'config';
40
90
  };
91
+ /**
92
+ * Merge rc-defined overrides with CLI `--override` selectors. CLI entries always win on an
93
+ * exact-chain conflict (the user's one-off intent overrides the committed policy), but both
94
+ * lists are preserved for unique chains. Later rc entries also win over earlier rc entries
95
+ * with the same chain — same rule the CLI uses when `--override` is passed twice.
96
+ *
97
+ * Returns `{ entries, warnings }`. `warnings` is non-empty when we dropped a CLI selector
98
+ * because of a parse error; the caller can log these at the same level as `rc.warnings` so
99
+ * the user sees a single coherent diagnostics block.
100
+ */
101
+ export declare function mergeOverrideSources(rcOverrides: RcOverrideEntry[] | undefined, cliSelectors: readonly string[] | undefined): {
102
+ entries: RcOverrideEntry[];
103
+ warnings: string[];
104
+ };
41
105
  /**
42
106
  * Merge CLI `--ignore` (comma-separated) with config ignore list.
43
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1D;AAID;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAyDrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,aAAa,EAAE,OAAO,GACrB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,CAmBjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,GAAG,CAAC,MAAM,CAAC,CAcb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5F"}
1
+ {"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAaxF;AAoID;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,aAAa,EAAE,OAAO,GACrB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,CAmBjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,GAAG,SAAS,EAC1C,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC1C;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBpD;AASD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,GAAG,CAAC,MAAM,CAAC,CAcb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5F"}