Skip to content

build: update pnpm to v10.31.0 (main)#32719

Merged
alan-agius4 merged 1 commit intoangular:mainfrom
angular-robot:ng-renovate/main-pnpm-10-x
Mar 10, 2026
Merged

build: update pnpm to v10.31.0 (main)#32719
alan-agius4 merged 1 commit intoangular:mainfrom
angular-robot:ng-renovate/main-pnpm-10-x

Conversation

@angular-robot
Copy link
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pnpm (source) 10.30.310.31.0 age adoption passing confidence

Release Notes

pnpm/pnpm (pnpm)

v10.31.0: pnpm 10.31

Compare Source

Minor Changes
  • When pnpm updates the pnpm-workspace.yaml, comments, string formatting, and whitespace will be preserved.
Patch Changes
  • Added -F as a short alias for the --filter option in the help output.

  • Handle undefined pkgSnapshot in pnpm why -r #​10700.

  • Fix headless install not being used when a project has an injected self-referencing file: dependency that resolves to link: in the lockfile.

  • Fixed a race condition when multiple worker threads import the same package to the global virtual store concurrently. The rename operation now tolerates ENOTEMPTY/EEXIST errors if another thread already completed the import.

  • When lockfile-include-tarball-url is set to false, tarball URLs are now always excluded from the lockfile. Previously, tarball URLs could still appear for packages hosted under non-standard URLs, making the behavior flaky and inconsistent #​6667.

  • Fixed optimisticRepeatInstall skipping install when overrides, packageExtensions, ignoredOptionalDependencies, patchedDependencies, or peersSuffixMaxLength changed.

  • Fixed pnpm patch-commit failing with "unable to access '/.config/git/attributes': Permission denied" error in environments where HOME is unset or non-standard (Docker containers, CI systems).

    The issue occurred because pnpm was setting HOME and the Windows user profile env var to empty strings to suppress user git configuration when running git diff. This caused git to resolve the home directory (~) as root (/), leading to permission errors when attempting to access /.config/git/attributes.

    Now uses GIT_CONFIG_GLOBAL: os.devNull instead, which is git's proper mechanism for bypassing user-level configuration without corrupting the home directory path resolution.

    Fixes #​6537

  • Fix pnpm why -r --parseable missing dependents when multiple workspace packages share the same dependency #​8100.

  • Fix link-workspace-packages=true incorrectly linking workspace packages when the requested version doesn't match the workspace package's version. Previously, on fresh installs the version constraint is overridden to * in the fallback resolution paths, causing any workspace package with a matching name to be linked regardless of version #​10173.

  • Fixed pnpm update --interactive table breaking with long version strings (e.g., prerelease versions like 7.0.0-dev.20251209.1) by dynamically calculating column widths instead of using hardcoded values #​10316.

  • Explicitly tell npm the path to the global rc config file.

  • The parameter set by the --allow-build flag is written to allowBuilds.

  • Fix a bug in which specifying filter on pnpm-workspace.yaml would cause pnpm to not detect any projects.

  • Print help message on running pnpm dlx without arguments and exit.

Platinum Sponsors
Bit
Gold Sponsors
Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

  • If you want to rebase/retry this PR, check this box

@angular-robot angular-robot added action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only] labels Mar 9, 2026
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates pnpm from version 10.30.3 to 10.31.0. The changes are consistent across MODULE.bazel, MODULE.bazel.lock, and package.json. I have one suggestion to improve developer experience by using a more flexible version range for pnpm in the engines field of package.json.

Note: Security Review did not run due to the size of the PR.

"npm": "Please use pnpm instead of NPM to install dependencies",
"yarn": "Please use pnpm instead of Yarn to install dependencies",
"pnpm": "10.30.3"
"pnpm": "10.31.0"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While pinning the pnpm version in the packageManager field is great for ensuring consistent environments, using a strict version in the engines field can be overly restrictive for developers who might not be using corepack. A developer with a slightly different patch version of pnpm installed globally would be blocked.

Using a caret range ^ would provide more flexibility without compromising the enforced version for corepack users. This aligns with the practice used for the node engine version in this same file.

Suggested change
"pnpm": "10.31.0"
"pnpm": "^10.31.0"

@angular-robot angular-robot force-pushed the ng-renovate/main-pnpm-10-x branch from e23c9b2 to 2d6b073 Compare March 9, 2026 14:50
See associated pull request for more information.
@angular-robot angular-robot force-pushed the ng-renovate/main-pnpm-10-x branch from 2d6b073 to 86c5030 Compare March 9, 2026 15:23
@alan-agius4 alan-agius4 merged commit 081153b into angular:main Mar 10, 2026
35 checks passed
@alan-agius4
Copy link
Collaborator

This PR was merged into the repository. The changes were merged into the following branches:

@alan-agius4 alan-agius4 deleted the ng-renovate/main-pnpm-10-x branch March 10, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: build & ci Related the build and CI infrastructure of the project target: automation This PR is targeted to only merge into the branch defined in Github [bot use only]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants