no notes
no notes
Experimental. Added support for global virtual stores. When enabled, node_modules
contains only symlinks to a central virtual store, rather to node_modules/.pnpm
. By default, this central store is located at <store-path>/links
(you can find the store path by running pnpm 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: true
in your root pnpm-workspace.yaml
, or globally via:
pnpm config -g set enable-global-virtual-store true
NOTE: 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 update
command now supports updating catalog:
protocol dependencies and writes new specifiers to pnpm-workspace.yaml
.
Added two new CLI options (--save-catalog
and --save-catalog-name=<name>
) to pnpm add
to save new dependencies as catalog entries. catalog:
or catalog:<name>
will be added to package.json
and the package specifier will be added to the catalogs
or catalog[<name>]
object in pnpm-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 ci
for explicitly telling pnpm if the current environment is a CI or not.
pnpm patch
using semantic versioning rules.