Features
-
New setting:
shell-emulator
#2621When
shell-emulator
istrue
, pnpm will use a shell emulator to execute scripts. So things likeFOO=1 pnpm run foo
and other simple bash syntax will work on Windows.pnpm uses the shell emulator that was developed for Yarn v2: @yarnpkg/shell.
-
Excluding projects using
--filter=!<selector>
#2804Packages may be excluded from a command's scope, using "!" at the beginning of the selector.
For instance, this will run tests in all projects except
foo
:pnpm --filter=!foo test
And this one will run tests in all projects that are not under the
lib
directory:pnpm --filter=!./lib test
Bug Fixes
- When searching for a global bin directory, also look for symlinked commands #2888.
- Don’t remove non‑pnpm
.dot_files
fromnode_modules
#2833. - During publish, check the active branch name after checking if the branch is clean.
- The
INIT_CWD
env variable is always set to the lockfile directory for scripts of dependencies #2897. - When a package is both a dev dependency and a prod dependency, the package should be linked when installing prod dependencies only. This was an issue only when a lockfile was not present during installation #2882.