Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.17.2
->6.35.1
Release Notes
pnpm/pnpm (pnpm)
v6.35.1
Compare Source
Patch Changes
.npmrc
files in subdirectories inside a workspace #2570.v6.35.0
Compare Source
Patch Changes
Installing a package with
bin
that points to an.exe
file on Windows #5159.Ignore the
always-auth
setting.pnpm will never reuse the registry auth token for requesting the package tarball, if the package tarball is hosted on a different domain.
So, for example, if your registry is at
https://company.registry.com/
but the tarballs are hosted athttps://tarballs.com/
, then you will have to configure the auth token for both domains in your.npmrc
:When an error happens during installation of a subdependency, print some context information in order to be able to locate that subdependency. Print the exact chain of packages that led to the problematic dependency.
v6.34.0
Compare Source
Minor Changes
ignore-compatibility-db
is set totrue
, the compatibility database will not be used to patch dependencies #5132.Full Changelog: pnpm/pnpm@v6.33.1...v6.34.0
v6.33.1
Compare Source
Patch Changes
v6.33.0
Compare Source
v6.32.25
Compare Source
Patch Changes
pnpm audit --fix
should not add an override for a vulnerable package that has no fixes released.pnpm env use
should throw an error on a system that use the MUSL libc.v6.32.24
Compare Source
Patch Changes
Don't crash when
pnpm update --interactive
is cancelled with Ctrl+c.The
use-node-version
setting should work with prerelease Node.js versions. For instance:v6.32.23
Compare Source
Patch Changes
v6.32.22
Compare Source
Patch Changes
v6.32.21
Compare Source
Patch Changes
v6.32.20
Compare Source
Patch Changes
package.json
file #4822.v6.32.19
Compare Source
Patch Changes
v6.32.18
Compare Source
Patch Changes
auto-install-peers
is set totrue
#4796.NODE_ENV=production pnpm install --dev
should only install dev deps #4745.Full Changelog: pnpm/pnpm@v6.32.17...v6.32.18
v6.32.17
Compare Source
Patch Changes
v6.32.16
Compare Source
Patch Changes
auto-install-peers
is set totrue
, automatically install missing peer dependencies without writing them topackage.json
as dependencies. This makes pnpm handle peer dependencies the same way as npm v7 #4776.v6.32.15
Compare Source
Patch Changes
pnpm setup
should not fail on Windows ifPNPM_HOME
is not yet in the system registry #4757pnpm dlx
shouldn't modify the lockfile in the current working directory #4743.v6.32.14
Compare Source
Patch Changes
node_modules/.pnpm
and inside the global store #4716Full Changelog: pnpm/pnpm@v6.32.13...v6.32.14
v6.32.13
Compare Source
Patch Changes
pnpm setup
should update the config of the current shell, not the preferred shell.pnpm dlx
should work with git-hosted packages. For example:pnpm dlx gengjiawen/envinfo
#4714.pnpm setup
should not override the PNPM_HOME env variable on Windows, unless--force
is used.pnpm create <pkg>
should be passed to the executed create app package. Sopnpm create next-app --typescript
should work`.pnpm run --stream
should prefix the output with directory #4702Full Changelog: pnpm/pnpm@v6.32.12...v6.32.13
v6.32.12
Compare Source
Patch Changes
pnpm dlx
should work when the bin name of the executed package isn't the same as the package name #4672.pnpm prune
works in a workspace #4647.pnpm prune
does not remove hoisted dependencies.pnpm dlx
should print messages about installation to stderr #1698.v6.32.11
Compare Source
Patch Changes
pnpm publish
should work correctly in a workspace, when the latest npm CLI is installed #4348.node_modules/.ignored
subfolder and a package with that name is already present in `node_modules/.ignored' #4626.v6.32.10
Compare Source
Patch Changes
v6.32.9
Compare Source
Patch Changes
Fix an error with peer resolutions, which was happening when there was a circular dependency and another dependency that had the name of the circular dependency as a substring.
When
pnpm exec
is running a command in a workspace project, the commands that are in the dependencies of that workspace project should be in the PATH #4481.Hide "WARN deprecated" messages on loglevel error #4507
Don't show the progress bar when loglevel is set to warn or error.
v6.32.8
Compare Source
Patch Changes
v6.32.7
Compare Source
Patch Changes
auto-install-peers
totrue
should work.v6.32.6
Compare Source
Patch Changes
v6.32.5
Compare Source
Patch Changes
dependenciesMeta
should be saved into the lockfile, when it is added to the package manifest by a hook.v6.32.4
Compare Source
Patch Changes
dependenciesMeta
field in the manifest should be satisfied by a not set field in the lockfile #4463.package.json
#4487.v6.32.3
Compare Source
Patch Changes
4941f31
: The location of an injected directory dependency should be correctly located, when there is a chain of local dependencies (declared via thefile:
protocol`).The next scenario was not working prior to the fix. There are 3 projects in the same folder: foo, bar, qar.
foo/package.json
:bar/package.json
:qar/package.json
:Related PR: #4415.
v6.32.2
Compare Source
Patch Changes
pnpm install
when the lockfile is broken andnode-linker
is set tohoisted
#4387.v6.32.1
Compare Source
Patch Changes
pnpm publish
should work correctly in a workspace, when the latest npm CLI is installed #4348.node_modules/.ignored
subfolder and a package with that name is already present in `node_modules/.ignored' #4626.v6.32.0
Compare Source
Minor Changes
A new setting is supported in the
pnpm
section of thepackage.json
file #4001.onlyBuiltDependencies
is an array of package names that are allowed to be executed during installation. If this field exists, only mentioned packages will be able to run install scripts.-F
is a short alias of--filter
#3467.When adding a new dependency, use the version specifier from the overrides, when present #4313.
Normally, if the latest version of
foo
is2.0.0
, thenpnpm add foo
installsfoo@^2.0.0
. This behavior changes iffoo
is specified in an override:In this case,
pnpm add foo
will addfoo@1.0.0
to the dependency. However, if a version is explicitly specifying, then the specified version will be used and the override will be ignored. Sopnpm add foo@0
will install v0 and it doesn't matter what is in the overrides.Patch Changes
*
, just replace any range with*
.v6.31.0
Compare Source
Minor Changes
Added
--shell-mode
/-c
option support topnpm exec
#4328--shell-mode
: shell interpreter. See: https://github.com/sindresorhus/execa/tree/484f28de7c35da5150155e7a523cbb20de161a4f#shellUsage example:
Patch Changes
publishConfig
when thepack
orpublish
commands are used #4311pnpx
,pnpm dlx
,pnpm create
, andpnpm exec
commands should set thenpm_config_user_agent
env variable #3985.v6.30.1
Compare Source
Patch Changes
This fixes an issue introduced in pnpm v6.30.0.
When a package is not linked to
node_modules
, no info message should be printed about it being "relinked" from the store #4314.v6.30.0
Compare Source
Minor Changes
v6.29.2
Compare Source
Patch Changes
node_modules
directories inside injected dependencies should not be overwritten #4299.v6.29.1
Compare Source
Patch Changes
node_modules
.v6.29.0
Compare Source
Minor Changes
update-notifier
configuration option #4158.Patch Changes
v6.28.0
Compare Source
Minor Changes
embed-readme
. Whenfalse
,pnpm publish
doesn't save the readme file's content topackage.json
before publish #4265.Patch Changes
pnpm exec
should look for the executed command in thenode_modules/.bin
directory that is relative to the current working directory. Only after that should it look for the executable in the workspace root.v6.27.2
Compare Source
Patch Changes
v6.27.1
Compare Source
Patch Changes
peerDependencyRules
should work when bothoverrides
andpackageExtensions
are present as well #4255.pnpm list
should show information whether a package is private or not #4246.v6.27.0
Compare Source
Minor Changes
Side effects cache is not an experimental feature anymore.
Side effects cache is saved separately for packages with different dependencies. So if
foo
hasbar
in the dependencies, then a separate cache will be created each timefoo
is installed with a different version ofbar
#4238.Patch Changes
devDependencies
#4196.v6.26.1
Compare Source
Patch Changes
node_modules
. This was an issue only withnode-linker=hoisted
#4229.v6.26.0
Compare Source
Minor Changes
In order to mute some types of peer dependency warnings, a new section in
package.json
may be used for declaring peer dependency warning rules. For example, the next configuration will turn off any warnings about missingbabel-loader
peer dependency and about@angular/common
, when the wanted version of@angular/common
is not v13.New setting supported:
auto-install-peers
. When it is set totrue
,pnpm add <pkg>
automatically installs any missing peer dependencies asdevDependencies
#4213.v6.25.1
Compare Source
Patch Changes
v6.25.0
Compare Source
Minor Changes
New installation mode added that creates a flat
node_modules
directory without the usage of symlinks. This is similar to the one created by npm and Yarn Classic.To use this new installation mode, set the
node-linker
setting tohoisted
. These are the supported values ofnode-linker
:isolated
- the default value.hoisted
- flatnode_modules
without symlinks.pnp
- nonode_modules
. Yarn's Plug'n'Play managed by pnpm.Related issue: #4073
Add support for token helper, a command line tool to obtain a token.
A token helper is an executable, set in the user's
.npmrc
which outputs an auth token. This can be used in situations where the authToken is not a constant value, but is something that refreshes regularly, where a script or other tool can use an existing refresh token to obtain a new access token.The configuration for the path to the helper must be an absolute path, with no arguments. In order to be secure, it is only permitted to set this value in the user
.npmrc
, otherwise a project could place a value in a project local.npmrc
and run arbitrary executables.Usage example:
Related PRs:
New CLI option:
--ignore-workspace
. When used, pnpm ignores any workspace configuration found in the current or parent directories.If
use-beta-cli
istrue
, then don't setnpm_config_argv
env variable for scripts #4175.v6.24.4
Compare Source
Patch Changes
Don't throw an error during install when the bin of a dependency points to a path that doesn't exist #3763.
When reporting unmet peer dependency issues, if the peer dependency is resolved not from a dependency installed by the user, then print the name of the parent package that has the bad peer dependency installed as a dependency.
Injected subdependencies should be hard linked as well. So if
button
is injected intocard
andcard
is injected intopage
, then bothbutton
andcard
should be injected intopage
#4167.v6.24.3
Compare Source
Patch Changes
--frozen-lockfile
should not fail when the project has injected dependencies and a dedicated lockfile #4098.v6.24.2
Compare Source
Patch Changes
If pnpm previously failed to install node when the
use-node-version
option is set, that download and install will now be re-attempted when pnpm is ran again #4104.Don't warn about unmet peer dependency when the peer is resolved from a prerelease version #4144.
For instance, if a project has
react@*
as a peer dependency, then react16.0.0-rc.0
should not cause a warning.pnpm update pkg
should not fail ifpkg
not found as a direct dependency, unless--depth=0
is passed as a CLI option #4122.When printing peer dependency issues, print the "*" range in double quotes. This will make it easier to copy the package resolutions and put them to the end of a
pnpm add
command for execution.v6.24.1
Compare Source
Patch Changes
pnpm publish
should add the content of theREADME.md
file to thereadme
field of the published package'spackage.json
files #4117.pnpm publish
should work with the--otp
option #4115.v6.24.0
Compare Source
Minor Changes
Peer dependency issues are grouped and rendered in a nice hierarchy view.
This is how the peer dependency issues were printed in previous versions:
This is how they are displayed in pnpm v6.24:
New option added for:
node-mirror:<releaseDir>
#4083. The string value of this dynamic option is used as the base URL for downloading node whenuse-node-version
is specified. The<releaseDir>
portion of this argument can be any dir inhttps://nodejs.org/download
. Which<releaseDir>
dynamic config option gets selected depends on the value ofuse-node-version
. If 'use-node-version' is a simplex.x.x
version string,<releaseDir>
becomesrelease
andnode-mirror:release
is read. Defaults tohttps://nodejs.org/download/<releaseDir>/
.927c4a0
: A new option--aggregate-output
forappend-only
reporter is added. It aggregates lifecycle logs output for each command that is run in parallel, and only prints command logs when command is finished.Related discussion: #4070.
Patch Changes
Don't fail when the version of a package in the store is not a semver version #4077.
pnpm store prune
should not fail if there are unexpected subdirectories in the content-addressable store #4072.Don't make unnecessary retries when fetching Git-hosted packages #2731.
pnpm should read the auth token of a github-registry-hosted package, when the registry path contains the owner #4034.
So this should work:
When
strict-peer-dependencies
is used, don't fail on the first peer dependency issue. Print all the peer dependency issues and then stop the installation process #4082.When sorting workspace projects, don't ignore the manifests of those that don't have a version field #3933.
v6.23.6
Compare Source
Patch Changes
Fixes a regression introduced in pnpm v6.23.3 via #4044.
The temporary directory to which the Git-hosted package is downloaded should not be removed prematurely #4064.
v6.23.5
Compare Source
Patch Changes
pnpm audit
should work when a proxy is configured for the registry #3755.v6.23.4
Compare Source
Patch Changes
v6.23.3
Compare Source
Patch Changes
pnpm import
should work with a lockfile generated by Yarn Berry #3993.v6.23.2
Compare Source
Patch Changes
pnpm should read the auth token of a github-registry-hosted package, when the registry path contains the owner #4034.
So this should work:
When checking the correctness of the package data in the lockfile, don't use exact version comparison.
v1.0.0
should be considered to be the same as1.0.0
. This fixes some edge cases when a package is published with a non-normalized version specifier in itspackage.json
#4036.v6.23.1
Compare Source
Patch Changes
pnpm setup
should create shell rc files for pnpm path configuration if no such file exists prior #4027.pnpm dlx
will now support version specifiers for packages. E.g.pnpm dlx create-svelte@next
#4023.v6.23.0
Compare Source
Minor Changes
New setting added:
scripts-prepend-node-path
. This setting can betrue
,false
, orwarn-only
.When
true
, the path to thenode
executable with which pnpm executed is prepended to thePATH
of the scripts.When
warn-only
, pnpm will print a warning if the scripts run with anode
binary that differs from thenode
binary executing the pnpm CLI.Patch Changes
node
executable that executes pnpm should not be added to thePATH
, when running scripts.pnpm env use
should download the right Node.js tarball on Raspberry Pi #4007.v6.22.2
Compare Source
Patch Changes
pnpm exec
should exit with the exit code of the child process. This fixes a regression introduced in pnpm v6.20.4 via #3951.node-gyp
from the dependencies should be preferred over thenode-gyp
that is bundled with pnpm, when running scripts #2135.pnpm dlx pnpm
should not break the globally installed pnpm CLI.v6.22.1
Compare Source
Patch Changes
Downgrading
p-memoize
to v4.0.1. pnpm v6.22.0 started to print the next warning #3989:v6.22.0
Compare Source
Minor Changes
Added
--reverse
option support topnpm exec
#3984.Usage example:
Patch Changes
peerDependencies
ranges should be compared loosely #3753.v6.21.1
Compare Source
Patch Changes
v6.21.0
Compare Source
Minor Changes
pnpm:devPreinstall
. This script works only in the rootpackage.json
file, only during local development, and runs before installation happens #3968.Patch Changes
v6.20.4
Compare Source
Patch Changes
v6.20.3
Compare Source
Patch Changes
dependenciesMeta
fields should be duplicated to the lockfile.v6.20.2
Compare Source
Patch Changes
pnpm import
should be able to import a workspace lockfile #3908.pnpm env use
should use the network/proxy settings to make HTTP requests #3942.pnpm create
andpnpm dlx
should work with scoped packages #3916.v6.20.1
Compare Source
Patch Changes
Fix broken artifacts of
@pnpm/exe
. This doesn't affect thepnpm
package.Related issue: #3937. This was a bug introduced by #3896.
v6.20.0
Compare Source
Minor Changes
New property supported via the
dependenciesMeta
field ofpackage.json
:injected
. Wheninjected
is set totrue
, the package will be hard linked tonode_modules
, not symlinked #3915.For instance, the following
package.json
in a workspace will create a symlink tobar
in thenode_modules
directory offoo
:But what if
bar
hasreact
in its peer dependencies? If all projects in the monorepo use the same version ofreact
, then no problem. But what ifbar
is required byfoo
that usesreact
16 andqar
withreact
17? In the past, you'd have to choose a single version of react and install it as dev dependency ofbar
. But now with theinjected
field you can injectbar
to a package, andbar
will be installed with thereact
version of that package.So this will be the
package.json
offoo
:bar
will be hard linked into the dependencies offoo
, andreact
16 will be linked to the dependencies offoo/node_modules/bar
.And this will be the
package.json
ofqar
:bar
will be hard linked into the dependencies ofqar
, andreact
17 will be linked to the dependencies ofqar/node_modules/bar
.Patch Changes
v6.19.1
Compare Source
Patch Changes
v6.19.0
Compare Source
Minor Changes
Package scope is optional when filtering by package name #3485.
So the next two commands will both find
@pnpm/core
:However, if the workspace contains
@types/core
and@pnpm/core
,--filter=core
will not work.Allow a system's package manager to override pnpm's default settings
Patch Changes
pnpm install --global
should link global packages to specific Node.js versions only if Node.js was installed by pnpm #3910.pnpm store path
added to the output ofpnpm store
.v6.18.0
Compare Source
Minor Changes
pnpm env use
:pnpm env use -g latest
pnpm env use -g 16.0.0-rc.0
pnpm env use -g nightly
pnpm env use -g nightly/16
maxsockets
: a new setting to configure the maximum number of connections to use per origin (protocol/host/post combination) #3889.Patch Changes
pnpm add ssh://git@example.com:foo/bar.git
#3882.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.
This PR was generated by Mend Renovate. View the repository job log.