Перейти к основному содержимому
Версия: 9.x

pnpm exec

Выполнение команды терминала/оболочки в области видимости проекта (как правило в корне).

node_modules/.bin is added to the PATH, so 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:

pnpm exec jest

The exec part is actually optional when the command is not in conflict with a builtin pnpm command, so you may also just run:

pnpm jest

Опции

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.

Правильно - pnpm будет работать рекурсивно:

pnpm -r exec jest

Bad, pnpm will not run recursively but jest will be executed with the -r option:

pnpm exec jest -r

--recursive, -r

Выполнение команды терминала/оболочки в каждом проекте рабочей области (воркспейса).

The name of the current package is available through the environment variable PNPM_PACKAGE_NAME.

Примеры

Prune 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 --shell-mode (or -c) option for the environment variable to work.

pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME

--resume-from <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.

--parallel

Полностью игнорирует параллелизм и топологическую сортировку, запуская заданный скрипт немедленно во всех подходящих пакетах с префиксом потокового вывода. Это предпочтительный флаг для долго выполняющихся процессов над многими пакетами, например, для длительного процесса сборки.

--shell-mode, -c

Runs the command inside of a shell. Uses /bin/sh on UNIX and \cmd.exe on Windows.

--report-summary

Read about this option in the run command docs

--filter <package_selector>

Read more about filtering.