chore(deps): update pnpm to v8
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
pnpm (source) | 7.32.0 -> 8.2.0 |
Release Notes
pnpm/pnpm
v8.2.0
Minor Changes
- Allow env variables to be specified with default values in
.npmrc
. This is a convention used by Yarn too. Using${NAME-fallback}
will returnfallback
ifNAME
isn't set.${NAME:-fallback}
will returnfallback
ifNAME
isn't set, or is an empty string #6018.
Patch Changes
- Add
-g
to mismatch registries error info when original command has-g
option #6224. - Don't fail with EBUSY error when trying to copy a file from the store #6201
-
pnpm config get <key>
should print boolean values #6360 - Don't print an info message about linked dependencies if they are real linked dependencies specified via the
link:
protocol inpackage.json
#6372
Our Gold Sponsors
Our Silver Sponsors
v8.1.1
Patch Changes
- Repeat installation should work on a project that has a dependency with parentheses in the scope name #6348.
- Error summary should be reported as expected.
- Update
@yarnpkg/shell
to fix issues in the shell emulator #6320. - Installation should not fail when there is a local dependency in a directory that starts with the
@
character #6332. - Registries are now passed to the
preResolution
hook.
Our Gold Sponsors
Our Silver Sponsors
v8.1.0
Minor Changes
- A new setting has been added called
dedupe-direct-deps
, which is disabled by default. When set totrue
, dependencies that are already symlinked to the rootnode_modules
directory of the workspace will not be symlinked to subprojectnode_modules
directories. This feature was enabled by default in v8.0.0 but caused issues, so it's best to disable it by default #6299. - Add
ignore-workspace-cycles
to silence workspace cycle warning #6308.
Patch Changes
- Print the right lowest supported Node.js version in the error message, when pnpm is executed with an old Node.js version #6297.
- Improve the outdated lockfile error message #6304.
Our Gold Sponsors
Our Silver Sponsors
v8.0.0
We are excited to announce the latest release of pnpm! To install it, check the installation page.
Major Changes
Node.js 14 Support Discontinued
If you still require Node.js 14, don't worry. We ship pnpm bundled with Node.js. This means that regardless of which Node.js version you've installed, pnpm will operate using the necessary Node.js runtime. For this to work you need to install pnpm either using the standalone script or install the @pnpm/exe
package.
Configuration Updates
-
auto-install-peers
: enabled by default. -
dedupe-peer-dependents
: enabled by default. -
resolve-peers-from-workspace-root
: enabled by default. -
save-workspace-protocol
: set torolling
by default. -
resolution-mode
: set tolowest-direct
by default. -
publishConfig.linkDirectory
: enabled by default.
Most of the configuration changes are related to peer dependencies. Most of these settings were implemented long ago, and we recommended them to users encountering peer dependency issues. The recently added dedupe-peer-dependents
resolved many such problems. With these new defaults, pnpm will face significantly fewer issues during migration from other package managers.
Lockfile Modifications
-
Lockfile v6 is adopted. This new format improves the readability of the lockfile by removing hashes from package IDs. It also has some rearrangement of fields in the
importers
section. The newpnpm-lock.yaml
file is more resistant to git merge conflicts! - The registry field is removed from the
resolution
object inpnpm-lock.yaml
. - A lockfile is generated even for projects with no dependencies.
Other Changes
- When there's a
files
field in thepackage.json
, only the files that are listed in it will be deployed. The same logic is applied when injecting packages. This behaviour can be changed by setting thedeploy-all-files
setting totrue
(Related issue #5911). - Direct dependencies are deduped. If a dependency is present in both a project and the workspace root, it will only be linked to the workspace root.
Migration Instructions
Before updating pnpm to v8 in your CI, regenerate your pnpm-lock.yaml
. To upgrade your lockfile, run pnpm install
and commit the changes. Existing dependencies will not be updated; however, due to configuration changes in pnpm v8, some missing peer dependencies may be added to the lockfile and some packages may get deduplicated.
You can commit the new lockfile even before upgrading Node.js in the CI, as pnpm v7 already supports the new lockfile format.
pnpm v7 Support
pnpm v7 will likely not receive any new features, but it will continue to get bug fixes for a few months and vulnerability fixes for at least a year.
Our Gold Sponsors
Our Silver Sponsors
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.