Skip to content

chore: upgrade pnpm to 12.2.1 - #817

Open
stijnvanhulle wants to merge 1 commit into
mainfrom
claude/pnpm-12-rust-upgrade-batpe2
Open

chore: upgrade pnpm to 12.2.1#817
stijnvanhulle wants to merge 1 commit into
mainfrom
claude/pnpm-12-rust-upgrade-batpe2

Conversation

@stijnvanhulle

Copy link
Copy Markdown
Contributor

🎯 Changes

Bump the packageManager field to pnpm@12.2.1, the latest pnpm 12 release. pnpm 12 ships the CLI as a Rust-based native binary per platform (see the pnpm 12.0 release notes).

The lockfile picks up the new packageManagerDependencies entry that pins the platform binary; no other lockfile changes.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is for the docs (no release).

Generated by Claude Code

pnpm 12 ships the CLI as a Rust-based native binary per platform.
Bump the packageManager field so corepack installs the new release.
@codesandbox

codesandbox Bot commented Sep 1, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@changeset-bot

changeset-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 5dcf393

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

📊 Dependency Size Changes

📦 Package 📏 Size
@pnpm/exe.linux-x64@12.2.1 45.2 MB
pnpm@12.2.1 3.9 MB

Total size change: 49.1 MB

Copy link
Copy Markdown
Contributor Author

🎯 CI status

CI is red on install-dependent jobs (Build, Linting, Lint and format). The failure is not a flake: every job fails identically with the same proxy-level error while resolving different packages:

[WARN] GET https://registry.npmjs.org/<pkg>.tgz error (Failed to fetch ...: client error (Connect): tunnel error: failed to create underlying connection: tcp connect error: Connection refused (os error 111))

This is a connection tunnel refusal, not a missing package. The identical failure shows up on kubb-labs/kubb, kubb-labs/platform, stijnvanhulle/portfolio, and stijnvanhulle/template after the same pnpm 12.2.1 bump, and none of those repos' base branches show this on pnpm 11. pnpm 12 ships as a Rust binary with a different HTTP client (reqwest) than the old Node.js CLI, and it isn't completing connections through this runner's egress proxy (CI here runs under step-security/harden-runner, visible in the job logs), where pnpm 11 worked.

I don't have access to the runner's or org's network/proxy configuration, so I can't fix this from the repo. Holding this upgrade until pnpm publishes a fix, or until the runner's egress policy is confirmed compatible with pnpm 12's Rust client, seems like the way forward. I'll keep this PR open and re-check periodically rather than push further changes without a validated fix.


Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

Correction to my earlier read of this failure: it's Aikido safe-chain, not the harden-runner egress monitor.

The Install safe-chain step wraps pnpm with a local proxy (its --ci mode installs PATH shims per its docs) to scan packages before download. The job log shows safe-chain making the DNS lookup and first connection to registry.npmjs.org, then pnpm's own fetches to the same host fail with tunnel error: Connection refused — that's pnpm being refused by safe-chain's local proxy, not a general egress block.

pnpm 11 was a Node.js process, which safe-chain's shim wraps cleanly. pnpm 12 ships as a standalone Rust binary (a different, more concurrent HTTP client) invoked by corepack — it still inherits the proxy env var safe-chain sets, but the connections get refused, most likely because it opens far more concurrent connections than safe-chain's lightweight proxy can hold. safe-chain's docs list pnpm as supported but say nothing about its Rust CLI.

This still isn't something I can fix from the repo (it needs either a safe-chain update or a connection-limit tweak in the safe-chain install step), but it's a more precise lead if someone wants to raise it with Aikido or try capping pnpm's network-concurrency.


Generated by Claude Code

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