build: update pnpm to v10.31.0 (main)#32719
Conversation
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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.
| "pnpm": "10.31.0" | |
| "pnpm": "^10.31.0" |
e23c9b2 to
2d6b073
Compare
See associated pull request for more information.
2d6b073 to
86c5030
Compare
|
This PR was merged into the repository. The changes were merged into the following branches:
|
This PR contains the following updates:
10.30.3→10.31.0Release Notes
pnpm/pnpm (pnpm)
v10.31.0: pnpm 10.31Compare Source
Minor Changes
pnpm-workspace.yaml, comments, string formatting, and whitespace will be preserved.Patch Changes
Added
-Fas a short alias for the--filteroption 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 tolink: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/EEXISTerrors if another thread already completed the import.When
lockfile-include-tarball-urlis set tofalse, 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
optimisticRepeatInstallskipping install whenoverrides,packageExtensions,ignoredOptionalDependencies,patchedDependencies, orpeersSuffixMaxLengthchanged.Fixed
pnpm patch-commitfailing 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
HOMEand the Windows user profile env var to empty strings to suppress user git configuration when runninggit 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.devNullinstead, which is git's proper mechanism for bypassing user-level configuration without corrupting the home directory path resolution.Fixes #6537
Fix
pnpm why -r --parseablemissing dependents when multiple workspace packages share the same dependency #8100.Fix
link-workspace-packages=trueincorrectly 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 --interactivetable breaking with long version strings (e.g., prerelease versions like7.0.0-dev.20251209.1) by dynamically calculating column widths instead of using hardcoded values #10316.Explicitly tell
npmthe path to the globalrcconfig file.The parameter set by the
--allow-buildflag is written toallowBuilds.Fix a bug in which specifying
filteronpnpm-workspace.yamlwould cause pnpm to not detect any projects.Print help message on running pnpm dlx without arguments and exit.
Platinum Sponsors
Gold Sponsors