chore(deps): update pnpm to v10.10.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
pnpm (source) | packageManager | minor | 10.4.0+sha512.6b849d0787d97f8f4e1f03a9b8ff8f038e79e153d6f11ae539ae7c435ff9e796df6a862c991502695c7f9e8fac8aeafc1ac5a8dab47e36148d183832d886dd52 -> 10.10.0 |
Release Notes
pnpm/pnpm (pnpm)
v10.10.0
Minor Changes
- Allow loading the
preResolution
,importPackage
, andfetchers
hooks from local pnpmfile.
Patch Changes
- Fix
cd
command, whenshellEmulator
istrue
#7838. - Sort keys in
pnpm-workspace.yaml
#9453. - Pass the
npm_package_json
environment variable to the executed scripts #9452. - Fixed a mistake in the description of the
--reporter=silent
option.
v10.9.0
Minor Changes
-
Added support for installing JSR packages. You can now install JSR packages using the following syntax:
pnpm add jsr:<pkg_name>
or with a version range:
pnpm add jsr:<pkg_name>@​<range>
For example, running:
pnpm add jsr:@​foo/bar
will add the following entry to your
package.json
:{ "dependencies": { "@​foo/bar": "jsr:^0.1.2" } }
When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions:
{ "dependencies": { "@​foo/bar": "npm:@​jsr/foo__bar@^0.1.2" } }
Related issue: #8941.
Note: The
@jsr
scope defaults to https://npm.jsr.io/ if the@jsr:registry
setting is not defined. -
Added a new setting,
dangerouslyAllowAllBuilds
, for automatically running any scripts of dependencies without the need to approve any builds. It was already possible to allow all builds by adding this topnpm-workspace.yaml
:neverBuiltDependencies: []
dangerouslyAllowAllBuilds
has the same effect but also allows to be set globally via:pnpm config set dangerouslyAllowAllBuilds true
It can also be set when running a command:
pnpm install --dangerously-allow-all-builds
Patch Changes
- Fix a false negative in
verifyDepsBeforeRun
whennodeLinker
ishoisted
and there is a workspace package without dependencies andnode_modules
directory #9424. - Explicitly drop
verifyDepsBeforeRun
support fornodeLinker: pnp
. CombiningverifyDepsBeforeRun
andnodeLinker: pnp
will now print a warning.
v10.8.1
Patch Changes
- Removed bright white highlighting, which didn't look good on some light themes #9389.
- If there is no pnpm related configuration in
package.json
,onlyBuiltDependencies
will be written topnpm-workspace.yaml
file #9404.
v10.8.0
Minor Changes
-
Experimental. A new hook is supported for updating configuration settings. The hook can be provided via
.pnpmfile.cjs
. For example:module.exports = { hooks: { updateConfig: (config) => ({ ...config, nodeLinker: "hoisted", }), }, };
-
Now you can use the
pnpm add
command with the--config
flag to install new configurational dependencies #9377.
Patch Changes
- Do not hang indefinitely, when there is a glob that starts with
!/
inpnpm-workspace.yaml
. This fixes a regression introduced by #9169. -
pnpm audit --fix
should update the overrides inpnpm-workspace.yaml
. -
pnpm link
should update overrides inpnpm-workspace.yaml
, not inpackage.json
#9365.
v10.7.1
Patch Changes
-
pnpm config set
should convert the settings to their correct type before adding them topnpm-workspace.yaml
#9355. -
pnpm config get
should read auth related settings via npm CLI #9345. - Replace leading
~/
in a path in.npmrc
with the home directory #9217.
v10.7.0
Minor Changes
-
pnpm config get
andlist
also show settings set inpnpm-workspace.yaml
files #9316. -
It should be possible to use env variables in
pnpm-workspace.yaml
setting names and value. -
Add an ability to patch dependencies by version ranges. Exact versions override version ranges, which in turn override name-only patches. Version range
*
is the same as name-only, except that patch application failure will not be ignored.For example:
patchedDependencies: foo: patches/foo-1.patch foo@^2.0.0: patches/foo-2.patch [email protected]: patches/foo-3.patch
The above configuration would apply
patches/foo-3.patch
to[email protected]
,patches/foo-2.patch
to allfoo
versions which satisfy^2.0.0
except2.1.0
, andpatches/foo-1.patch
to the remainingfoo
versions.[!WARNING] The version ranges should not overlap. If you want to specialize a sub range, make sure to exclude it from the other keys. For example:
# pnpm-workspace.yaml patchedDependencies: # the specialized sub range '[email protected]': patches/foo.2.2.0-2.8.0.patch # the more general patch, excluding the sub range above 'foo@>=2.0.0 <2.2.0 || >2.8.0': 'patches/foo.gte2.patch
In most cases, however, it's sufficient to just define an exact version to override the range.
-
pnpm config set --location=project
saves the setting to apnpm-workspace.yaml
file if no.npmrc
file is present in the directory #9316. -
Rename
pnpm.allowNonAppliedPatches
topnpm.allowUnusedPatches
. The old name is still supported but it would print a deprecation warning message. -
Add
pnpm.ignorePatchFailures
to manage whether pnpm would ignore patch application failures.If
ignorePatchFailures
is not set, pnpm would throw an error when patches with exact versions or version ranges fail to apply, and it would ignore failures from name-only patches.If
ignorePatchFailures
is explicitly set tofalse
, pnpm would throw an error when any type of patch fails to apply.If
ignorePatchFailures
is explicitly set totrue
, pnpm would print a warning when any type of patch fails to apply.
Patch Changes
- Remove dependency paths from audit output to prevent out-of-memory errors #9280.
v10.6.5
Patch Changes
- Remove warnings after having explicitly approved no builds #9296.
- When installing different dependency packages, should retain the
ignoredBuilds
field in the.modules.yaml
file #9240. - Fix usages of the
catalog:
protocol in injected local workspace packages. This previously errored withERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER
. #8715 - Setting
workspace-concurrency
to less than or equal to 0 should work #9297.
v10.6.4
Patch Changes
- Fix
pnpm dlx
with--allow-build
flag #9263. - Invalid Node.js version in
use-node-version
should not cause pnpm itself to break #9276. - The max amount of workers running for linking packages from the store has been reduced to 4 to achieve optimal results #9286. The workers are performing many file system operations, so increasing the number of CPUs doesn't help performance after some point.
v10.6.3
Patch Changes
-
pnpm install --prod=false
should not crash, when executed in a project with apnpm-workspace.yaml
file #9233. This fixes regression introduced via #9211. -
Add the missing
node-options
config torecursive run
#9180. -
Removed a branching code path that only executed when
dedupe-peer-dependents=false
. We believe this internal refactor will not result in behavior changes, but we expect it to make future pnpm versions behave more consistently for projects that overridededupe-peer-dependents
to false. There should be less unique bugs from turning offdedupe-peer-dependents
.See details in #9259.
v10.6.2
Patch Changes
-
pnpm self-update
should always update the version in thepackageManager
field ofpackage.json
. - Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable #8971.
-
pnpm patch-commit
will now use the same filesystem as the store directory to compare and create patch files. - Don't show info output when
--loglevel=error
is used. -
peerDependencyRules
should be set inpnpm-workspace.yaml
to take effect.
v10.6.1
Patch Changes
- The pnpm CLI process should not stay hanging, when
--silent
reporting is used. - When
--loglevel
is set toerror
, don't show installation summary, execution time, and big tarball download progress. - Don't ignore pnpm.patchedDependencies from
package.json
#9226. - When executing the
approve-builds
command, if package.json containsonlyBuiltDependencies
orignoredBuiltDependencies
, the selected dependency package will continue to be written intopackage.json
. - When a package version cannot be found in the package metadata, print the registry from which the package was fetched.
v10.6.0
Minor Changes
-
pnpm-workspace.yaml
can now hold all the settings that.npmrc
accepts. The settings should use camelCase #9211.pnpm-workspace.yaml
example:verifyDepsBeforeRun: install optimisticRepeatInstall: true publicHoistPattern: - "*types*" - "!@​types/react"
-
Projects using a
file:
dependency on a local tarball file (i.e..tgz
,.tar.gz
,.tar
) will see a performance improvement during installation. Previously, using afile:
dependency on a tarball caused the lockfile resolution step to always run. The lockfile will now be considered up-to-date if the tarball is unchanged.
Patch Changes
-
pnpm self-update
should not leave a directory with a broken pnpm installation if the installation fails. -
fast-glob
replace withtinyglobby
to reduce the size of the pnpm CLI dependencies #9169. -
pnpm deploy
should not remove fields from the deployed package'spackage.json
file #9215. -
pnpm self-update
should not read the pnpm settings from thepackage.json
file in the current working directory. - Fix
pnpm deploy
creating apackage.json
without theimports
andlicense
field #9193. -
pnpm update -i
should list only packages that have newer versions #9206. - Fix a bug causing entries in the
catalogs
section of thepnpm-lock.yaml
file to be removed whendedupe-peer-dependents=false
on a filtered install. #9112
v10.5.2
Patch Changes
- The
pnpm config set
command should change the global.npmrc
file by default. This was a regression introduced by #9151 and shipped in pnpm v10.5.0.
v10.5.1
Patch Changes
- Throw an error message if a
pnpm-workspaces.yaml
orpnpm-workspaces.yml
file is found instead of apnpm-workspace.yaml
#9170. - Fix the update of
pnpm-workspace.yaml
by thepnpm approve-builds
command #9168. - Normalize generated link paths in
package.json
#9163 - Specifying
overrides
inpnpm-workspace.yaml
should work. -
pnpm dlx
should ignore settings from thepackage.json
file in the current working directory #9178.
v10.5.0
Minor Changes
-
Allow to set the "pnpm" settings from
package.json
via thepnpm-workspace.yaml
file #9121. -
Added support for automatically syncing files of injected workspace packages after
pnpm run
#9081. Use thesync-injected-deps-after-scripts
setting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a.npmrc
file at the root of the workspace. Example:sync-injected-deps-after-scripts[]=compile
-
The
packages
field inpnpm-workspace.yaml
became optional.
Patch Changes
-
pnpm link
with no parameters should work as if--global
is specified #9151. - Allow scope registry CLI option without
--config.
prefix such as--@​scope:registry=https://scope.example.com/npm
#9089. -
pnpm link <path>
should calculate relative path from the root of the workspace directory #9132. - Fix a bug causing catalog snapshots to be removed from the
pnpm-lock.yaml
file when using--fix-lockfile
and--filter
. #8639 - Fix a bug causing catalog protocol dependencies to not re-resolve on a filtered install #8638.
v10.4.1
Patch Changes
- Throws an error when the value provided by the
--allow-build
option overlaps with thepnpm.ignoredBuildDependencies
list #9105. - Print pnpm's version after the execution time at the end of the console output.
- Print warning about ignored builds of dependencies on repeat install #9106.
- Setting
init-package-manager
should work.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.