Execute a shell command in scope of a project.
node_modules/.bin is added to the
pnpm exec allows executing commands of dependencies.
If you have Jest as a dependency of your project, there is no need to install Jest globally, just run it with
pnpm exec jest
exec part is actually optional when the command is not in conflict with a builtin pnpm command, so you may also just run:
Any options for the
exec command should be listed before the
exec keyword. Options listed after the
exec keyword are passed to the executed command.
Good. pnpm will run recursively:
pnpm -r exec jest
Bad, pnpm will not run recursively but
jest will be executed with the
pnpm exec jest -r
Execute the shell command in every project of the workspace.
The name of the current package is available through the environment variable
node_modules installations for all packages:
pnpm -r exec rm -rf node_modules
View package information for all packages. This should be used with the
-c) option for the environment variable to work.
pnpm -rc exec pnpm view $PNPM_PACKAGE_NAME
Resume execution from a particular project. This can be useful if you are working with a large workspace and you want to restart a build at a particular project without running through all of the projects that precede it in the build order.
Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes over many packages, for instance, a lengthy build process.
Runs the command inside of a shell. Uses
/bin/sh on UNIX and
\cmd.exe on Windows.
Read about this option in the run command docs