Skip to content

Replace pnpmfile hook with resolvePeersFromWorkspaceRoot - #3

Merged
bachmacintosh merged 1 commit into
mainfrom
claude/ecstatic-rubin-tuaoah
Sep 28, 2026
Merged

bachmacintosh merged 1 commit into
mainfrom
claude/ecstatic-rubin-tuaoah

Conversation

@bachmacintosh

Copy link
Copy Markdown
Contributor

Why

Renovate PRs fail the frozen install with ERR_PNPM_LOCKFILE_CONFIG_MISMATCH (pnpmfileChecksum mismatch). Renovate runs pnpm install --lockfile-only with --ignore-scripts --ignore-pnpmfile, so the .pnpmfile.mjs hook is skipped and pnpm drops pnpmfileChecksum from the lockfile. CI then runs with the pnpmfile present and rejects the lockfile. Regenerating the lockfile locally can't fix this, because Renovate strips the checksum again on every update.

What

  • Remove .pnpmfile.mjs.
  • Add resolvePeersFromWorkspaceRoot: false to pnpm-workspace.yaml. openapi-typescript's typescript peer no longer resolves to the root's TypeScript 7, so autoInstallPeers gives it TypeScript 5.9.3 (the same result the hook produced).
  • Regenerate the lockfile. The only changes are that pnpmfileChecksum is gone and openapi-typescript is now 7.13.0(typescript@5.9.3). No other peer resolutions changed in a from-scratch resolve.

Verification

  • pnpm install --frozen-lockfile passes. openapi-typescript sees TypeScript 5.9.3, and the webhooks tsc still comes from the root's TypeScript 7.
  • A simulated Renovate run (@types/node 24.13.5 → 24.13.6, pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile) followed by a frozen install passes.
  • types, check and build for all packages, plus format:check and lint:ci, pass.

After this merges, rebase #2 and it should go green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Hhhq1WNbN23hNCjJVjqUfD


Generated by Claude Code

Renovate runs pnpm with --ignore-pnpmfile, so its lockfile updates
drop pnpmfileChecksum and the PR workflow's frozen install fails with
ERR_PNPM_LOCKFILE_CONFIG_MISMATCH. Getting openapi-typescript its own
TypeScript 5 peer through a pnpm-workspace.yaml setting instead keeps
the lockfile identical whether or not the pnpmfile is honored.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hhhq1WNbN23hNCjJVjqUfD
@bachmacintosh
bachmacintosh added this pull request to the merge queue Sep 28, 2026
Merged via the queue into main with commit ebfda97 Sep 28, 2026
1 check passed
@bachmacintosh
bachmacintosh deleted the claude/ecstatic-rubin-tuaoah branch September 28, 2026 22:57
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