@rudderjs/cli 4.15.0 → 4.17.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.
@@ -352,6 +352,181 @@ function collectDeps(pkg) {
352
352
  }
353
353
  return out;
354
354
  }
355
+ /** Read a file's text, or `null` if it doesn't exist / can't be read. Used
356
+ * instead of an `existsSync` precheck + read so there's no check-then-use
357
+ * file-system race (a `read` that fails is just `null`). */
358
+ function readFileOrNull(p) {
359
+ try {
360
+ return readFileSync(p, 'utf8');
361
+ }
362
+ catch {
363
+ return null;
364
+ }
365
+ }
366
+ /**
367
+ * Find the directory whose override config governs `cwd`. Overrides only take
368
+ * effect from the workspace root, so walk up for a `pnpm-workspace.yaml`, then
369
+ * (for yarn/npm) for a `package.json` declaring `workspaces`. Falls back to
370
+ * `cwd` for a plain single-package repo.
371
+ */
372
+ function findOverrideRoot(cwd) {
373
+ for (let dir = cwd;;) {
374
+ if (readFileOrNull(path.join(dir, 'pnpm-workspace.yaml')) !== null)
375
+ return dir;
376
+ const parent = path.dirname(dir);
377
+ if (parent === dir)
378
+ break;
379
+ dir = parent;
380
+ }
381
+ for (let dir = cwd;;) {
382
+ const raw = readFileOrNull(path.join(dir, 'package.json'));
383
+ if (raw !== null) {
384
+ try {
385
+ const j = JSON.parse(raw);
386
+ if (j['workspaces'])
387
+ return dir;
388
+ }
389
+ catch { /* unreadable — keep walking */ }
390
+ }
391
+ const parent = path.dirname(dir);
392
+ if (parent === dir)
393
+ break;
394
+ dir = parent;
395
+ }
396
+ return cwd;
397
+ }
398
+ /** The leading range operator of a version string (`^`/`~`), or `''` for an
399
+ * exact pin. Anything more exotic is treated as exact on rewrite. */
400
+ function rangePrefix(value) {
401
+ const m = /^\s*([\^~]?)/.exec(value);
402
+ return m?.[1] ?? '';
403
+ }
404
+ /**
405
+ * Parse the `@rudderjs/*` entries out of a `pnpm-workspace.yaml`'s top-level
406
+ * `overrides:` block. Deliberately text-scoped (not a full YAML parse) so the
407
+ * companion {@link replaceYamlOverride} can rewrite in place and preserve
408
+ * comments / formatting. Only simple `name: version` pins are read — pnpm's
409
+ * selector keys (`a>b`, `foo@1>bar`) never match a bare `@rudderjs/<name>`.
410
+ */
411
+ export function parseYamlOverrides(yaml) {
412
+ const out = [];
413
+ let inBlock = false;
414
+ for (const line of yaml.split('\n')) {
415
+ if (!inBlock) {
416
+ if (/^overrides:\s*$/.test(line))
417
+ inBlock = true;
418
+ continue;
419
+ }
420
+ if (line.trim() === '')
421
+ continue;
422
+ const indent = line.length - line.trimStart().length;
423
+ if (indent === 0) {
424
+ inBlock = false;
425
+ continue;
426
+ } // dedented out of the block
427
+ const m = /^\s*['"]?(@rudderjs\/[a-z0-9-]+)['"]?\s*:\s*['"]?([\^~]?[0-9][^'"#\s]*)['"]?/.exec(line);
428
+ if (m)
429
+ out.push([m[1], m[2]]);
430
+ }
431
+ return out;
432
+ }
433
+ /**
434
+ * Rewrite one `@rudderjs/<name>` pin in a `pnpm-workspace.yaml` overrides block
435
+ * to `version`, preserving the original quoting, operator prefix, and any inline
436
+ * comment. Returns the new text and whether a line was replaced.
437
+ */
438
+ export function replaceYamlOverride(yaml, name, version) {
439
+ const esc = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
440
+ const lines = yaml.split('\n');
441
+ let inBlock = false;
442
+ let replaced = false;
443
+ for (let i = 0; i < lines.length; i++) {
444
+ const line = lines[i];
445
+ if (!inBlock) {
446
+ if (/^overrides:\s*$/.test(line))
447
+ inBlock = true;
448
+ continue;
449
+ }
450
+ if (line.trim() === '')
451
+ continue;
452
+ const indent = line.length - line.trimStart().length;
453
+ if (indent === 0) {
454
+ inBlock = false;
455
+ continue;
456
+ }
457
+ // (prefix)(quote)(operator)(version)(quote)(trailing comment)
458
+ const re = new RegExp(`^(\\s*['"]?${esc}['"]?\\s*:\\s*)(['"]?)([\\^~]?)([0-9][^'"#\\s]*)(['"]?)(\\s*(?:#.*)?)$`);
459
+ const m = re.exec(line);
460
+ if (m) {
461
+ lines[i] = `${m[1]}${m[2]}${m[3]}${version}${m[5]}${m[6]}`;
462
+ replaced = true;
463
+ }
464
+ }
465
+ return { text: lines.join('\n'), replaced };
466
+ }
467
+ /**
468
+ * Collect every `@rudderjs/*` override pin governing the run, from the root
469
+ * package.json (`pnpm.overrides`, `resolutions`) and `pnpm-workspace.yaml`.
470
+ */
471
+ export function collectOverridePins(rootPkg, workspaceYaml) {
472
+ const out = [];
473
+ const pnpm = rootPkg['pnpm'];
474
+ const pnpmOverrides = pnpm && typeof pnpm === 'object' ? pnpm['overrides'] : undefined;
475
+ for (const [field, source] of [[pnpmOverrides, 'pnpm.overrides'], [rootPkg['resolutions'], 'resolutions']]) {
476
+ if (!field || typeof field !== 'object')
477
+ continue;
478
+ for (const [name, value] of Object.entries(field)) {
479
+ if (name.startsWith('@rudderjs/') && typeof value === 'string')
480
+ out.push({ name, value, source });
481
+ }
482
+ }
483
+ if (workspaceYaml) {
484
+ for (const [name, value] of parseYamlOverrides(workspaceYaml)) {
485
+ out.push({ name, value, source: 'pnpm-workspace.yaml' });
486
+ }
487
+ }
488
+ return out;
489
+ }
490
+ /**
491
+ * Build the override-bump plan: for each pinned `@rudderjs/*` package fetch the
492
+ * latest version, cap it by `mode`, and (when it's an upgrade) produce a row
493
+ * with the rewritten pin value (original operator prefix preserved). Latest is
494
+ * fetched once per distinct package name even when pinned in several sources.
495
+ */
496
+ export async function buildOverridePlan(pins, mode, fetch) {
497
+ const rows = [];
498
+ const skipped = [];
499
+ const names = [...new Set(pins.map(p => p.name))];
500
+ const latest = new Map();
501
+ await Promise.all(names.map(async (n) => { latest.set(n, await fetch(n)); }));
502
+ for (const pin of pins) {
503
+ const l = latest.get(pin.name) ?? null;
504
+ if (l === null) {
505
+ skipped.push(`${pin.name} (registry unreachable) [${pin.source}]`);
506
+ continue;
507
+ }
508
+ const current = parseVersion(pin.value);
509
+ const latestParsed = parseVersion(l);
510
+ if (!current || !latestParsed) {
511
+ skipped.push(`${pin.name} (couldn't parse "${pin.value}") [${pin.source}]`);
512
+ continue;
513
+ }
514
+ if (compareVersions(latestParsed, current) <= 0)
515
+ continue;
516
+ const target = buildTarget(current, latestParsed, mode);
517
+ if (compareVersions(target, current) <= 0)
518
+ continue;
519
+ rows.push({
520
+ name: pin.name,
521
+ source: pin.source,
522
+ current,
523
+ target,
524
+ oldValue: pin.value,
525
+ newValue: `${rangePrefix(pin.value)}${fmt(target)}`,
526
+ });
527
+ }
528
+ return { rows, skipped };
529
+ }
355
530
  // ── Output ────────────────────────────────────────────────────
356
531
  const isTTY = process.stdout.isTTY ?? false;
357
532
  const dim = (s) => isTTY ? `\x1b[2m${s}\x1b[0m` : s;
@@ -417,6 +592,32 @@ function applyUpdates(pkgPath, pkg, rows) {
417
592
  }
418
593
  writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
419
594
  }
595
+ /** Mutate the in-memory root package.json with the JSON-sourced override bumps
596
+ * (`pnpm.overrides`, `resolutions`). The caller writes the file. */
597
+ function applyJsonOverrides(rootPkg, rows) {
598
+ for (const row of rows) {
599
+ if (row.source === 'pnpm.overrides') {
600
+ const pnpm = rootPkg['pnpm'];
601
+ const ov = pnpm?.['overrides'];
602
+ if (ov && row.name in ov)
603
+ ov[row.name] = row.newValue;
604
+ }
605
+ else if (row.source === 'resolutions') {
606
+ const res = rootPkg['resolutions'];
607
+ if (res && row.name in res)
608
+ res[row.name] = row.newValue;
609
+ }
610
+ }
611
+ }
612
+ /** Render the override-pin bump plan — one row per pin, grouped value arrow. */
613
+ function renderOverridePlan(rows) {
614
+ const nameWidth = Math.max(...rows.map(r => r.name.length));
615
+ for (const row of rows) {
616
+ const color = colorBump(row.current, row.target);
617
+ const left = row.name.padEnd(nameWidth);
618
+ console.log(` ${left} ${dim(row.oldValue)} ${dim('→')} ${color(row.newValue)} ${dim('(' + row.source + ')')}`);
619
+ }
620
+ }
420
621
  function runInstall(pm, cwd) {
421
622
  return new Promise((resolve) => {
422
623
  const child = spawn(pm, pmInstall(pm), { cwd, stdio: 'inherit', shell: process.platform === 'win32' });
@@ -439,20 +640,42 @@ export function upgradeCommand(program) {
439
640
  .action(async (opts) => {
440
641
  const cwd = process.cwd();
441
642
  const pkgPath = path.join(cwd, 'package.json');
442
- if (!existsSync(pkgPath)) {
643
+ const pkgRaw = readFileOrNull(pkgPath);
644
+ if (pkgRaw === null) {
443
645
  console.error(red('[rudder upgrade]') + ` no package.json in ${cwd}`);
444
646
  process.exit(1);
445
647
  }
446
648
  // Mode selection — `--patch` beats `--minor` beats `--latest` if more
447
649
  // than one is passed (most-restrictive wins, matches npm conventions).
448
650
  const mode = opts.patch ? 'patch' : opts.minor ? 'minor' : 'latest';
449
- const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
651
+ const pkg = JSON.parse(pkgRaw);
450
652
  const deps = collectDeps(pkg);
451
- if (deps.length === 0) {
653
+ // Override pins (pnpm-workspace.yaml overrides / pnpm.overrides / resolutions)
654
+ // governing this run — read from the workspace ROOT, since that's where
655
+ // overrides take effect even when upgrade runs inside a member package.
656
+ const overrideRoot = findOverrideRoot(cwd);
657
+ const rootPkgPath = path.join(overrideRoot, 'package.json');
658
+ const rootPkg = (() => {
659
+ if (rootPkgPath === pkgPath)
660
+ return pkg;
661
+ const raw = readFileOrNull(rootPkgPath);
662
+ if (raw === null)
663
+ return {};
664
+ try {
665
+ return JSON.parse(raw);
666
+ }
667
+ catch {
668
+ return {};
669
+ }
670
+ })();
671
+ const wsYamlPath = path.join(overrideRoot, 'pnpm-workspace.yaml');
672
+ const wsYaml = readFileOrNull(wsYamlPath);
673
+ const overridePins = collectOverridePins(rootPkg, wsYaml);
674
+ if (deps.length === 0 && overridePins.length === 0) {
452
675
  console.log(dim(' No @rudderjs/* dependencies in package.json — nothing to upgrade.'));
453
676
  return;
454
677
  }
455
- console.log(`\n ${bold('Checking ' + deps.length + ' @rudderjs/* packages...')}`);
678
+ console.log(`\n ${bold('Checking ' + deps.length + ' @rudderjs/* packages' + (overridePins.length ? ` (+${overridePins.length} override pin(s))` : '') + '...')}`);
456
679
  const registry = opts.registry ?? 'https://registry.npmjs.org';
457
680
  const fetched = await Promise.all(deps.map(async (d) => {
458
681
  const latest = await fetchLatest(d.name, registry);
@@ -508,24 +731,42 @@ export function upgradeCommand(program) {
508
731
  for (const s of skipped)
509
732
  console.log(` ${dim('•')} ${s}`);
510
733
  }
511
- if (rows.length === 0) {
734
+ // ── Override-pin plan ─────────────────────────────────
735
+ //
736
+ // Issue #1089: when the rudder train is pinned via package-manager
737
+ // overrides, those pins win at install time. Bumping only the package.json
738
+ // ranges yields a silent partial upgrade. So plan a bump for every pinned
739
+ // @rudderjs/* package too — including transitive siblings that aren't
740
+ // direct deps — and keep the pins in lockstep with the ranges.
741
+ const { rows: overrideRows, skipped: overrideSkipped } = overridePins.length
742
+ ? await buildOverridePlan(overridePins, mode, (n) => fetchLatest(n, registry))
743
+ : { rows: [], skipped: [] };
744
+ if (overrideSkipped.length) {
745
+ console.log(yel('\n Could not check (override pins):'));
746
+ for (const s of overrideSkipped)
747
+ console.log(` ${dim('•')} ${s}`);
748
+ }
749
+ if (rows.length === 0 && overrideRows.length === 0) {
512
750
  const pinnedChecked = deps.length - skipped.length - floating.length
513
751
  - deps.filter(d => shapeOfRange(d.range) === 'workspace').length;
514
- if (pinnedChecked === 0 && floating.length === 0) {
752
+ if (deps.length === 0 && overridePins.length > 0) {
753
+ console.log(green('\n ✓ All override-pinned @rudderjs/* packages are up to date.'));
754
+ }
755
+ else if (pinnedChecked === 0 && floating.length === 0 && overridePins.length === 0) {
515
756
  // Every dep was workspace / unreachable — most commonly a
516
757
  // monorepo. Avoid the misleading "everything up to date" green tick.
517
758
  console.log(dim('\n Nothing to do — no parseable @rudderjs/* version ranges to check.'));
518
759
  }
519
- else if (pinnedChecked === 0) {
760
+ else if (pinnedChecked === 0 && overridePins.length === 0) {
520
761
  // Only floating ranges — the info block above already covered it.
521
762
  // Don't repeat with a green tick that implies bump verification.
522
763
  }
523
764
  else {
524
- console.log(green(`\n All ${pinnedChecked} pinned @rudderjs/* dependency(ies) are up to date.`));
765
+ const n = pinnedChecked + new Set(overridePins.map(p => p.name)).size;
766
+ console.log(green(`\n ✓ All ${n} pinned @rudderjs/* dependency(ies) are up to date.`));
525
767
  }
526
768
  return;
527
769
  }
528
- console.log(`\n ${bold('Updates available:')}`);
529
770
  // ── CHANGELOG snippets ────────────────────────────────
530
771
  //
531
772
  // For each bump, fetch the package's CHANGELOG.md from GitHub raw,
@@ -536,61 +777,108 @@ export function upgradeCommand(program) {
536
777
  // `--no-changelog` skips the fetch entirely for users who want speed
537
778
  // or quieter output. CHANGELOG failures degrade gracefully — a row
538
779
  // with no entries simply renders without the indented detail block.
539
- const changelogs = opts.changelog === false
540
- ? new Map()
541
- : await collectChangelogs(rows, (n) => fetchChangelog(n, opts.changelogBase ?? 'https://raw.githubusercontent.com/rudderjs/rudder/main'));
542
- renderPlanWithChangelogs(rows, changelogs);
543
- // Legend — only show when there are colored bumps to explain.
544
- const hasMajor = rows.some(r => r.target.major > r.current.major);
545
- if (hasMajor) {
546
- console.log(`\n ${red('●')} major ${cyan('●')} minor ${green('●')} patch`);
547
- console.log(dim(' Major bumps may contain breaking changes review CHANGELOGs before applying.'));
548
- }
549
- // ── Peer-dep mismatch check ─────────────────────────────
550
- //
551
- // Closes the gap that bit rudderjs.com on 2026-05-29: `pnpm update --latest
552
- // "@rudderjs/*"` happily bumped the framework packages, but didn't notice
553
- // that `@rudderjs/vite@2.7.x` requires `vite ^8` while the consumer's
554
- // package.json still declared `"vite": "^7.1.0"`. Apps stayed on the old
555
- // peer, got a (silent or warned-but-tolerated) peer mismatch, and missed
556
- // the framework upgrade.
557
- //
558
- // Strategy: for every package we're bumping, fetch its manifest at the
559
- // TARGET version and look up its peerDependencies. Each peer is
560
- // intersected against the consumer's declared range in package.json. No
561
- // overlap = mismatch. Mismatches are shown loudly and (in --check mode)
562
- // promote the exit code.
563
- const consumerPeers = readConsumerPeers(pkg);
564
- const peerMismatches = await collectPeerMismatches(rows, consumerPeers, (n, v) => fetchManifest(n, v, registry));
565
- if (peerMismatches.length) {
566
- console.log(`\n ${yel(bold(' Peer-dependency mismatches:'))}`);
567
- for (const m of peerMismatches) {
568
- console.log(` ${bold(m.peer)} ${dim('— required by')} ${m.causedBy}`);
569
- console.log(` ${dim('your package.json:')} ${m.consumerSection ? `${m.consumerSection}.` : ''}${m.peer} = ${red(`"${m.consumerRange}"`)}`);
570
- console.log(` ${dim('framework needs: ')} ${green(`"${m.requiredRange}"`)}`);
571
- console.log(` ${dim('reason: ')} ${m.reason}`);
780
+ let peerMismatches = [];
781
+ if (rows.length > 0) {
782
+ console.log(`\n ${bold('Updates available:')}`);
783
+ const changelogs = opts.changelog === false
784
+ ? new Map()
785
+ : await collectChangelogs(rows, (n) => fetchChangelog(n, opts.changelogBase ?? 'https://raw.githubusercontent.com/rudderjs/rudder/main'));
786
+ renderPlanWithChangelogs(rows, changelogs);
787
+ // Legend only show when there are colored bumps to explain.
788
+ const hasMajor = rows.some(r => r.target.major > r.current.major);
789
+ if (hasMajor) {
790
+ console.log(`\n ${red('●')} major ${cyan('●')} minor ${green('●')} patch`);
791
+ console.log(dim(' Major bumps may contain breaking changes — review CHANGELOGs before applying.'));
792
+ }
793
+ // ── Peer-dep mismatch check ─────────────────────────────
794
+ //
795
+ // Closes the gap that bit rudderjs.com on 2026-05-29: `pnpm update --latest
796
+ // "@rudderjs/*"` happily bumped the framework packages, but didn't notice
797
+ // that `@rudderjs/vite@2.7.x` requires `vite ^8` while the consumer's
798
+ // package.json still declared `"vite": "^7.1.0"`. Apps stayed on the old
799
+ // peer, got a (silent or warned-but-tolerated) peer mismatch, and missed
800
+ // the framework upgrade.
801
+ const consumerPeers = readConsumerPeers(pkg);
802
+ peerMismatches = await collectPeerMismatches(rows, consumerPeers, (n, v) => fetchManifest(n, v, registry));
803
+ if (peerMismatches.length) {
804
+ console.log(`\n ${yel(bold('⚠ Peer-dependency mismatches:'))}`);
805
+ for (const m of peerMismatches) {
806
+ console.log(` ${bold(m.peer)} ${dim('— required by')} ${m.causedBy}`);
807
+ console.log(` ${dim('your package.json:')} ${m.consumerSection ? `${m.consumerSection}.` : ''}${m.peer} = ${red(`"${m.consumerRange}"`)}`);
808
+ console.log(` ${dim('framework needs: ')} ${green(`"${m.requiredRange}"`)}`);
809
+ console.log(` ${dim('reason: ')} ${m.reason}`);
810
+ }
811
+ console.log(dim('\n Update these peer ranges in your package.json (then re-run upgrade).'));
572
812
  }
573
- console.log(dim('\n Update these peer ranges in your package.json (then re-run upgrade).'));
813
+ }
814
+ if (overrideRows.length > 0) {
815
+ console.log(`\n ${bold('Override pins to update:')}`);
816
+ console.log(dim(' These overrides are the effective installed versions — bumped to keep the pin honest.'));
817
+ renderOverridePlan(overrideRows);
574
818
  }
575
819
  if (opts.check) {
820
+ const total = rows.length + overrideRows.length;
576
821
  const peerSuffix = peerMismatches.length ? `, ${peerMismatches.length} peer mismatch(es)` : '';
577
- console.log(dim(`\n --check mode: ${rows.length} update(s) available${peerSuffix} (exit 1).`));
822
+ console.log(dim(`\n --check mode: ${total} update(s) available${peerSuffix} (exit 1).`));
578
823
  process.exit(1);
579
824
  }
580
825
  if (opts.dryRun) {
581
- console.log(dim('\n --dry-run: package.json not modified.'));
826
+ console.log(dim('\n --dry-run: no files modified.'));
582
827
  return;
583
828
  }
584
- applyUpdates(pkgPath, pkg, rows);
585
- console.log(dim('\n Updated package.json.'));
829
+ // ── Apply ──────────────────────────────────────────────
830
+ const rootIsCwd = rootPkgPath === pkgPath;
831
+ const yamlOverrideRows = overrideRows.filter(r => r.source === 'pnpm-workspace.yaml');
832
+ const jsonOverrideRows = overrideRows.filter(r => r.source !== 'pnpm-workspace.yaml');
833
+ // cwd package.json: dep bumps + (when the override root is this same file)
834
+ // the JSON override bumps, folded into a single write.
835
+ for (const row of rows)
836
+ pkg[row.section][row.name] = row.newRange;
837
+ if (rootIsCwd && jsonOverrideRows.length)
838
+ applyJsonOverrides(pkg, jsonOverrideRows);
839
+ if (rows.length || (rootIsCwd && jsonOverrideRows.length)) {
840
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
841
+ console.log(dim('\n Updated package.json.'));
842
+ }
843
+ // Separate root package.json (member-package run): JSON override bumps.
844
+ if (!rootIsCwd && jsonOverrideRows.length) {
845
+ applyJsonOverrides(rootPkg, jsonOverrideRows);
846
+ writeFileSync(rootPkgPath, JSON.stringify(rootPkg, null, 2) + '\n');
847
+ }
848
+ // pnpm-workspace.yaml: surgical line rewrite (preserves comments/formatting).
849
+ const unmatchedPins = [];
850
+ if (yamlOverrideRows.length) {
851
+ const wsPath = path.join(overrideRoot, 'pnpm-workspace.yaml');
852
+ let text = readFileOrNull(wsPath);
853
+ if (text !== null) {
854
+ for (const r of yamlOverrideRows) {
855
+ const res = replaceYamlOverride(text, r.name, fmt(r.target));
856
+ if (res.replaced)
857
+ text = res.text;
858
+ else
859
+ unmatchedPins.push(`${r.name} (pnpm-workspace.yaml)`);
860
+ }
861
+ writeFileSync(wsPath, text);
862
+ }
863
+ }
864
+ if (overrideRows.length) {
865
+ const where = rootIsCwd ? '' : ` at ${path.relative(cwd, overrideRoot) || '.'}/`;
866
+ console.log(dim(` Updated ${overrideRows.length} override pin(s)${where}.`));
867
+ }
868
+ if (unmatchedPins.length) {
869
+ console.log(yel('\n ⚠ Could not locate these pins to rewrite — update them by hand:'));
870
+ for (const u of unmatchedPins)
871
+ console.log(` ${dim('•')} ${u}`);
872
+ }
586
873
  const pm = detectPackageManager(cwd);
587
874
  console.log(`\n Running ${cyan(pm + ' install')}...\n`);
588
875
  const ok = await runInstall(pm, cwd);
589
876
  if (!ok) {
590
- console.error(red('\n Install failed.') + dim(' package.json was updated; you may need to install manually or revert.'));
877
+ console.error(red('\n Install failed.') + dim(' files were updated; you may need to install manually or revert.'));
591
878
  process.exit(1);
592
879
  }
593
- console.log(green(`\n ✓ Upgraded ${rows.length} package(s).`));
880
+ const totalApplied = rows.length + overrideRows.length;
881
+ console.log(green(`\n ✓ Upgraded ${totalApplied} package(s)/pin(s).`));
594
882
  });
595
883
  }
596
884
  // ── Test surface ──────────────────────────────────────────────
@@ -606,5 +894,8 @@ export const _internal = {
606
894
  diffPeerRange,
607
895
  readConsumerPeers,
608
896
  extractHeadline,
897
+ findOverrideRoot,
898
+ rangePrefix,
899
+ applyJsonOverrides,
609
900
  };
610
901
  //# sourceMappingURL=upgrade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,8 @@ import { tinkerCommand } from './commands/tinker.js';
20
20
  import { optimizeClearCommand } from './commands/optimize-clear.js';
21
21
  import { freshCommand } from './commands/fresh.js';
22
22
  import { downCommand, upCommand } from './commands/maintenance.js';
23
+ import { completionCommand } from './commands/completion.js';
24
+ import { suggestCommands } from './suggest.js';
23
25
  import { rudder, parseSignature, CancelledError, commandObservers } from '@rudderjs/console';
24
26
  import { CliError } from './errors.js';
25
27
  // The `rudder` CLI's own version, read from its package.json at runtime — works
@@ -368,6 +370,7 @@ async function main() {
368
370
  out += ` ${C.green(c.name().padEnd(nameWidth))} ${c.description()}\n`;
369
371
  }
370
372
  }
373
+ out += `\n ${C.dim('Tip: enable tab-completion with')} ${C.green('rudder completion install')}\n`;
371
374
  return out + '\n';
372
375
  },
373
376
  });
@@ -386,6 +389,7 @@ async function main() {
386
389
  freshCommand(program);
387
390
  downCommand(program);
388
391
  upCommand(program);
392
+ completionCommand(program);
389
393
  // Commands that scan files / manage tooling state must work even when the
390
394
  // app cannot boot (e.g. fresh clone, missing manifest, broken provider config).
391
395
  // List them here to skip the bootApp() phase entirely.
@@ -421,6 +425,10 @@ async function main() {
421
425
  'migrate', 'migrate:fresh', 'migrate:status', 'migrate:rollback', 'migrate:refresh',
422
426
  'add', 'remove', 'upgrade', 'key:generate', 'about', 'test',
423
427
  'optimize:clear', 'fresh',
428
+ // `completion` only prints/writes static shell scripts — it never touches
429
+ // app state and must work outside a project (e.g. `rudder completion install`
430
+ // run once from anywhere).
431
+ 'completion',
424
432
  // `down`/`up` just write/remove the storage/framework/down flag file — no
425
433
  // app context needed (and the app may be down because it can't boot).
426
434
  'down', 'up',
@@ -524,7 +532,15 @@ async function main() {
524
532
  // default message and set a non-zero exit code. `parseAsync()` resolves normally
525
533
  // (no `exitOverride`), so the process exits with this code once the loop drains.
526
534
  program.on('command:*', (operands) => {
527
- console.error(`\x1b[31mUnknown command: ${operands[0]}\x1b[0m`);
535
+ const unknown = operands[0] ?? '';
536
+ console.error(`\x1b[31mUnknown command: ${unknown}\x1b[0m`);
537
+ // Suggest the closest real command(s) — candidates come from the live
538
+ // program, so package-contributed and app commands are included too.
539
+ const names = program.commands.map(c => c.name()).filter(n => n && n !== '*');
540
+ const guesses = suggestCommands(unknown, names);
541
+ if (guesses.length > 0) {
542
+ console.error(`Did you mean ${guesses.map(g => `\x1b[1m${g}\x1b[0m`).join(' or ')}?`);
543
+ }
528
544
  console.error(`Run \x1b[1mrudder --help\x1b[0m for a list of available commands.`);
529
545
  process.exitCode = 1;
530
546
  });