Skip to content

tooling: upgrade pnpm 10 → 11 #386

@goosewobbler

Description

@goosewobbler

Move the workspace from pnpm 10 to pnpm 11 (latest major). Currently pinned to pnpm@10.33.0 via the root packageManager field.

Work

  • Bump the pinpackageManager in the root package.jsonpnpm@11.x (latest stable, with the +sha512… integrity hash from corepack use pnpm@11).
  • Regenerate the lockfilepnpm install to refresh pnpm-lock.yaml (pnpm 11 may bump lockfileVersion / settings); commit the result.
  • Standardise CI — workflows currently mix pnpm/action-setup@v4 and @v6. Move everything to @v6 (supports pnpm 11 and resolves the version from packageManager, so no hard-coded version:).
  • Review pnpm-workspace.yaml — catalog + settings keys; pnpm 11 changed some config defaults/locations (e.g. settings that moved out of .npmrc / package.json into pnpm-workspace.yaml).
  • Check breaking changes — walk the pnpm 11 release notes for default-behaviour changes (hoisting / peer-dependency resolution / node-linker / dangerouslyAllowAllBuilds and the new build-script allowlist). The package-test fixtures (isolated installs) are the most exposed.
  • Verify the toolchain — Turborepo + the full build / test / lint / typecheck pipeline on the new pnpm.
  • Docs — update AGENTS.md (pnpm 10.27.0+11.x) and any setup docs that name the pnpm version. Optionally add an engines.pnpm pin.

Validation

Clean pnpm install, full build/test/lint/typecheck green, CI green, and the package-test fixtures still resolve their isolated installs.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciUpdates to Continuous Integrationarea:dependenciesUpdating dependenciesarea:toolingUpdates to toolingtype:taskTask(s) to complete

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions