Skip to content

chore(deps): upgrade commander to v14#1

Merged
dnlbox merged 3 commits into
mainfrom
chore/commander-14
May 20, 2026
Merged

chore(deps): upgrade commander to v14#1
dnlbox merged 3 commits into
mainfrom
chore/commander-14

Conversation

@dnlbox
Copy link
Copy Markdown
Owner

@dnlbox dnlbox commented May 20, 2026

Summary

Bundle of two coordinated breaking changes for the next release:

  1. Bumps commander from 12.1.0 to ^14
  2. Raises minimum Node version from 20 to 22 (engines.node >=22.0.0)

Why bundled

Both are pre-1.0 breaking changes for the same release. Shipping them together gives consumers a single upgrade decision instead of two staggered ones.

The Node 22 bump is driven by upstream: pnpm 11.x dropped Node 20 support (uses node:sqlite, available in Node 22.13+ only). Sister CLIs in the workspace had failing CI; this repo passed by chance, but the bump still needs to land for the coordinated release.

Verification

  • pnpm typecheck && pnpm lint && pnpm test && pnpm build — all green (497 unit tests)

  • Workspace e2e contract suite (31 tests / 33 metric scenarios) — green

  • Baseline diff vs commander 12.x (workspace e2e):

    [
      { "scenario": "test-data/--help",          "reason": "stdout_bytes", "baseline": 1356, "observed": 1318 },
      { "scenario": "test-data/generate --help", "reason": "stdout_bytes", "baseline": 1920, "observed": 1892 }
    ]

    Two cosmetic stdout-byte deltas only — commander 14's help renderer tightened whitespace. Zero exit-code deltas, zero deltas on sibling CLI scenarios.

  • CI now runs only on Node 22 (matrix simplified)

Breaking changes

  • commander 12 → 14 (cosmetic --help whitespace may shift; subcommand signatures unchanged)
  • engines.node >=22.0.0 (drops Node 20 support)

Test plan

  • Unit tests pass
  • Workspace e2e baseline diff reviewed
  • Manual smoke of all subcommands
  • CI green on Node 22
  • Human review

🤖 Generated with Claude Code

dnlbox and others added 3 commits May 20, 2026 13:24
- commander 12.1.0 → ^14
- 497 unit tests pass
- Workspace e2e contract suite green (31/31); baseline diff: 2 cosmetic
  stdout_bytes deltas on --help formatting (test-data/--help: 1356→1318,
  test-data/generate --help: 1920→1892). Zero exit_code deltas.
- Smoke-tested: generate (patient + bundle), locales, describe, --help,
  --version, -V, error paths

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- engines.node >=20 → >=22 (upstream pnpm 11.x dropped Node 20)
- @types/node ^20 → ^24 (LTS line)
- CI workflows: node-version matrix simplified to ["22"]

Pre-1.0 breaking change. Bundled into the commander 14 PR so the
whole breaking surface ships as one release.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The packageManager field already pins pnpm@10.32.1 (workspace policy);
engines.pnpm now reflects the same floor. Prevents accidental resolution
to pnpm 11.x which dropped support for `pnpm.onlyBuiltDependencies` and
requires Node 22.13+ in its sqlite store.
@dnlbox dnlbox merged commit 29297e9 into main May 20, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant