chore: bump pnpm/action-setup to v6, drop dead pnpm manifest field - #265
Merged
Conversation
The repo never used corepack — CI already installs pnpm through pnpm/action-setup and pins it with `packageManager`. Two cleanups in that same area instead: - Bump `pnpm/action-setup` v5 → v6 in both workflows. v6 is a drop-in (no input changes) and is the first version that reads `devEngines.packageManager`, so switching to that declaration later needs no further CI change. `packageManager: pnpm@11.0.8` stays as the pin — action-setup, pnpm 10 and pnpm 11 all consume it, and pnpm refuses to honour both fields at once. - Drop `pnpm.onlyBuiltDependencies` from package.json. pnpm 11 no longer reads the `pnpm` manifest field; `allowBuilds` in pnpm-workspace.yaml is what governs build approval. Verified as a no-op: `node_modules/.modules.yaml` resolves identically before and after removal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Buu8ZHjnksQQdzS6vgn5ez
Contributor
📦 Snapshot releasePublished |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
This started as "remove corepack" — but there is no corepack in this repo. No
corepack enable, nocorepack prepare, nothing in the workflows, docs, or scripts. CI already installs pnpm viapnpm/action-setupand pins it withpackageManager: pnpm@11.0.8.So this PR does the two cleanups that actually apply in that area, and deliberately keeps
packageManager.Changes
pnpm/action-setupv5 → v6 inci.ymland both jobs ofrelease.yml. Drop-in: v5 and v6 declare identical inputs/outputs (the onlyaction.ymldelta is a description wording change). v6 is also the first version that readsdevEngines.packageManager, so adopting that declaration later needs no further CI change.pnpm.onlyBuiltDependenciesfrompackage.json. pnpm 11 no longer reads thepnpmmanifest field —allowBuildsinpnpm-workspace.yamlis what governs build approval, and it already listsesbuild/sharp.Why
packageManagerstays (anddevEngines.packageManagerdoes not land here)The forward-looking
devEngines.packageManagerdeclaration isn't viable for this repo yet. Verified locally against pnpm 11.22.0 / pnpm 11.0.8 / npm 10.9.7:Cannot use both "packageManager" and "devEngines.packageManager" in package.json. "packageManager" will be ignored.packageManageris consumed here — by pnpm's own version management and bypnpm/action-setupwhenversionis omitted. v5 does not readdevEnginesat all (0 occurrences in its bundleddist), so dropping the field before this bump would have broken CI.devEnginesbreaks npm-based publishing.release.ymlrunsnpm pkg set versionandnpm publish --provenance. WithdevEngines.packageManager: {name: pnpm, …}andonFail: "download"(or"error"), every npm command exits non-zero:onFail: "warn"/"ignore"lets npm proceed, andwarnprints that block on each npm invocation.devEngines.packageManagerlanded in pnpm 11.0, so a contributor on pnpm 10 would get no pin and no error — todaypackageManagerauto-switches them.onFail: "download", pnpm writespackageManagerDependenciesplus@pnpm/exe/pnpm/@reflinkentries — ~199 extra lines inpnpm-lock.yaml.Verification
pnpm install --frozen-lockfileunder pnpm 11.0.8: clean,pnpm-lock.yamlunchanged.node_modules/.modules.yamlis byte-identical before and after, and resolvesallowBuilds: {esbuild: false, sharp: true}frompnpm-workspace.yamlwith nothing sourced from the manifest field.pnpm hygiene(lint + format:check + typecheck) andpnpm knippass.Follow-up worth considering (not in this PR)
pnpm/action-setup's README now names a successor:pnpm/setup@v1, recommended for pnpm 11+. It installs pnpm as a standalone native binary and can provision the runtime, replacingactions/setup-node. That's a bigger change and it would collide withrelease.yml's deliberate Node 24 +registry-urlsetup for OIDC trusted publishing, so it deserves its own PR.Generated by Claude Code