dep-up-surgeon 1.2.0 → 1.3.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.
package/README.md CHANGED
@@ -33,13 +33,13 @@ dep-up-surgeon [options]
33
33
  | `--force` | Keep a version bump even when validation fails; also skips **peer-conflict rollback** when npm output suggests peer issues (use with care). |
34
34
  | `--ignore <pkgs>` | Comma-separated package names to skip (merged with `.dep-up-surgeonrc`). |
35
35
  | `--json` | Machine-readable report on stdout (suppresses colored logs). |
36
- | `--fallback-strategy <mode>` | `minor-lines` (**default**) or `none`. When `latest` fails install/validation/peer checks, `minor-lines` walks **down** semver by trying the **highest patch per `major.minor` release line** (e.g. if `9.6.1` fails, next try the best `9.5.x`, then `9.4.x`, then earlier majors) until one works or the list ends. `none` only attempts the published `@latest` tag (legacy behavior). |
36
+ | `--fallback-strategy <mode>` | `major-lines` (**default**), `minor-lines`, or `none`. After `@latest` fails, **`major-lines`** tries the best stable version per **major** (e.g. `9.x` `8.x` `7.x` …) — fewer installs when a whole major changes behavior (e.g. **execa** 6+ is ESM-only). **`minor-lines`** steps one **`major.minor` line** at a time (more granular). If npm output looks like **ESM vs CommonJS** (`ERR_REQUIRE_ESM`), further fallbacks for that package **stop** so you don’t burn through every line. `none` only attempts `@latest`. |
37
37
 
38
38
  Exit code `1` when any upgrade could not be kept (unless `--force`). Fatal errors also exit `1`.
39
39
 
40
40
  ### Why not only “latest”?
41
41
 
42
- Packages may publish a `latest` that your project cannot adopt yet (for example **execa** 9’s **ESM-only** default, or a **TypeScript** major that breaks your build). The default strategy still **tries `latest` first**, then automatically tests older **release lines** so you often land on a **newer compatible** version without pinning forever.
42
+ Packages may publish a `latest` that your project cannot adopt yet (for example **execa** 6+ is **ESM-only** while a `"type": "commonjs"` app still `require()`s it, or a **TypeScript** major breaks your build). The default strategy **tries `latest` first**, then walks older **release lines** so you often land on a **newer compatible** version. Use **`--fallback-strategy minor-lines`** if you want finer steps than one per major.
43
43
 
44
44
  ## Configuration
45
45
 
package/dist/cli.js CHANGED
@@ -89,7 +89,7 @@ async function main() {
89
89
  .option('--force', 'Keep upgrades even when validation fails; relax peer rollback', false)
90
90
  .option('--ignore <pkgs>', 'Comma-separated package names to skip (merged with .dep-up-surgeonrc)')
91
91
  .option('--json', 'Print machine-readable report to stdout', false)
92
- .option('--fallback-strategy <mode>', 'When @latest fails: minor-lines (try older major.minor release lines) or none (only latest)', 'minor-lines');
92
+ .option('--fallback-strategy <mode>', 'When @latest fails: major-lines (default, one try per major), minor-lines (one per major.minor), or none', 'major-lines');
93
93
  commander_1.program.parse(process.argv);
94
94
  const opts = commander_1.program.opts();
95
95
  const cwd = process.cwd();
@@ -99,8 +99,12 @@ async function main() {
99
99
  const jsonOutput = Boolean(opts.json);
100
100
  const config = await (0, loadConfig_1.loadConfig)(cwd);
101
101
  const ignore = (0, loadConfig_1.mergeIgnoreLists)(config.ignore, opts.ignore);
102
- const fsRaw = String(opts.fallbackStrategy ?? 'minor-lines').toLowerCase();
103
- const fallbackStrategy = fsRaw === 'none' || fsRaw === 'off' || fsRaw === 'latest-only' ? 'none' : 'minor-lines';
102
+ const fsRaw = String(opts.fallbackStrategy ?? 'major-lines').toLowerCase();
103
+ const fallbackStrategy = fsRaw === 'none' || fsRaw === 'off' || fsRaw === 'latest-only'
104
+ ? 'none'
105
+ : fsRaw === 'minor-lines' || fsRaw === 'minor'
106
+ ? 'minor-lines'
107
+ : 'major-lines';
104
108
  let report = null;
105
109
  try {
106
110
  report = await (0, upgrader_1.runUpgradeEngine)({
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":";;;;;;AACA,0DAA6B;AAC7B,kDAA0B;AAC1B,wDAA0B;AAC1B,yCAAoC;AACpC,sDAA8B;AAC9B,oDAAqF;AACrF,8CAA+C;AAC/C,8CAIyB;AAEzB,2CAAqC;AAErC,KAAK,UAAU,eAAe;IAC5B,MAAM,OAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAyB,CAAC;IACjE,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,YAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAErB,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,YAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,GACN,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe;gBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,eAAe,YAAY;gBAChD,CAAC,CAAC,EAAE,CAAC;YACT,YAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,YAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,YAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,YAAG,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxB,YAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,YAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,YAAG,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAAmB;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,YAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAA,iBAAO,EAAC;QACxB;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EACL,4GAA4G;YAC9G,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAA,6BAAgB,EAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;QACtC,YAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,4CAA4C,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IAExC,mBAAO;SACJ,IAAI,CAAC,gBAAgB,CAAC;SACtB,WAAW,CACV,mGAAmG,CACpG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,WAAW,EAAE,sDAAsD,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,eAAe,EAAE,+CAA+C,EAAE,KAAK,CAAC;SAC/E,MAAM,CAAC,SAAS,EAAE,+DAA+D,EAAE,KAAK,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,uEAAuE,CAAC;SAClG,MAAM,CAAC,QAAQ,EAAE,yCAAyC,EAAE,KAAK,CAAC;SAClE,MAAM,CACL,4BAA4B,EAC5B,0GAA0G,EAC1G,aAAa,CACd,CAAC;IAEJ,mBAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,mBAAO,CAAC,IAAI,EAOrB,CAAC;IAEL,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,6BAAgB,EAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,gBAAgB,GAIpB,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,aAAa;QAC5D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,OAAO;YAC5C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,aAAa,CAAC;IAEtB,IAAI,MAAM,GAAuB,IAAI,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,2BAAgB,EAAC;YAC9B,GAAG;YACH,MAAM;YACN,WAAW;YACX,KAAK;YACL,UAAU;YACV,MAAM;YACN,gBAAgB;SACjB,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uBAAY,EAAC,MAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,MAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,MAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAO,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,0BAAe,CAAC,CAAC;YAC5C,IAAI,MAAM,kBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,kBAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,YAAG,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAA,mCAAwB,EAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { FinalReport } from '../types';
2
2
  declare const BACKUP_FILENAME = "package.json.dep-up-surgeon.bak";
3
- export type FallbackStrategy = 'minor-lines' | 'none';
3
+ export type FallbackStrategy = 'major-lines' | 'minor-lines' | 'none';
4
4
  export interface UpgradeEngineOptions {
5
5
  cwd: string;
6
6
  dryRun: boolean;
@@ -9,9 +9,10 @@ export interface UpgradeEngineOptions {
9
9
  jsonOutput: boolean;
10
10
  ignore: Set<string>;
11
11
  /**
12
- * `minor-lines`: if `@latest` fails (install/peer/validation), try the next
13
- * best version per (major.minor) line until one passes or the list ends.
14
- * `none`: only attempt the published `latest` (legacy behavior).
12
+ * `major-lines` (default): after `@latest` fails, try one best version per **major**
13
+ * (fewer installs; good when whole majors flip e.g. ESM-only).
14
+ * `minor-lines`: one best version per **(major.minor)** (finer steps).
15
+ * `none`: only attempt `@latest`.
15
16
  */
16
17
  fallbackStrategy: FallbackStrategy;
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/core/upgrader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA6B,WAAW,EAAiC,MAAM,UAAU,CAAC;AActG,QAAA,MAAM,eAAe,oCAAoC,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAUD,iBAAe,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;AA+MD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmLvF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/core/upgrader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAA6B,WAAW,EAAiC,MAAM,UAAU,CAAC;AAetG,QAAA,MAAM,eAAe,oCAAoC,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAUD,iBAAe,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;AA8ND;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmLvF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
@@ -62,12 +62,16 @@ async function attemptSingleUpgrade(cwd, scanned, targetVersion, opts) {
62
62
  const install = await (0, npm_1.runNpmInstall)(cwd);
63
63
  const peerHit = (0, npm_1.detectPeerConflictFromOutput)(install.output);
64
64
  if (!install.ok) {
65
+ const esm = (0, npm_1.detectEsmCommonJsBlockage)(install.output);
65
66
  await writeDepRange(cwd, scanned.section, scanned.name, previousRange);
66
67
  await (0, npm_1.runNpmInstall)(cwd);
67
68
  return {
68
69
  ok: false,
69
70
  kind: 'install',
70
- message: `npm install failed (exit ${install.exitCode})`,
71
+ message: esm
72
+ ? `npm install failed (exit ${install.exitCode}): ESM/CommonJS mismatch (e.g. ERR_REQUIRE_ESM). Newer releases may be ESM-only while this project is CommonJS — pin the package, migrate to ESM, or ignore it.`
73
+ : `npm install failed (exit ${install.exitCode})`,
74
+ abortFallbacks: esm,
71
75
  };
72
76
  }
73
77
  if (peerHit && !force) {
@@ -105,10 +109,11 @@ async function attemptSingleUpgrade(cwd, scanned, targetVersion, opts) {
105
109
  async function upgradeWithReleaseLineFallbacks(cwd, scanned, currentSemver, registryLatest, opts) {
106
110
  const { fallbackStrategy, jsonOutput } = opts;
107
111
  let candidates = [registryLatest];
108
- if (fallbackStrategy === 'minor-lines') {
112
+ if (fallbackStrategy === 'major-lines' || fallbackStrategy === 'minor-lines') {
109
113
  try {
110
114
  const all = await (0, npm_1.fetchAllPublishedVersions)(scanned.name);
111
- candidates = (0, versionFallback_1.buildMinorLineFallbackOrder)(currentSemver, registryLatest, all);
115
+ const mode = fallbackStrategy === 'major-lines' ? 'major' : 'minor';
116
+ candidates = (0, versionFallback_1.buildLineFallbackOrder)(currentSemver, registryLatest, all, mode);
112
117
  }
113
118
  catch {
114
119
  candidates = [registryLatest];
@@ -129,7 +134,7 @@ async function upgradeWithReleaseLineFallbacks(cwd, scanned, currentSemver, regi
129
134
  lastAttemptedVersion = target;
130
135
  if (i > 0 &&
131
136
  !jsonOutput &&
132
- fallbackStrategy === 'minor-lines' &&
137
+ (fallbackStrategy === 'major-lines' || fallbackStrategy === 'minor-lines') &&
133
138
  candidates.length > 1) {
134
139
  logger_1.log.warn(`Trying older release line: ${scanned.name}@${target} (after ${candidates[i - 1]} failed)`);
135
140
  }
@@ -138,6 +143,12 @@ async function upgradeWithReleaseLineFallbacks(cwd, scanned, currentSemver, regi
138
143
  const usedFallback = target !== registryLatest;
139
144
  return { result: last, chosenVersion: target, usedFallback, lastAttemptedVersion: target };
140
145
  }
146
+ if (last.abortFallbacks) {
147
+ if (!jsonOutput) {
148
+ logger_1.log.warn('Stopping further fallback attempts for this package (structural failure — likely same for other versions).');
149
+ }
150
+ break;
151
+ }
141
152
  }
142
153
  return {
143
154
  result: last,
@@ -270,7 +281,7 @@ async function runUpgradeEngine(opts) {
270
281
  continue;
271
282
  }
272
283
  if (!jsonOutput) {
273
- const fb = opts.fallbackStrategy === 'minor-lines'
284
+ const fb = opts.fallbackStrategy === 'major-lines' || opts.fallbackStrategy === 'minor-lines'
274
285
  ? ' (may try older release lines if latest fails)'
275
286
  : '';
276
287
  logger_1.log.info(`Upgrading ${scanned.name}: ${cur.version} → latest ${latest}${fb} …`);
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/core/upgrader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/core/upgrader.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@
2
2
  * Returns true if combined npm output suggests peer-related resolution issues.
3
3
  */
4
4
  export declare function detectPeerConflictFromOutput(output: string): boolean;
5
+ /**
6
+ * Detect ESM/CJS mismatch in npm install / lifecycle output (e.g. prepare → tsc → node).
7
+ * When true, trying more versions in the same "family" is usually pointless — stop fallbacks.
8
+ */
9
+ export declare function detectEsmCommonJsBlockage(output: string): boolean;
5
10
  /**
6
11
  * Latest published version for a package name (respects dist-tags; default latest).
7
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGpE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E;AAED,wFAAwF;AACxF,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQtF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAQD"}
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGpE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQjE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7E;AAED,wFAAwF;AACxF,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQtF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAQD"}
package/dist/utils/npm.js CHANGED
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.detectPeerConflictFromOutput = detectPeerConflictFromOutput;
7
+ exports.detectEsmCommonJsBlockage = detectEsmCommonJsBlockage;
7
8
  exports.fetchLatestVersion = fetchLatestVersion;
8
9
  exports.fetchAllPublishedVersions = fetchAllPublishedVersions;
9
10
  exports.runNpmInstall = runNpmInstall;
@@ -30,6 +31,17 @@ function detectPeerConflictFromOutput(output) {
30
31
  const text = output || '';
31
32
  return PEER_PATTERNS.some((re) => re.test(text));
32
33
  }
34
+ /**
35
+ * Detect ESM/CJS mismatch in npm install / lifecycle output (e.g. prepare → tsc → node).
36
+ * When true, trying more versions in the same "family" is usually pointless — stop fallbacks.
37
+ */
38
+ function detectEsmCommonJsBlockage(output) {
39
+ const t = output || '';
40
+ return (/ERR_REQUIRE_ESM/i.test(t) ||
41
+ /require\(\) of ES Module/i.test(t) ||
42
+ /Must use import to load ES Module/i.test(t) ||
43
+ /Cannot use import statement outside a module/i.test(t));
44
+ }
33
45
  /**
34
46
  * Latest published version for a package name (respects dist-tags; default latest).
35
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":";;;;;AAqBA,oEAGC;AAKD,gDAKC;AAGD,8DAQC;AAKD,sCAYC;AA9DD,kDAA0B;AAC1B,oDAA4B;AAE5B;;;GAGG;AACH,MAAM,aAAa,GAAa;IAC9B,WAAW;IACX,WAAW;IACX,cAAc;IACd,aAAa;IACb,4BAA4B;IAC5B,+BAA+B;IAC/B,8BAA8B;IAC9B,2BAA2B;CAC5B,CAAC;AAEF;;GAEG;AACH,SAAgB,4BAA4B,CAAC,MAAc;IACzD,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;IAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,SAAS,EAAE;QAC9D,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,wFAAwF;AACjF,KAAK,UAAU,yBAAyB,CAAC,WAAmB;IACjE,iFAAiF;IACjF,MAAM,IAAI,GAAG,MAAM,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,GAAW;IAK7C,MAAM,CAAC,GAAG,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC;QACpB,MAAM;QACN,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/utils/npm.ts"],"names":[],"mappings":";;;;;AAqBA,oEAGC;AAMD,8DAQC;AAKD,gDAKC;AAGD,8DAQC;AAKD,sCAYC;AA5ED,kDAA0B;AAC1B,oDAA4B;AAE5B;;;GAGG;AACH,MAAM,aAAa,GAAa;IAC9B,WAAW;IACX,WAAW;IACX,cAAc;IACd,aAAa;IACb,4BAA4B;IAC5B,+BAA+B;IAC/B,8BAA8B;IAC9B,2BAA2B;CAC5B,CAAC;AAEF;;GAEG;AACH,SAAgB,4BAA4B,CAAC,MAAc;IACzD,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;IAC1B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,MAAc;IACtD,MAAM,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;IACvB,OAAO,CACL,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1B,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,+CAA+C,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IAC1D,MAAM,QAAQ,GAAG,MAAM,gBAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,SAAS,EAAE;QAC9D,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC;AAED,wFAAwF;AACjF,KAAK,UAAU,yBAAyB,CAAC,WAAmB;IACjE,iFAAiF;IACjF,MAAM,IAAI,GAAG,MAAM,gBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,aAAa,CAAC,GAAW;IAK7C,MAAM,CAAC,GAAG,MAAM,IAAA,eAAK,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC;QACpB,MAAM;QACN,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC"}
@@ -1,17 +1,16 @@
1
- /** Max distinct (major.minor) release lines to try after `latest` fails. */
1
+ /** Max candidates after `latest` (per strategy). */
2
2
  export declare const DEFAULT_MAX_FALLBACK_LINES = 40;
3
+ export type FallbackLineMode = 'major' | 'minor';
3
4
  /**
4
- * When upgrading past the current version, npm's `latest` tag may point at a
5
- * release that breaks this project (ESM-only jump, TypeScript major, etc.).
6
- * Build an ordered list of concrete versions to try:
5
+ * Build an ordered list of concrete versions to try after `@latest` fails.
7
6
  *
8
- * 1. Always `registryLatest` first (the `@latest` dist-tag).
9
- * 2. Then, walking **down** semver order, one **best patch per (major.minor)
10
- * line** equivalent to trying "one minor line below" repeatedly across
11
- * both patch and minor/major boundaries.
7
+ * - **major**: one best stable version per **major** (e.g. 9.6.1 → 8.0.1 → 7.2.0 …).
8
+ * Fewer installs; best when whole majors change behavior (ESM-only, breaking API).
9
+ * - **minor**: one best stable version per **(major.minor)** line (finer steps).
12
10
  *
13
- * Example: current `5.1.1`, and `9.6.1` is `@latest` try
14
- * `9.6.1`, then max `9.5.*`, max `9.4.*`, … then `8.x` lines, etc.
11
+ * Always tries `registryLatest` first, then walks the generated lines in semver-desc order.
15
12
  */
13
+ export declare function buildLineFallbackOrder(currentVersion: string, registryLatest: string, allPublishedVersions: string[], mode: FallbackLineMode, maxLines?: number): string[];
14
+ /** @deprecated use buildLineFallbackOrder(..., 'minor') */
16
15
  export declare function buildMinorLineFallbackOrder(currentVersion: string, registryLatest: string, allPublishedVersions: string[], maxLines?: number): string[];
17
16
  //# sourceMappingURL=versionFallback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionFallback.d.ts","sourceRoot":"","sources":["../../src/utils/versionFallback.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,QAAQ,SAA6B,GACpC,MAAM,EAAE,CA+CV"}
1
+ {"version":3,"file":"versionFallback.d.ts","sourceRoot":"","sources":["../../src/utils/versionFallback.ts"],"names":[],"mappings":"AAEA,oDAAoD;AACpD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,SAA6B,GACpC,MAAM,EAAE,CA8CV;AAED,2DAA2D;AAC3D,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,QAAQ,SAA6B,GACpC,MAAM,EAAE,CAEV"}
@@ -4,24 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DEFAULT_MAX_FALLBACK_LINES = void 0;
7
+ exports.buildLineFallbackOrder = buildLineFallbackOrder;
7
8
  exports.buildMinorLineFallbackOrder = buildMinorLineFallbackOrder;
8
9
  const semver_1 = __importDefault(require("semver"));
9
- /** Max distinct (major.minor) release lines to try after `latest` fails. */
10
+ /** Max candidates after `latest` (per strategy). */
10
11
  exports.DEFAULT_MAX_FALLBACK_LINES = 40;
11
12
  /**
12
- * When upgrading past the current version, npm's `latest` tag may point at a
13
- * release that breaks this project (ESM-only jump, TypeScript major, etc.).
14
- * Build an ordered list of concrete versions to try:
13
+ * Build an ordered list of concrete versions to try after `@latest` fails.
15
14
  *
16
- * 1. Always `registryLatest` first (the `@latest` dist-tag).
17
- * 2. Then, walking **down** semver order, one **best patch per (major.minor)
18
- * line** equivalent to trying "one minor line below" repeatedly across
19
- * both patch and minor/major boundaries.
15
+ * - **major**: one best stable version per **major** (e.g. 9.6.1 → 8.0.1 → 7.2.0 …).
16
+ * Fewer installs; best when whole majors change behavior (ESM-only, breaking API).
17
+ * - **minor**: one best stable version per **(major.minor)** line (finer steps).
20
18
  *
21
- * Example: current `5.1.1`, and `9.6.1` is `@latest` try
22
- * `9.6.1`, then max `9.5.*`, max `9.4.*`, … then `8.x` lines, etc.
19
+ * Always tries `registryLatest` first, then walks the generated lines in semver-desc order.
23
20
  */
24
- function buildMinorLineFallbackOrder(currentVersion, registryLatest, allPublishedVersions, maxLines = exports.DEFAULT_MAX_FALLBACK_LINES) {
21
+ function buildLineFallbackOrder(currentVersion, registryLatest, allPublishedVersions, mode, maxLines = exports.DEFAULT_MAX_FALLBACK_LINES) {
25
22
  const cur = semver_1.default.coerce(currentVersion);
26
23
  if (!cur) {
27
24
  return semver_1.default.valid(registryLatest) ? [registryLatest] : [];
@@ -32,35 +29,38 @@ function buildMinorLineFallbackOrder(currentVersion, registryLatest, allPublishe
32
29
  const newerThanCurrent = stable
33
30
  .filter((v) => semver_1.default.gt(v, cur))
34
31
  .sort(semver_1.default.rcompare);
35
- /** One representative per (major.minor): first in desc order = highest patch. */
36
- const seenMinorLine = new Set();
37
- const onePerMinorLine = [];
32
+ const seen = new Set();
33
+ const onePerLine = [];
38
34
  for (const v of newerThanCurrent) {
39
35
  const p = semver_1.default.parse(v);
40
36
  if (!p) {
41
37
  continue;
42
38
  }
43
- const key = `${p.major}.${p.minor}`;
44
- if (!seenMinorLine.has(key)) {
45
- seenMinorLine.add(key);
46
- onePerMinorLine.push(v);
47
- if (onePerMinorLine.length >= maxLines) {
39
+ const key = mode === 'major' ? String(p.major) : `${p.major}.${p.minor}`;
40
+ if (!seen.has(key)) {
41
+ seen.add(key);
42
+ onePerLine.push(v);
43
+ if (onePerLine.length >= maxLines) {
48
44
  break;
49
45
  }
50
46
  }
51
47
  }
52
48
  const ordered = [];
53
- const pushUnique = (v) => {
54
- if (semver_1.default.valid(v) && !ordered.includes(v)) {
55
- ordered.push(v);
49
+ const pushUnique = (ver) => {
50
+ if (semver_1.default.valid(ver) && !ordered.includes(ver)) {
51
+ ordered.push(ver);
56
52
  }
57
53
  };
58
54
  if (semver_1.default.gt(registryLatest, cur)) {
59
55
  pushUnique(registryLatest);
60
56
  }
61
- for (const v of onePerMinorLine) {
57
+ for (const v of onePerLine) {
62
58
  pushUnique(v);
63
59
  }
64
60
  return ordered.slice(0, maxLines);
65
61
  }
62
+ /** @deprecated use buildLineFallbackOrder(..., 'minor') */
63
+ function buildMinorLineFallbackOrder(currentVersion, registryLatest, allPublishedVersions, maxLines = exports.DEFAULT_MAX_FALLBACK_LINES) {
64
+ return buildLineFallbackOrder(currentVersion, registryLatest, allPublishedVersions, 'minor', maxLines);
65
+ }
66
66
  //# sourceMappingURL=versionFallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versionFallback.js","sourceRoot":"","sources":["../../src/utils/versionFallback.ts"],"names":[],"mappings":";;;;;;AAkBA,kEAoDC;AAtED,oDAA4B;AAE5B,4EAA4E;AAC/D,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,SAAgB,2BAA2B,CACzC,cAAsB,EACtB,cAAsB,EACtB,oBAA8B,EAC9B,QAAQ,GAAG,kCAA0B;IAErC,MAAM,GAAG,GAAG,gBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,gBAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAG,MAAM;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAAC;IAEzB,iFAAiF;IACjF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,eAAe,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,CAAC,CAAS,EAAQ,EAAE;QACrC,IAAI,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,gBAAM,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"versionFallback.js","sourceRoot":"","sources":["../../src/utils/versionFallback.ts"],"names":[],"mappings":";;;;;;AAgBA,wDAoDC;AAGD,kEAOC;AA9ED,oDAA4B;AAE5B,oDAAoD;AACvC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAI7C;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CACpC,cAAsB,EACtB,cAAsB,EACtB,oBAA8B,EAC9B,IAAsB,EACtB,QAAQ,GAAG,kCAA0B;IAErC,MAAM,GAAG,GAAG,gBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,gBAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gBAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAG,MAAM;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,CAAC;IAEzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,gBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAClC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE;QACvC,IAAI,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,gBAAM,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,2DAA2D;AAC3D,SAAgB,2BAA2B,CACzC,cAAsB,EACtB,cAAsB,EACtB,oBAA8B,EAC9B,QAAQ,GAAG,kCAA0B;IAErC,OAAO,sBAAsB,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dep-up-surgeon",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Upgrade npm dependencies one-by-one with validation, rollback, and conflict reporting.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  "node": "^18.17.0 || >=20.5.0"
39
39
  },
40
40
  "dependencies": {
41
- "chalk": "^4.1.2",
41
+ "chalk": "5.6.2",
42
42
  "commander": "14.0.3",
43
43
  "execa": "^5.1.1",
44
44
  "fs-extra": "11.3.4",
@@ -51,6 +51,6 @@
51
51
  "@types/node": "25.6.0",
52
52
  "@types/prompts": "^2.4.9",
53
53
  "@types/semver": "7.7.1",
54
- "typescript": "^5.7.2"
54
+ "typescript": "5.9.3"
55
55
  }
56
56
  }