This repository has been archived by the owner on Jul 20, 2022. It is now read-only.
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.32.25
->7.5.0
Release Notes
pnpm/pnpm
v7.5.0
Compare Source
Minor Changes
A new value
rolling
for optionsave-workspace-protocol
. When selected, pnpm will save workspace versions using a rolling alias (e.g."foo": "workspace:^"
) instead of pinning the current version number (e.g."foo": "workspace:^1.0.0"
). Usage example, in the root of your workspace, create a.npmrc
with the following content:Patch Changes
pnpm remove <pkg>
should not fail in a workspace that has patches #4954pnpm env use
should throw an error on a system that use the MUSL libc.Our Gold Sponsors
Full Changelog: pnpm/pnpm@v7.4.1...v7.5.0
v7.4.1
Compare Source
Patch Changes
pnpm install
in a workspace with patches should not fail when doing partial installation #4954.--lockfile-only
is used. Even iffrozen-lockfile
istrue
#4951.patchedDependencies
field topnpm-lock.yaml
.Our Gold Sponsors
Full Changelog: pnpm/pnpm@v7.4.0...v7.4.1
v7.4.0
Compare Source
Minor Changes
Dependencies patching is possible via the
pnpm.patchedDependencies
field of thepackage.json
.To patch a package, the package name, exact version, and the relative path to the patch file should be specified. For instance:
Two new commands added:
pnpm patch
andpnpm patch-commit
.pnpm patch <pkg>
prepares a package for patching. For instance, if you want to patch express v1, run:pnpm will create a temporary directory with
express@1.0.0
that you can modify with your changes.Once you are read with your changes, run:
This will create a patch file and write it to
<project>/patches/express@1.0.0.patch
.Also, it will reference this new patch file from the
patchedDependencies
field inpackage.json
:A new experimental command added:
pnpm deploy
. The deploy command takes copies a project from a workspace and installs all of its production dependencies (even if some of those dependencies are other projects from the workspace).For example, the new command will deploy the project named
foo
to thedist
directory in the root of the workspace:package-import-method
supports a new option:clone-or-copy
.New setting added:
include-workspace-root
. When it is set totrue
, therun
,exec
,add
, andtest
commands will include the root package, when executed recursively #4906Patch 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:Return early when the lockfile is up-to-date.
Resolve native workspace path for case-insensitive file systems #4904.
Don't link local dev dependencies, when prod dependencies should only be installed.
pnpm audit --fix
should not add an override for a vulnerable package that has no fixes released.Update the compatibility database.
Our Gold Sponsors
Full Changelog: pnpm/pnpm@v7.3.0...v7.4.0
v7.3.0
Compare Source
Minor Changes
A new setting added:
pnpm.peerDependencyRules.allowAny
.allowAny
is an array of package name patterns, any peer dependency matching the pattern will be resolved from any version, regardless of the range specified inpeerDependencies
. For instance:The above setting will mute any warnings about peer dependency version mismatches related to
@babel/
packages oreslint
.The
pnpm.peerDependencyRules.ignoreMissing
setting may accept package name patterns. So you may ignore any missing@babel/*
peer dependencies, for instance:Experimental. New settings added:
use-git-branch-lockfile
,merge-git-branch-lockfiles
,merge-git-branch-lockfiles-branch-pattern
#4475.Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.2.1...v7.3.0
v7.2.1
Compare Source
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.2.0...v7.2.1
v7.2.0
Compare Source
Minor Changes
A new setting is supported for ignoring specific deprecation messages:
pnpm.allowedDeprecatedVersions
. The setting should be provided in thepnpm
section of the rootpackage.json
file. The below example will mute any deprecation warnings about therequest
package and warnings aboutexpress
v1:Related issue: #4306
Related PR: #4864
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.9...v7.2.0
v7.1.9
Compare Source
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.8...v7.1.9
v7.1.8
Compare Source
Patch Changes
package.json
file #4822.Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.7...v7.1.8
v7.1.7
Compare Source
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.6...v7.1.7
v7.1.6
Compare Source
Patch Changes
auto-install-peers
is set totrue
#4796.NODE_ENV=production pnpm install --dev
should only install dev deps #4745.Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.5...v7.1.6
v7.1.5
Compare Source
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.4...v7.1.5
v7.1.4
Compare Source
Patch Changes
Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.3...v7.1.4
v7.1.3
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.Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.2...v7.1.3
v7.1.2
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.Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.1...v7.1.2
v7.1.1
Compare Source
Patch Changes
node_modules/.pnpm
and inside the global store #4716pnpm create <pkg>
should be passed to the executed create app package. Sopnpm create next-app --typescript
should work`.Our Sponsors
Full Changelog: pnpm/pnpm@v7.1.0...v7.1.1
v7.1.0
Compare Source
Minor Changes
libc
field inpackage.json
#4454.Patch Changes
pnpm setup
should update the config of the current shell, not the preferred shell.pnpm setup
should not override the PNPM_HOME env variable, unless--force
is used.pnpm dlx
should print messages about installation to stderr #1698.pnpm dlx
should work with git-hosted packages. For example:pnpm dlx gengjiawen/envinfo
#4714.pnpm run --stream
should prefix the output with directory #4702Our Sponsors
Full Changelog: pnpm/pnpm@v7.0.1...v7.1.0
v7.0.1
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 init
command #4665.pnpm prune
works in a workspace #4647.error
#4669.pnpm prune
does not remove hoisted dependencies #4647.Our Sponsors
Full Changelog: pnpm/pnpm@v7.0.0...v7.0.1
v7.0.0
Compare Source
Major Changes
Node.js 12 is not supported.
When using
pnpm run <script>
, all command line arguments after the script name are now passed to the script's argv, even--
.For example, the command below will now pass
--hello -- world
to theecho
script's argv:pnpm run echo --hello -- world
Previously, flagged arguments (e.g.
--silent
) were interpreted as pnpm arguments unless--
came before it.If you want to pass options to pnpm, place them before the script name. For instance:
pnpm --workspace-root --silent run echo --hello -- world
Read more details about this in our docs.
Related PR: #4290
The root package is excluded by default, when running
pnpm -r exec|run|add
#2769.Filtering by path is done by globs.
In pnpm v6, in order to pick packages under a certain directory, the following filter was used:
--filter=./apps
In pnpm v7, a glob should be used:
--filter=./apps/**
For easier upgrade, we have also added a setting to turn back filtering as it was in v6. Just set
legacy-dir-filtering=true
in.npmrc
.The
NODE_PATH
env variable is not set in the command shims (the files innode_modules/.bin
). This env variable was really long and frequently caused errors on Windows.Also, the
extend-node-path
setting is removed.Related PR: #4253
The
embed-readme
setting isfalse
by default.Side effects cache is turned on by default. To turn it off, use
side-effects-cache=false
.The
npm_config_argv
env variable is not set for scripts #4153.pnpx
is now just an alias ofpnpm dlx
.If you want to just execute the command of a dependency, run
pnpm <cmd>
. For instance,pnpm eslint
.If you want to install and execute, use
pnpm dlx <pkg name>
.pnpm install -g pkg
will add the global command only to a predefined location. pnpm will not try to add a bin to the global Node.js or npm folder. To set the global bin directory, either set thePNPM_HOME
env variable or theglobal-bin-dir
setting.pnpm pack
should only pack a file as an executable if it's a bin or listed in thepublishConfig.executableFiles
array.-W
is not an alias of--ignore-workspace-root-check
anymore. Just use-w
or--workspace-root
instead, which will also allow to install dependencies in the root of the workspace.Allow to execute a lifecycle script in a directory that doesn't match the package's name. Previously this was only allowed with the
--unsafe-perm
CLI option #3709.Local dependencies referenced through the
file:
protocol are hard linked (not symlinked) #4408. If you need to symlink a dependency, use thelink:
protocol instead.strict-peer-dependencies
istrue
by default #4427.A prerelease version is always added as an exact version to
package.json
. If thenext
version offoo
is1.0.0-beta.1
then runningpnpm add foo@next
will add this topackage.json
:PR: #4435
Dependencies of the root workspace project are not used to resolve peer dependencies of other workspace projects #4469.
Don't hoist types by default to the root of
node_modules
#4459.Any package with "prettier" in its name is hoisted.
Changed the location of the global store from
~/.pnpm-store
to<pnpm home directory>/store
On Linux, by default it will be
~/.local/share/pnpm/store
On Windows:
%LOCALAPPDATA%/pnpm/store
On macOS:
~/Library/pnpm/store
Related issue: #2574
4bed585
: The next deprecated settings were removed:Use a base32 hash instead of a hex to encode too long dependency paths inside
node_modules/.pnpm
#4552.New setting added:
git-shallow-hosts
. When cloning repositories from "shallow-hosts", pnpm will use shallow cloning to fetch only the needed commit, not all the history #4548.Lockfile version bumped to v5.4.
Exit with an error when running
pnpm install
in a directory that has nopackage.json
file in it (and in parent directories) #4609.Our Sponsors
Configuration
📅 Schedule: Branch creation - "after 9am on Wednesday" in timezone Europe/London, 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 has been generated by Mend Renovate. View repository job log here.