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
Добавлено в: v2.9.0
Выполнение команды терминала/оболочки в каждом проекте рабочей области (воркспейса).
Название текущего пакета доступно через переменную окружения PNPM_PACKAGE_NAME
(поддерживается начиная с pnpm v2.22.0 и более новыми версиями).
Примеры
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
--parallel
Добавлено в: v5.1.0
Полностью игнорирует параллелизм и топологическую сортировку, запуская заданный скрипт немедленно во всех подходящих пакетах с префиксом потокового вывода. Это предпочтительный флаг для долго выполняющихся процессов над многими пакетами, например, для длительного процесса сборки.
--shell-mode, -c
Added in: v6.31.0
Runs the command inside of a shell. Uses /bin/sh
on UNIX and \cmd.exe
on Windows.