fix(deps): move pnpm overrides to pnpm-workspace.yaml - #114
Conversation
pnpm 11 no longer reads the `pnpm` field from package.json, so the overrides added by the recent dependency sweep were silently ignored while the lockfile still recorded them. The frozen install in CI (which runs pnpm 11) then aborts with: ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current "overrides" configuration doesn't match the value found in the lockfile That kills the publish job in its "Bump version (patch)" step, so no release can go out. Move the same overrides, unchanged, into pnpm-workspace.yaml where pnpm 11 reads them. The lockfile is unchanged (still lockfileVersion '9.0'), and `--frozen-lockfile` now succeeds under both pnpm 10 (lint job) and pnpm 11 (publish job). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013S4pYSjwUsiZtdtMMpW7bw
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
PR Summary by QodoRestore pnpm 11 frozen installs with workspace-level overrides
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR |
Problem
The recent dependency sweep added
pnpm.overridestopackage.json(to clear the js-yaml / brace-expansion advisories) and regenerated the lockfile with pnpm 10.pnpm 11 no longer reads the
pnpmfield frompackage.json. It warns:CI's publish job runs pnpm 11, so it sees no overrides while the lockfile records them, and the frozen install aborts:
The publish job dies in its "Bump version (patch)" step, so this plugin cannot release at all until this is fixed. The dependency fix itself was right; only its location was wrong.
Fix
pnpmkey frompackage.json.pnpm-workspace.yaml, where pnpm 11 reads them, with a comment explaining why the selectors are scoped to a major line and why they can't live inpackage.jsonany more.Verification
pnpm-lock.yamlis byte-for-byte unchanged — stilllockfileVersion: '9.0', so the lint job (pinned to pnpm 10) keeps working.npx -y pnpm@11 i --frozen-lockfile→ succeedspnpm i --frozen-lockfilewith pnpm 10 → succeedsjs-yaml@4,js-yaml@4.3.2andbrace-expansion@1,brace-expansion@1.1.21 brace-expansion@5.0.12(nojs-yaml@4.1.1, nobrace-expansion@1.1.14).pnpm run lint→ 0 errors.🤖 Generated with Claude Code
https://claude.ai/code/session_013S4pYSjwUsiZtdtMMpW7bw