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
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/cli/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/cli/summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ import type { PackageManager } from '../core/workspaces.js';
2
+ import { runInstall } from '../utils/npm.js';
3
+ import type { PersistedLastRun } from './lastRun.js';
4
+ /** One slot in a `package.json` where dep ranges live. */
5
+ type DepSection = 'dependencies' | 'devDependencies' | 'peerDependencies' | 'optionalDependencies';
6
+ /**
7
+ * Per-package revert action computed for a single upgrade row. `skipped` entries are kept in
8
+ * the result so the human + JSON report can explain why a row wasn't reverted (e.g. the
9
+ * current `package.json` already drifted from the recorded `to`).
10
+ */
11
+ export interface UndoRevertRecord {
12
+ name: string;
13
+ /** Workspace label ('root' or workspace member name) the row belongs to. */
14
+ workspace: string;
15
+ from?: string;
16
+ to?: string;
17
+ /** Dep section we wrote to; absent when we skipped. */
18
+ section?: DepSection;
19
+ ok: boolean;
20
+ skipped: boolean;
21
+ reason?: 'reverted' | 'drifted' | 'missing' | 'no-from' | 'target-missing';
22
+ detail?: string;
23
+ }
24
+ /** Per-override drop action computed for a single attempt row. */
25
+ export interface UndoOverrideRecord {
26
+ name: string;
27
+ chain?: string[];
28
+ applied?: string;
29
+ previous?: string;
30
+ ok: boolean;
31
+ skipped: boolean;
32
+ reason?: 'dropped' | 'restored-previous' | 'not-present' | 'missing-package-json';
33
+ detail?: string;
34
+ }
35
+ export interface UndoResult {
36
+ sourceFile: string;
37
+ /** True when the persisted run was `--dry-run` — the reverse pass is a no-op. */
38
+ noop: boolean;
39
+ /** Per-target dep revert outcomes. */
40
+ reverts: UndoRevertRecord[];
41
+ /** Per-override drop outcomes. */
42
+ overrides: UndoOverrideRecord[];
43
+ /** Post-reverse install results, keyed by target cwd. */
44
+ installs: Array<{
45
+ cwd: string;
46
+ ok: boolean;
47
+ command?: string;
48
+ exitCode?: number;
49
+ lastLines?: string;
50
+ }>;
51
+ /** Post-reverse validator result, when not skipped. */
52
+ validation?: {
53
+ ok: boolean;
54
+ command?: string;
55
+ lastLines?: string;
56
+ };
57
+ }
58
+ export interface UndoOptions {
59
+ /** Project root — where the CLI was invoked. */
60
+ cwd: string;
61
+ /** Explicit persisted run file. Defaults to `<cwd>/.dep-up-surgeon.last-run.json`. */
62
+ file?: string;
63
+ /** Override manager detection (else the value from the persisted run's `project` block). */
64
+ manager?: PackageManager;
65
+ /** Skip the post-reverse install (useful for dry runs / tests). */
66
+ skipInstall?: boolean;
67
+ /** Custom validator. When omitted, the default `validateProject` runs. */
68
+ runValidator?: () => Promise<{
69
+ ok: boolean;
70
+ command?: string;
71
+ lastLines?: string;
72
+ }>;
73
+ /** Skip the validator entirely. */
74
+ skipValidator?: boolean;
75
+ /** Test hook: override the installer (must match `runInstall` signature). */
76
+ installer?: typeof runInstall;
77
+ /** When true, compute the reverse plan but don't write anything or run install/validator. */
78
+ planOnly?: boolean;
79
+ /** When true, emit machine output only (no human log lines). */
80
+ json?: boolean;
81
+ }
82
+ /**
83
+ * Run the full reverse pass. Returns a structured `UndoResult` describing what was reverted,
84
+ * what was skipped, and the outcome of the post-reverse install + validator. Never throws on
85
+ * recoverable errors — skipped / failed items are recorded on the result.
86
+ */
87
+ export declare function runUndo(opts: UndoOptions): Promise<UndoResult>;
88
+ /**
89
+ * Render a human-readable summary of an `UndoResult`. Used by the CLI when `--json` is not
90
+ * set; tests render the JSON directly.
91
+ */
92
+ export declare function renderUndoHuman(result: UndoResult): string;
93
+ /** True when the reverse pass succeeded end-to-end (reverts, installs, validator). */
94
+ export declare function undoSucceeded(result: UndoResult): boolean;
95
+ /**
96
+ * Verify a persisted run's overrides weren't already partially undone by a subsequent run.
97
+ * Exported so callers can cheaply check state before running the full reverse pass (e.g. a
98
+ * `--undo --dry-run` mode).
99
+ */
100
+ export declare function checkOverridesStillPresent(persisted: PersistedLastRun, manager: PackageManager, cwd: string): Promise<{
101
+ present: number;
102
+ missing: number;
103
+ }>;
104
+ export {};
105
+ //# sourceMappingURL=undo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,410 @@
1
+ /**
2
+ * Implementation of the `dep-up-surgeon undo` subcommand.
3
+ *
4
+ * Given a `.dep-up-surgeon.last-run.json` report (the one written next to every CLI run,
5
+ * unless `--no-persist-report`), this module computes a reverse pass that:
6
+ *
7
+ * 1. Reverts `package.json` dependency ranges back to the `from` values recorded for each
8
+ * successful upgrade (root + every workspace target).
9
+ * 2. Drops override pins that this run added and, when the attempt recorded a `previous`
10
+ * value, restores the previous pin (i.e. if the advisory/manual pin REPLACED an
11
+ * existing override, we don't silently delete the original).
12
+ * 3. Runs `<manager> install` so the lockfile reconverges to the reverted ranges.
13
+ * 4. Runs the validator (unless `--no-validate`) so the operator knows the project builds
14
+ * with the reverted versions before they commit the undo.
15
+ *
16
+ * Safety contract:
17
+ * - If `package.json` has drifted since the recorded run (e.g. another upgrade changed the
18
+ * range), we **skip** that row with `reason: 'drifted'`. We never rewrite a range the
19
+ * user moved out from under us.
20
+ * - If the recorded run was `dryRun`, there's nothing to undo — we return a no-op report.
21
+ * - The module does not know how to restore a lockfile snapshot; instead it asks the
22
+ * manager to reinstall from the reverted `package.json`, which is the guarantee we
23
+ * actually want. A future extension can layer on a lockfile-hash check.
24
+ *
25
+ * Everything heavy (install, validator) is injected via `opts.installer` / `opts.runValidator`
26
+ * so unit tests can exercise the reverse pass without network / process calls.
27
+ */
28
+ import path from 'node:path';
29
+ import fs from 'fs-extra';
30
+ import { readOverrides, removeOverrideFromFile, applyOverrideInMemory, } from '../utils/overrides.js';
31
+ import { runInstall } from '../utils/npm.js';
32
+ import { log } from '../utils/logger.js';
33
+ import { LAST_RUN_FILENAME, loadLastRunReport } from './lastRun.js';
34
+ const DEP_SECTIONS = [
35
+ 'dependencies',
36
+ 'devDependencies',
37
+ 'peerDependencies',
38
+ 'optionalDependencies',
39
+ ];
40
+ /**
41
+ * Run the full reverse pass. Returns a structured `UndoResult` describing what was reverted,
42
+ * what was skipped, and the outcome of the post-reverse install + validator. Never throws on
43
+ * recoverable errors — skipped / failed items are recorded on the result.
44
+ */
45
+ export async function runUndo(opts) {
46
+ const file = opts.file ? path.resolve(opts.cwd, opts.file) : path.join(opts.cwd, LAST_RUN_FILENAME);
47
+ const persisted = opts.file
48
+ ? await readPersisted(file)
49
+ : await loadLastRunReport(opts.cwd);
50
+ if (!persisted) {
51
+ throw new Error(`undo: no run report found at ${file}. Pass --file <path> to point at a specific ` +
52
+ `${LAST_RUN_FILENAME}, or re-run dep-up-surgeon so it writes one.`);
53
+ }
54
+ if (persisted.dryRun) {
55
+ if (!opts.json) {
56
+ log.info(`undo: the recorded run was a dry-run; nothing to revert.`);
57
+ }
58
+ return {
59
+ sourceFile: file,
60
+ noop: true,
61
+ reverts: [],
62
+ overrides: [],
63
+ installs: [],
64
+ };
65
+ }
66
+ const manager = opts.manager ?? persisted.project?.manager ?? 'npm';
67
+ const targets = buildTargetMap(persisted, opts.cwd);
68
+ const reverts = [];
69
+ const overrides = [];
70
+ // ---- 1. Revert dep ranges ------------------------------------------------
71
+ const editedTargets = new Set();
72
+ for (const row of persisted.upgraded ?? []) {
73
+ if (!row.success || row.skipped)
74
+ continue;
75
+ const workspace = row.workspace ?? 'root';
76
+ const target = targets.get(workspace) ?? targets.get('root');
77
+ if (!target) {
78
+ reverts.push({
79
+ name: row.name,
80
+ workspace,
81
+ ok: false,
82
+ skipped: true,
83
+ reason: 'target-missing',
84
+ detail: `no target cwd found for workspace "${workspace}"`,
85
+ });
86
+ continue;
87
+ }
88
+ if (!row.from) {
89
+ reverts.push({
90
+ name: row.name,
91
+ workspace,
92
+ ok: false,
93
+ skipped: true,
94
+ reason: 'no-from',
95
+ detail: 'upgrade row did not record a `from` value',
96
+ ...(row.to ? { to: row.to } : {}),
97
+ });
98
+ continue;
99
+ }
100
+ const revert = await revertDepRange(target.packageJson, row.name, row.from, row.to);
101
+ reverts.push({
102
+ name: row.name,
103
+ workspace,
104
+ from: row.from,
105
+ ...(row.to ? { to: row.to } : {}),
106
+ ...(revert.section ? { section: revert.section } : {}),
107
+ ok: revert.ok,
108
+ skipped: !revert.ok,
109
+ ...(revert.reason ? { reason: revert.reason } : {}),
110
+ ...(revert.detail ? { detail: revert.detail } : {}),
111
+ });
112
+ if (revert.ok && !opts.planOnly) {
113
+ await fs.writeJson(target.packageJson, revert.pkg, { spaces: 2 });
114
+ editedTargets.add(target.cwd);
115
+ }
116
+ }
117
+ // ---- 2. Drop / restore overrides ----------------------------------------
118
+ for (const att of persisted.overrides?.attempts ?? []) {
119
+ if (!att.ok || att.skipped)
120
+ continue;
121
+ const pkgJson = targets.get('root')?.packageJson ?? path.join(opts.cwd, 'package.json');
122
+ if (!(await fs.pathExists(pkgJson))) {
123
+ overrides.push({
124
+ name: att.name,
125
+ ok: false,
126
+ skipped: true,
127
+ reason: 'missing-package-json',
128
+ detail: pkgJson,
129
+ });
130
+ continue;
131
+ }
132
+ const chain = att.chain && att.chain.length > 0 ? [...att.chain] : [att.name];
133
+ let result;
134
+ if (att.previous && att.previous !== att.applied) {
135
+ // Restore the pre-existing pin rather than deleting outright. This is the case where
136
+ // --apply-overrides REPLACED an existing override (e.g. we bumped 1.2.3 → 1.3.0); undo
137
+ // should put 1.2.3 back, not leave the transitive floating.
138
+ if (opts.planOnly) {
139
+ result = {
140
+ name: att.name,
141
+ chain,
142
+ ...(att.applied ? { applied: att.applied } : {}),
143
+ previous: att.previous,
144
+ ok: true,
145
+ skipped: false,
146
+ reason: 'restored-previous',
147
+ detail: `would restore ${att.previous}`,
148
+ };
149
+ }
150
+ else {
151
+ const entry = { name: chain[chain.length - 1], range: att.previous };
152
+ if (chain.length > 1)
153
+ entry.parentChain = chain.slice(0, -1);
154
+ // Undo deliberately bypasses `applyOverrideToFile`'s "skip if existing >= target"
155
+ // semantics — a revert is allowed to move the pin backwards; that's literally the
156
+ // whole point. We call `applyOverrideInMemory` directly and write the result.
157
+ const pkg = (await fs.readJson(pkgJson));
158
+ const next = applyOverrideInMemory(pkg, manager, entry);
159
+ await fs.writeJson(pkgJson, next, { spaces: 2 });
160
+ editedTargets.add(opts.cwd);
161
+ result = {
162
+ name: att.name,
163
+ chain,
164
+ ...(att.applied ? { applied: att.applied } : {}),
165
+ previous: att.previous,
166
+ ok: true,
167
+ skipped: false,
168
+ reason: 'restored-previous',
169
+ };
170
+ }
171
+ }
172
+ else {
173
+ if (opts.planOnly) {
174
+ result = {
175
+ name: att.name,
176
+ chain,
177
+ ...(att.applied ? { applied: att.applied } : {}),
178
+ ok: true,
179
+ skipped: false,
180
+ reason: 'dropped',
181
+ detail: 'would drop',
182
+ };
183
+ }
184
+ else {
185
+ const removed = await removeOverrideFromFile(pkgJson, manager, { chain });
186
+ if (removed.removed) {
187
+ editedTargets.add(opts.cwd);
188
+ result = {
189
+ name: att.name,
190
+ chain,
191
+ ...(att.applied ? { applied: att.applied } : {}),
192
+ ok: true,
193
+ skipped: false,
194
+ reason: 'dropped',
195
+ };
196
+ }
197
+ else {
198
+ result = {
199
+ name: att.name,
200
+ chain,
201
+ ...(att.applied ? { applied: att.applied } : {}),
202
+ ok: false,
203
+ skipped: true,
204
+ reason: 'not-present',
205
+ ...(removed.reason ? { detail: removed.reason } : {}),
206
+ };
207
+ }
208
+ }
209
+ }
210
+ overrides.push(result);
211
+ }
212
+ // ---- 3. Post-reverse install --------------------------------------------
213
+ const installs = [];
214
+ if (!opts.planOnly && !opts.skipInstall && editedTargets.size > 0) {
215
+ const installer = opts.installer ?? runInstall;
216
+ for (const targetCwd of editedTargets) {
217
+ const r = await installer(targetCwd, manager, {});
218
+ const row = {
219
+ cwd: targetCwd,
220
+ ok: r.ok,
221
+ ...(r.command ? { command: r.command } : {}),
222
+ ...(typeof r.exitCode === 'number' ? { exitCode: r.exitCode } : {}),
223
+ ...(r.output ? { lastLines: tail(r.output, 40) } : {}),
224
+ };
225
+ installs.push(row);
226
+ }
227
+ }
228
+ // ---- 4. Post-reverse validator ------------------------------------------
229
+ let validation;
230
+ if (!opts.planOnly && !opts.skipValidator && installs.every((r) => r.ok)) {
231
+ if (opts.runValidator) {
232
+ validation = await opts.runValidator();
233
+ }
234
+ }
235
+ return {
236
+ sourceFile: file,
237
+ noop: false,
238
+ reverts,
239
+ overrides,
240
+ installs,
241
+ ...(validation ? { validation } : {}),
242
+ };
243
+ }
244
+ async function readPersisted(file) {
245
+ if (!(await fs.pathExists(file))) {
246
+ return undefined;
247
+ }
248
+ try {
249
+ return (await fs.readJson(file));
250
+ }
251
+ catch {
252
+ return undefined;
253
+ }
254
+ }
255
+ /**
256
+ * Map workspace label → `{ cwd, packageJson }`. Falls back to the run's `cwd` when no
257
+ * targets block was persisted (single-root run).
258
+ */
259
+ function buildTargetMap(persisted, invokedAt) {
260
+ const map = new Map();
261
+ const targets = persisted.targets ?? [];
262
+ if (targets.length === 0) {
263
+ const rootCwd = persisted.cwd ?? invokedAt;
264
+ map.set('root', {
265
+ cwd: rootCwd,
266
+ packageJson: path.join(rootCwd, 'package.json'),
267
+ });
268
+ return map;
269
+ }
270
+ for (const t of targets) {
271
+ map.set(t.label, { cwd: t.cwd, packageJson: t.packageJson });
272
+ }
273
+ if (!map.has('root')) {
274
+ const rootCwd = persisted.cwd ?? invokedAt;
275
+ map.set('root', {
276
+ cwd: rootCwd,
277
+ packageJson: path.join(rootCwd, 'package.json'),
278
+ });
279
+ }
280
+ return map;
281
+ }
282
+ /**
283
+ * Revert `name` back to `from` in whichever dep section currently holds it. Returns the
284
+ * modified `pkg` object alongside metadata about what section we touched. If the current
285
+ * range doesn't match the recorded `to`, we skip with `drifted` — the user modified the
286
+ * range out from under us and rewriting would be destructive.
287
+ *
288
+ * We do NOT assert the recorded `from` matches the version before the run; the run itself
289
+ * wrote it, so treating its `from` value as authoritative is exactly what the user wants.
290
+ */
291
+ async function revertDepRange(packageJson, name, from, to) {
292
+ if (!(await fs.pathExists(packageJson))) {
293
+ return { ok: false, reason: 'missing', detail: `${packageJson} not found` };
294
+ }
295
+ const pkg = (await fs.readJson(packageJson));
296
+ for (const section of DEP_SECTIONS) {
297
+ const sec = pkg[section];
298
+ if (!sec || typeof sec !== 'object')
299
+ continue;
300
+ const map = sec;
301
+ if (!(name in map))
302
+ continue;
303
+ const current = typeof map[name] === 'string' ? map[name] : undefined;
304
+ if (to && current !== undefined && current !== to) {
305
+ // The recorded run landed on `to` but the current file holds something else — another
306
+ // run (or a human edit) changed it. Bail out of this row; undo is about REVERSING this
307
+ // specific run, not about steamrolling later history.
308
+ return {
309
+ ok: false,
310
+ reason: 'drifted',
311
+ detail: `current \`${section}.${name}\` is "${current}" but the run recorded "${to}"; leaving as-is`,
312
+ };
313
+ }
314
+ map[name] = from;
315
+ pkg[section] = map;
316
+ return { ok: true, pkg, section };
317
+ }
318
+ return {
319
+ ok: false,
320
+ reason: 'missing',
321
+ detail: `${name} not found in any dep section of ${path.basename(packageJson)}`,
322
+ };
323
+ }
324
+ /**
325
+ * Render a human-readable summary of an `UndoResult`. Used by the CLI when `--json` is not
326
+ * set; tests render the JSON directly.
327
+ */
328
+ export function renderUndoHuman(result) {
329
+ const lines = [];
330
+ lines.push(`undo: replayed ${path.basename(result.sourceFile)}`);
331
+ if (result.noop) {
332
+ lines.push(' nothing to revert (recorded run was a dry-run)');
333
+ return lines.join('\n');
334
+ }
335
+ const reverted = result.reverts.filter((r) => r.ok);
336
+ const skipped = result.reverts.filter((r) => !r.ok);
337
+ const droppedOverrides = result.overrides.filter((r) => r.ok);
338
+ const skippedOverrides = result.overrides.filter((r) => !r.ok);
339
+ lines.push(` ${reverted.length} dep range(s) reverted, ${skipped.length} skipped`);
340
+ for (const r of reverted) {
341
+ const ws = r.workspace === 'root' ? '' : ` [${r.workspace}]`;
342
+ lines.push(` - ${r.name}${ws}: ${r.to ?? '?'} → ${r.from}`);
343
+ }
344
+ for (const r of skipped) {
345
+ const ws = r.workspace === 'root' ? '' : ` [${r.workspace}]`;
346
+ lines.push(` ~ ${r.name}${ws}: skipped (${r.reason}${r.detail ? ` — ${r.detail}` : ''})`);
347
+ }
348
+ if (result.overrides.length > 0) {
349
+ lines.push(` ${droppedOverrides.length} override(s) dropped, ${skippedOverrides.length} skipped`);
350
+ for (const o of droppedOverrides) {
351
+ const label = o.chain && o.chain.length > 1 ? o.chain.join('>') : o.name;
352
+ lines.push(` - ${label}: ${o.reason}${o.previous ? ` (${o.applied} → ${o.previous})` : ` (dropped ${o.applied ?? '?'})`}`);
353
+ }
354
+ for (const o of skippedOverrides) {
355
+ const label = o.chain && o.chain.length > 1 ? o.chain.join('>') : o.name;
356
+ lines.push(` ~ ${label}: skipped (${o.reason}${o.detail ? ` — ${o.detail}` : ''})`);
357
+ }
358
+ }
359
+ for (const inst of result.installs) {
360
+ lines.push(` install @ ${inst.cwd}: ${inst.ok ? 'ok' : `failed (exit ${inst.exitCode ?? '?'})`}`);
361
+ }
362
+ if (result.validation) {
363
+ lines.push(` validator: ${result.validation.ok ? 'ok' : 'failed'}`);
364
+ }
365
+ return lines.join('\n');
366
+ }
367
+ /** Take the last `n` lines of multi-line text, preserving order. */
368
+ function tail(text, n) {
369
+ const lines = text.split(/\r?\n/);
370
+ return lines.slice(-n).join('\n');
371
+ }
372
+ /** True when the reverse pass succeeded end-to-end (reverts, installs, validator). */
373
+ export function undoSucceeded(result) {
374
+ if (result.noop)
375
+ return true;
376
+ if (result.installs.some((i) => !i.ok))
377
+ return false;
378
+ if (result.validation && !result.validation.ok)
379
+ return false;
380
+ // Skipped revert rows are soft failures — the user knows about them — so we still return
381
+ // true so `--undo` can exit 0 when everything else is clean. The JSON report surfaces the
382
+ // per-row `skipped` so CI bots can be stricter if they care.
383
+ return true;
384
+ }
385
+ /**
386
+ * Verify a persisted run's overrides weren't already partially undone by a subsequent run.
387
+ * Exported so callers can cheaply check state before running the full reverse pass (e.g. a
388
+ * `--undo --dry-run` mode).
389
+ */
390
+ export async function checkOverridesStillPresent(persisted, manager, cwd) {
391
+ const pkgJson = path.join(cwd, 'package.json');
392
+ if (!(await fs.pathExists(pkgJson)))
393
+ return { present: 0, missing: 0 };
394
+ const pkg = (await fs.readJson(pkgJson));
395
+ const read = readOverrides(pkg, manager);
396
+ let present = 0;
397
+ let missing = 0;
398
+ for (const att of persisted.overrides?.attempts ?? []) {
399
+ if (!att.ok || att.skipped)
400
+ continue;
401
+ const chain = att.chain && att.chain.length > 0 ? att.chain : [att.name];
402
+ const hit = read.entries.find((e) => e.chain.length === chain.length && e.chain.every((seg, i) => seg === chain[i]));
403
+ if (hit)
404
+ present++;
405
+ else
406
+ missing++;
407
+ }
408
+ return { present, missing };
409
+ }
410
+ //# sourceMappingURL=undo.js.map