Skip to content

Provision pnpm via Corepack and pin the version#22

Merged
KucharczykL merged 2 commits into
mainfrom
claude/pnpm-npm-v12-compat-9xyk8e
Jun 14, 2026
Merged

Provision pnpm via Corepack and pin the version#22
KucharczykL merged 2 commits into
mainfrom
claude/pnpm-npm-v12-compat-9xyk8e

Conversation

@KucharczykL

Copy link
Copy Markdown
Owner

Summary

Removes the only direct npm usage in the build and makes the pnpm toolchain reproducible, in response to the upcoming npm v12 breaking changes.

The project already uses pnpm for all front-end dependency work, and pnpm disables dependency lifecycle scripts by default — so the headline npm v12 change (install scripts off by default) doesn't affect us. The one remaining npm touchpoint was the Docker assets stage bootstrapping pnpm with npm install -g pnpm. This PR replaces that with Corepack and pins the pnpm version.

Changes

  • package.json — add "packageManager": "pnpm@10.33.0" (matches the currently used pnpm and the pnpm-lock.yaml v9.0 lockfile). Single source of truth for the pnpm version across local, CI, and Docker.
  • Dockerfile — replace npm install -g pnpm with corepack enable in the Node assets stage. Corepack ships with Node and auto-activates the pinned version, so no npm is needed. The pnpm install --frozen-lockfile --ignore-scripts step is unchanged.
  • CLAUDE.md — document the Corepack-based pnpm provisioning and version-pinning workflow.

Verification

  • package.json validated as JSON.
  • pnpm install --frozen-lockfile --ignore-scripts (same flags as Docker) succeeds and reports Done … using pnpm v10.33.0, confirming the pin agrees with the lockfile.

Note: the Docker image build itself wasn't run in this environment, but Corepack is bundled in node:22-bookworm-slim.

https://claude.ai/code/session_01F94J3DuNM4dVjcDConFyHJ


Generated by Claude Code

claude added 2 commits June 14, 2026 12:48
Replace the npm-based pnpm bootstrap in the Docker assets stage with
Corepack (ships with Node, no npm needed) and pin the pnpm version via
package.json's packageManager field for reproducible builds.
@KucharczykL KucharczykL merged commit 2c699eb into main Jun 14, 2026
1 of 2 checks passed
@KucharczykL KucharczykL deleted the claude/pnpm-npm-v12-compat-9xyk8e branch June 14, 2026 12:52
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.

2 participants