Skip to content

chore(deps): bump Node 22 → 24 LTS + pnpm 9.15.0 → 11.1.1#183

Merged
williamzujkowski merged 1 commit into
mainfrom
chore/deps-node-24-pnpm-11
May 13, 2026
Merged

chore(deps): bump Node 22 → 24 LTS + pnpm 9.15.0 → 11.1.1#183
williamzujkowski merged 1 commit into
mainfrom
chore/deps-node-24-pnpm-11

Conversation

@williamzujkowski
Copy link
Copy Markdown
Collaborator

Summary

Closes #175. Coupled bump (pnpm 9 does not officially support Node 24).

Changes

  • packageManager: pnpm@11.1.1 in root package.json. Corepack auto-installs.
  • node-version: 24 in all four workflows: ci.yml, deploy-site.yml, release.yml, sync-law.yml.
  • New allowBuilds: block in pnpm-workspace.yaml whitelisting esbuild + sharp postinstall scripts. pnpm 11 blocks postinstall scripts by default; these two are legitimate (esbuild downloads its platform binary, sharp selects its prebuilt for the runtime).
  • Lockfile fully regenerated under pnpm 11.

Local verification (Node 22 + pnpm 11.1.1)

  • pnpm install — clean, no peer-dep errors
  • pnpm build — all 8 packages
  • pnpm test — 267 passing
  • pnpm typecheck — clean
  • pnpm lint — clean

What CI verifies that local can't

  • Node 24 runtime (local nvm has 24.5.0 but couldn't activate in this shell — CI runs actions/setup-node@v6.4.0 with node-version: 24 which is the real test).
  • Full content-data submodule Astro build (53K+ statute pages) on the new runtime.

Rollback

If anything breaks, revert this commit — the prior state (Node 22 + pnpm 9.15.0) is the known-good baseline.

🤖 Generated with Claude Code

Closes #175. Bundled bump (paired by necessity: pnpm 9 does not
officially support Node 24).

- `packageManager: pnpm@11.1.1` in root package.json. Corepack picks
  it up automatically; CI's pnpm/action-setup@v6.0.3 respects the
  field.
- `node-version: 24` in all four workflows (ci, deploy-site, release,
  sync-law).
- `pnpm-workspace.yaml` gains an `allowBuilds:` block whitelisting
  `esbuild` and `sharp` postinstall scripts. pnpm 11 blocks postinstall
  scripts by default unless explicitly approved; these two are
  legitimately required (esbuild downloads its platform binary, sharp
  selects its prebuilt for the runtime).

Lockfile fully regenerated under pnpm 11. Verified locally on Node
22.22.0 + pnpm 11.1.1 (the Node 24 part is verified by CI):
- pnpm install: clean, no peer-dep errors
- pnpm build: all 8 packages
- pnpm test: 267 passing
- pnpm typecheck: 0 errors, 0 warnings
- pnpm lint: clean

Node 22 stays in Maintenance LTS until 2027-04, so this isn't urgent,
but Node 24 is the current active LTS line ("Krypton").

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@williamzujkowski williamzujkowski requested a review from a team as a code owner May 13, 2026 01:08
@williamzujkowski williamzujkowski merged commit 8c90e28 into main May 13, 2026
3 checks passed
@williamzujkowski williamzujkowski deleted the chore/deps-node-24-pnpm-11 branch May 13, 2026 01:25
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.

deps: bump Node 22 → 24 LTS (paired with pnpm 9 → 11)

1 participant