pnpm exec
Выполнение команды терминала/оболочки в области видимости проекта (как правило в корне).
node_modules/.bin
добавляется в переменную окружения PATH
, поэтому pnpm exec
позволяет запускать команды установленных зависимостей (пакетов).
Примеры
Если Jest является зависимостью вашего проекта, нет необходимости устанавливать Jest глобально, просто запустите его с помощью pnpm exec
:
pnpm exec jest
Часть текста команды в виде exec
на самом деле необязательна, и её можно опустить при вызове конечной команды, но только если она не к онфликтует с какой-либо другой командой pnpm:
pnpm jest
Опции
Любые параметры команды exec
должны быть указаны перед ключевым словом exec
. Параметры, перечисленные после ключевого слова exec
, передаются выполняемой команде.
Правильно - pnpm будет работать рекурсивно:
pnpm -r exec jest
Неправильно - pnpm не будет запускаться рекурсивно, но jest
будет выполняться с опцией -r
:
pnpm exec jest -r
--recursive, -r
Выполнение команды терминала/оболочки в каждом проекте рабочей области (воркспейса).
Имя текущего пакета доступно через переменную окружения 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
--no-reporter-hide-prefix
Do not hide prefix when running commands in parallel.
--resume-from <package_name>
Возобновление выполнения из конкретного проекта. 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
Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages. Это предпочтительный флаг для долго выполняющихся процессов над многими пакетами, например, для длительного процесса сборки.
--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