ast-grep-vscode
ast-grep-vscode copied to clipboard
chore(deps): update dependency pnpm to v10
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| pnpm (source) | 8 -> 10 |
Release Notes
pnpm/pnpm (pnpm)
v10.24.0
v10.23.0: pnpm 10.23
Minor Changes
- Added
--lockfile-onlyoption topnpm list#10020.
Patch Changes
pnpm self-updateshould download pnpm from the configured npm registry #10205.pnpm self-updateshould always install the non-executable pnpm package (pnpm in the registry) and never the@pnpm/exepackage, when installing v11 or newer. We currently cannot ship@pnpm/exeaspkgdoesn't work with ESM #10190.- Node.js runtime is not added to "dependencies" on
pnpm add, if there's aengines.runtimesetting declared inpackage.json#10209. - The installation should fail if an optional dependency cannot be installed due to a trust policy check failure #10208.
pnpm listandpnpm whynow display npm: protocol for aliased packages (e.g.,foo npm:[email protected]) #8660.- Don't add an extra slash to the Node.js mirror URL #10204.
pnpm store pruneshould not fail if the store contains Node.js packages #10131.
Platinum Sponsors
|
|
Gold Sponsors
|
|
|
|
|
|
|
v10.22.0: pnpm 10.22
Minor Changes
-
Added support for
trustPolicyExclude#10164.You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement. For example:
trustPolicy: no-downgrade trustPolicyExclude: - [email protected] - [email protected] || 5.102.1 -
Allow to override the
enginesfield on publish by thepublishConfig.enginesfield.
Patch Changes
- Don't crash when two processes of pnpm are hardlinking the contents of a directory to the same destination simultaneously #10179.
Platinum Sponsors
|
|
Gold Sponsors
|
|
|
|
|
|
|
v10.21.0
v10.20.0
Minor Changes
- Support
--alloption inpnpm --helpto list all commands #8628.
Patch Changes
- When the
latestversion doesn't satisfy the maturity requirement configured byminimumReleaseAge, pick the highest version that is mature enough, even if it has a different major version #10100. createcommand should not verify patch info.- Set
managePackageManagerVersionstofalse, when switching to a different version of pnpm CLI, in order to avoid subsequent switches #10063.
v10.19.0
Minor Changes
-
You can now allow specific versions of dependencies to run postinstall scripts.
onlyBuiltDependenciesnow accepts package names with lists of trusted versions. For example:onlyBuiltDependencies: - [email protected] || 21.6.5 - [email protected]Related PR: #10104.
-
Added support for exact versions in
minimumReleaseAgeExclude#9985.You can now list one or more specific versions that pnpm should allow to install, even if those versions don’t satisfy the maturity requirement set by
minimumReleaseAge. For example:minimumReleaseAge: 1440 minimumReleaseAgeExclude: - [email protected] - [email protected] || 5.102.1
v10.18.3
Patch Changes
- Fix a bug where pnpm would infinitely recurse when using
verifyDepsBeforeInstall: installand pre/post install scripts that called other pnpm scripts #10060. - Fixed scoped registry keys (e.g.,
@scope:registry) being parsed as property paths inpnpm config getwhen--location=projectis used #9362. - Remove pnpm-specific CLI options before passing to npm publish to prevent "Unknown cli config" warnings #9646.
- Fixed EISDIR error when bin field points to a directory #9441.
- Preserve version and hasBin for variations packages #10022.
- Fixed
pnpm config set --location=projectincorrectly handling keys with slashes (auth tokens, registry settings) #9884. - When both
pnpm-workspace.yamland.npmrcexist,pnpm config set --location=projectnow writes topnpm-workspace.yaml(matching read priority) #10072. - Prevent a table width error in
pnpm outdated --long#10040. - Sync bin links after injected dependencies are updated by build scripts. This ensures that binaries created during build processes are properly linked and accessible to consuming projects #10057.
v10.18.2
Patch Changes
pnpm outdated --longshould work #10040.- Replace ndjson with split2. Reduce the bundle size of pnpm CLI #10054.
pnpm dlxshould request the full metadata of packages, whenminimumReleaseAgeis set #9963.- pnpm version switching should work when the pnpm home directory is in a symlinked directory #9715.
- Fix
EPIPEerrors when piping output to other commands #10027.
v10.18.1
Patch Changes
- Don't print a warning, when
--lockfile-onlyis used #8320. pnpm setupcreates a command shim to the pnpm executable. This is needed to be able to runpnpm self-updateon Windows #5700.- When using pnpm catalogs and running a normal
pnpm install, pnpm produced false positive warnings for "skip adding to the default catalog because it already exists". This warning now only prints when usingpnpm add --save-catalogas originally intended.
v10.18.0
Minor Changes
-
Added network performance monitoring to pnpm by implementing warnings for slow network requests, including both metadata fetches and tarball downloads.
Added configuration options for warning thresholds:
fetchWarnTimeoutMsandfetchMinSpeedKiBps. Warning messages are displayed when requests exceed time thresholds or fall below speed minimumsRelated PR: #10025.
Patch Changes
- Retry filesystem operations on EAGAIN errors #9959.
- Outdated command respects
minimumReleaseAgeconfiguration #10030. - Correctly apply the
cleanupUnusedCatalogsconfiguration when removing dependent packages. - Don't fail with a meaningless error when
scriptShellis set tofalse#8748. pnpm dlxshould not fail whenminimumReleaseAgeis set #10037.
v10.17.1
Patch Changes
- When a version specifier cannot be resolved because the versions don't satisfy the
minimumReleaseAgesetting, print this information out in the error message #9974. - Fix
state.jsoncreation path when executingpnpm patchin a workspace project #9733. - When
minimumReleaseAgeis set and thelatesttag is not mature enough, prefer a non-deprecated version as the newlatest#9987.
v10.17.0
Minor Changes
-
The
minimumReleaseAgeExcludesetting now supports patterns. For instance:minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@​eslint/*"Related PR: #9984.
Patch Changes
- Don't ignore the
minimumReleaseAgecheck, when the package is requested by exact version and the packument is loaded from cache #9978. - When
minimumReleaseAgeis set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one #9979.
v10.16.1
Patch Changes
- The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result #9963.
- Forcibly disable ANSI color codes when generating patch diff #9914.
v10.16.0
Minor Changes
-
There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour.
The new setting is called
minimumReleaseAge. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, settingminimumReleaseAge: 1440ensures that only packages released at least one day ago can be installed.If you set
minimumReleaseAgebut need to disable this restriction for certain dependencies, you can list them under theminimumReleaseAgeExcludesetting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time:minimumReleaseAgeExclude: - webpackRelated issue: #9921.
-
Added support for
finders#9946.In the past,
pnpm listandpnpm whycould only search for dependencies by name (and optionally version). For example:pnpm why minimistprints the chain of dependencies to any installed instance of
minimist:verdaccio 5.20.1 ├─┬ handlebars 4.7.7 │ └── minimist 1.2.8 └─┬ mv 2.1.1 └─┬ mkdirp 0.5.6 └── minimist 1.2.8What if we want to search by other properties of a dependency, not just its name? For instance, find all packages that have
react@17in their peer dependencies?This is now possible with "finder functions". Finder functions can be declared in
.pnpmfile.cjsand invoked with the--find-by=<function name>flag when runningpnpm listorpnpm why.Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our
.pnpmfile.cjs:module.exports = { finders: { react17: (ctx) => { return ctx.readManifest().peerDependencies?.react === "^17.0.0"; }, }, };Now we can use this finder function by running:
pnpm why --find-by=react17pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph.
@​apollo/client 4.0.4 ├── @​graphql-typed-document-node/core 3.2.0 └── graphql-tag 2.12.6It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder:
module.exports = { finders: { react17: (ctx) => { const manifest = ctx.readManifest(); if (manifest.peerDependencies?.react === "^17.0.0") { return `license: ${manifest.license}`; } return false; }, }, };Every matched package will also print out the license from its
package.json:@​apollo/client 4.0.4 ├── @​graphql-typed-document-node/core 3.2.0 │ license: MIT └── graphql-tag 2.12.6 license: MIT
Patch Changes
- Fix deprecation warning printed when executing pnpm with Node.js 24 #9529.
- Throw an error if
nodeVersionis not set to an exact semver version #9934. pnpm publishshould be able to publish a.tar.gzfile #9927.- Canceling a running process with Ctrl-C should make
pnpm runreturn a non-zero exit code #9626.
v10.15.1
Patch Changes
- Fix
.pnp.cjscrash when importing subpath #9904. - When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies #9913.
v10.15.0
Minor Changes
- Added the
cleanupUnusedCatalogsconfiguration. When set totrue, pnpm will remove unused catalog entries during installation #9793. - Automatically load pnpmfiles from config dependencies that are named
@*/pnpm-plugin-*#9780. pnpm config getnow prints an INI string for an object value #9797.pnpm config getnow accepts property paths (e.g.pnpm config get catalog.react,pnpm config get .catalog.react,pnpm config get 'packageExtensions["@​babel/parser"].peerDependencies["@​babel/types"]'), andpnpm config setnow accepts dot-leading or subscripted keys (e.g.pnpm config set .ignoreScripts true).pnpm config get --jsonnow prints a JSON serialization of config value, andpnpm config set --jsonnow parses the input value as JSON.
Patch Changes
- Semi-breaking. When automatically installing missing peer dependencies, prefer versions that are already present in the direct dependencies of the root workspace package #9835.
- When executing the
pnpm createcommand, must verify whether the node version is supported even if a cache already exists #9775. - When making requests for the non-abbreviated packument, add
*/*to theAcceptheader to avoid getting a 406 error on AWS CodeArtifact #9862. - The standalone exe version of pnpm works with glibc 2.26 again #9734.
- Fix a regression in which
pnpm dlx pkg --helpdoesn't pass--helptopkg#9823.
v10.14.0
Minor Changes
-
Added support for JavaScript runtime resolution
Declare Node.js, Deno, or Bun in
devEngines.runtime(insidepackage.json) and let pnpm download and pin it automatically.Usage example:
{ "devEngines": { "runtime": { "name": "node", "version": "^24.4.0", "onFail": "download" (we only support the "download" value for now) } } }How it works:
pnpm installresolves your specified range to the latest matching runtime version.- The exact version (and checksum) is saved in the lockfile.
- Scripts use the local runtime, ensuring consistency across environments.
Why this is better:
- This new setting supports also Deno and Bun (vs. our Node-only settings
useNodeVersionandexecutionEnv.nodeVersion) - Supports version ranges (not just a fixed version).
- The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
- It can be used on any workspace project (like
executionEnv.nodeVersion). So, different projects in a workspace can use different runtimes. - For now
devEngines.runtimesetting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer.
Related PR: #9755.
-
Add
--cpu,--libc, and--ostopnpm install,pnpm add, andpnpm dlxto customizesupportedArchitecturesvia the CLI #7510.
Patch Changes
- Fix a bug in which
pnpm adddownloads packages whoselibcdiffer frompnpm.supportedArchitectures.libc. - The integrities of the downloaded Node.js artifacts are verified #9750.
- Allow
dlxto parse CLI flags and options between thedlxcommand and the command to run or between thedlxcommand and--#9719. pnpm install --prodshould removing hoisted dev dependencies #9782.- Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install.
- Fix a bug causing
pnpm installto incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.
v10.13.1
Patch Changes
- Run user defined pnpmfiles after pnpmfiles of plugins.
v10.13.0
Minor Changes
-
Added the possibility to load multiple pnpmfiles. The
pnpmfilesetting can now accept a list of pnpmfile locations #9702. -
pnpm will now automatically load the
pnpmfile.cjsfile from any config dependency named@pnpm/plugin-*orpnpm-plugin-*#9729.The order in which config dependencies are initialized should not matter — they are initialized in alphabetical order. If a specific order is needed, the paths to the
pnpmfile.cjsfiles in the config dependencies can be explicitly listed using thepnpmfilesetting inpnpm-workspace.yaml.
Patch Changes
- When patching dependencies installed via
pkg.pr.new, treat them as Git tarball URLs #9694. - Prevent conflicts between local projects' config and the global config in
dangerouslyAllowAllBuilds,onlyBuiltDependencies,onlyBuiltDependenciesFile, andneverBuiltDependencies#9628. - Sort keys in
pnpm-workspace.yamlwith deep #9701. - The
pnpm rebuildcommand should not add pkgs included inignoredBuiltDependenciestoignoredBuildsinnode_modules/.modules.yaml#9338. - Replaced
shell-quotewithshlexfor quoting command arguments #9381.
v10.12.4
Patch Changes
-
Fix
pnpm licensescommand for local dependencies #9583. -
Fix a bug in which
pnpm ls --filter=not-exist --jsonprints nothing instead of an empty array #9672. -
Fix a deadlock that sometimes happens during peer dependency resolution #9673.
-
Running
pnpm installafterpnpm fetchshould hoist all dependencies that need to be hoisted. Fixes a regression introduced in [v10.12.2] by [#9648]; resolves [#9689].[v10.12.2]: https://github.com/pnpm/pnpm/releases/tag/v10.12.2Add commentMore actions [#9648]: #9648 [#9689]: #9689
v10.12.3
Patch Changes
-
Restore hoisting of optional peer dependencies when installing with an outdated lockfile. Regression introduced in v10.12.2 by #9648; resolves #9685.
v10.12.2
Patch Changes
- Fixed hoisting with
enableGlobalVirtualStoreset totrue#9648. - Fix the
--helpand-hflags not working as expected for thepnpm createcommand. - The dependency package path output by the
pnpm licenses list --jsoncommand is incorrect. - Fix a bug in which
pnpm deployfails due to overridden dependencies having peer dependencies causingERR_PNPM_OUTDATED_LOCKFILE#9595.
v10.12.1
Minor Changes
-
Experimental. Added support for global virtual stores. When enabled,
node_modulescontains only symlinks to a central virtual store, rather tonode_modules/.pnpm. By default, this central store is located at<store-path>/links(you can find the store path by runningpnpm store path).In the central virtual store, each package is hard linked into a directory whose name is the hash of its dependency graph. This allows multiple projects on the system to symlink shared dependencies from this central location, significantly improving installation speed when a warm cache is available.
This is conceptually similar to how NixOS manages packages, using dependency graph hashes to create isolated and reusable package directories.
To enable the global virtual store, set
enableGlobalVirtualStore: truein your rootpnpm-workspace.yaml, or globally via:pnpm config -g set enable-global-virtual-store trueNOTE: In CI environments, where caches are typically cold, this setting may slow down installation. pnpm automatically disables the global virtual store when running in CI.
Related PR: #8190
- The
pnpm updatecommand now supports updatingcatalog:protocol dependencies and writes new specifiers topnpm-workspace.yaml. - Added two new CLI options (
--save-catalogand--save-catalog-name=<name>) topnpm addto save new dependencies as catalog entries.catalog:orcatalog:<name>will be added topackage.jsonand the package specifier will be added to thecatalogsorcatalog[<name>]object inpnpm-workspace.yaml#9425. - Semi-breaking. The keys used for side-effects caches have changed. If you have a side-effects cache generated by a previous version of pnpm, the new version will not use it and will create a new cache instead #9605.
- Added a new setting called
cifor explicitly telling pnpm if the current environment is a CI or not.
Patch Changes
- Sort versions printed by
pnpm patchusing semantic versioning rules. - Improve the way the error message displays mismatched specifiers. Show differences instead of 2 whole objects #9598.
- Revert #9574 to fix a regression #9596.
v10.11.1
Patch Changes
- Fix an issue in which
pnpm deploy --legacycreates unexpected directories when the rootpackage.jsonhas a workspace package as a peer dependency #9550. - Dependencies specified via a URL that redirects will only be locked to the target if it is immutable, fixing a regression when installing from GitHub releases. (#9531)
- Installation should not exit with an error if
strictPeerDependenciesistruebut all issues are ignored bypeerDependencyRules#9505. - Use
pnpm_config_env variables instead ofnpm_config_#9571. - Fix a regression (in v10.9.0) causing the
--lockfile-onlyflag onpnpm updateto produce a differentpnpm-lock.yamlthan an update without the flag. - Let
pnpm deploywork in repos withoverrideswheninject-workspace-packages=true#9283. - Fixed the problem of path loss caused by parsing URL address. Fixes a regression shipped in pnpm v10.11 via #9502.
pnpm -r --silent runshould not print out section #9563.
v10.11.0
Minor Changes
-
A new setting added for
pnpm initto create apackage.jsonwithtype=module, wheninit-typeismodule. Works as a flag for the init command too #9463. -
Added support for Nushell to
pnpm setup#6476. -
Added two new flags to the
pnpm auditcommand,--ignoreand--ignore-unfixable#8474.Ignore all vulnerabilities that have no solution:
> pnpm audit --ignore-unfixableProvide a list of CVE's to ignore those specifically, even if they have a resolution.
> pnpm audit --ignore=CVE-2021-1234 --ignore=CVE-2021-5678 -
Added support for recursively running pack in every project of a workspace #4351.
Now you can run
pnpm -r packto pack all packages in the workspace.
Patch Changes
- pnpm version management should work, when
dangerouslyAllowAllBuildsis set totrue#9472. pnpm linkshould work from inside a workspace #9506.- Set the default
workspaceConcurrencytoMath.min(os.availableParallelism(), 4)#9493. - Installation should not exit with an error if
strictPeerDependenciesistruebut all issues are ignored bypeerDependencyRules#9505. - Read
updateConfigfrompnpm-workspace.yaml#9500. - Add support for
recursive pack - Remove
url.parseusage to fix warning on Node.js 24 #9492. pnpm runshould be able to run commands from the workspace root, ifignoreScriptsis set tottrue#4858.
v10.10.0
Minor Changes
- Allow loading the
preResolution,importPackage, andfetchershooks from local pnpmfile.
Patch Changes
- Fix
cdcommand, whenshellEmulatoristrue#7838. - Sort keys in
pnpm-workspace.yaml#9453. - Pass the
npm_package_jsonenvironment variable to the executed scripts #9452. - Fixed a mistake in the description of the
--reporter=silentoption.
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/barwill 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
@jsrscope defaults to https://npm.jsr.io/ if the@jsr:registrysetting 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: []dangerouslyAllowAllBuildshas the same effect but also allows to be set globally via:pnpm config set dangerouslyAllowAllBuilds trueIt can also be set when running a command:
pnpm install --dangerously-allow-all-builds
Patch Changes
- Fix a false negative in
verifyDepsBeforeRunwhennodeLinkerishoistedand there is a workspace package without dependencies andnode_modulesdirectory #9424. - Explicitly drop
verifyDepsBeforeRunsupport fornodeLinker: pnp. CombiningverifyDepsBeforeRunandnodeLinker: pnpwill 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,onlyBuiltDependencieswill be written topnpm-workspace.yamlfile #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 addcommand with the--configflag 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 --fixshould update the overrides inpnpm-workspace.yaml.pnpm linkshould update overrides inpnpm-workspace.yaml, not inpackage.json#9365.
v10.7.1
Patch Changes
pnpm config setshould convert the settings to their correct type before adding them topnpm-workspace.yaml#9355.pnpm config getshould read auth related settings via npm CLI #9345.- Replace leading
~/in a path in.npmrcwith the home directory #9217.
v10.7.0
Minor Changes
-
pnpm config getandlistalso show settings set inpnpm-workspace.yamlfiles #9316. -
It should be possible to use env variables in
pnpm-workspace.yamlsetting 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.patchThe above configuration would apply
patches/foo-3.patchto[email protected],patches/foo-2.patchto allfooversions which satisfy^2.0.0except2.1.0, andpatches/foo-1.patchto the remainingfooversions.[!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.patchIn most cases, however, it's sufficient to just define an exact version to override the range.
-
pnpm config set --location=projectsaves the setting to apnpm-workspace.yamlfile if no.npmrcfile is present in the directory #9316. -
Rename
pnpm.allowNonAppliedPatchestopnpm.allowUnusedPatches. The old name is still supported but it would print a deprecation warning message. -
Add
pnpm.ignorePatchFailuresto manage whether pnpm would ignore patch application failures.If
ignorePatchFailuresis 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
ignorePatchFailuresis explicitly set tofalse, pnpm would throw an error when any type of patch fails to apply.If
ignorePatchFailuresis 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
ignoredBuildsfield in the.modules.yamlfile #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-concurrencyto less than or equal to 0 should work #9297.
v10.6.4
Patch Changes
- Fix
pnpm dlxwith--allow-buildflag #9263. - Invalid Node.js version in
use-node-versionshould 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=falseshould not crash, when executed in a project with apnpm-workspace.yamlfile #9233. This fixes regression introduced via #9211. -
Add the missing
node-optionsconfig 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-dependentsto false. There should be less unique bugs from turning offdedupe-peer-dependents.See details in #9259.
v10.6.2
Patch Changes
pnpm self-updateshould always update the version in thepackageManagerfield ofpackage.json.- Fix running pnpm CLI from pnpm CLI on Windows when the CLI is bundled to an executable #8971.
pnpm patch-commitwill now use the same filesystem as the store directory to compare and create patch files.- Don't show info output when
--loglevel=erroris used. peerDependencyRulesshould be set inpnpm-workspace.yamlto take effect.
v10.6.1
Patch Changes
- The pnpm CLI process should not stay hanging, when
--silentreporting is used. - When
--loglevelis 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-buildscommand, if package.json containsonlyBuiltDependenciesorignoredBuiltDependencies, 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.yamlcan now hold all the settings that.npmrcaccepts. The settings should use camelCase #9211.pnpm-workspace.yamlexample: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-updateshould not leave a directory with a broken pnpm installation if the installation fails.fast-globreplace withtinyglobbyto reduce the size of the pnpm CLI dependencies #9169.pnpm deployshould not remove fields from the deployed package'spackage.jsonfile #9215.pnpm self-updateshould not read the pnpm settings from thepackage.jsonfile in the current working directory.- Fix
pnpm deploycreating apackage.jsonwithout theimportsandlicensefield #9193. pnpm update -ishould list only packages that have newer versions #9206.- Fix a bug causing entries in the
catalogssection of thepnpm-lock.yamlfile to be removed whendedupe-peer-dependents=falseon a filtered install. #9112
v10.5.2
Patch Changes
- The
pnpm config setcommand should change the global.npmrcfile 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.yamlorpnpm-workspaces.ymlfile is found instead of apnpm-workspace.yaml#9170. - Fix the update of
pnpm-workspace.yamlby thepnpm approve-buildscommand #9168. - Normalize generated link paths in
package.json#9163 - Specifying
overridesinpnpm-workspace.yamlshould work. pnpm dlxshould ignore settings from thepackage.jsonfile in the current working directory #9178.
v10.5.0
Minor Changes
-
Allow to set the "pnpm" settings from
package.jsonvia thepnpm-workspace.yamlfile #9121. -
Added support for automatically syncing files of injected workspace packages after
pnpm run#9081. Use thesync-injected-deps-after-scriptssetting to specify which scripts build the workspace package. This tells pnpm when syncing is needed. The setting should be defined in a.npmrcfile at the root of the workspace. Example:sync-injected-deps-after-scripts[]=compile -
The
packagesfield inpnpm-workspace.yamlbecame optional.
Patch Changes
pnpm linkwith no parameters should work as if--globalis 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.yamlfile when using--fix-lockfileand--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-buildoption overlaps with thepnpm.ignoredBuildDependencieslist #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-managershould work.
v10.4.0
Minor Changes
-
pnpm approve-builds --globalworks now for allowing dependencies of globally installed packages to run postinstall scripts. -
The
pnpm addcommand now supports a new flag,--allow-build, which allows building the specified dependencies. For instance, if you want to install a package calledbundlethat hasesbuildas a dependency and want to allowesbuildto run postinstall scripts, you can run:pnpm --allow-build=esbuild add bundleThis will run
esbuild's postinstall script and also add it to thepnpm.onlyBuiltDependenciesfield ofpackage.json. So,esbuildwill always be allowed to run its scripts in the future.Related PR: [#9
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.