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
.
Примеры
Очистить установленные node_modules
для всех пакетов:
pnpm -r exec rm -rf node_modules
Просмотр информации о пакетах для всех пакетов. Это следует использоват ь с параметром --shell-mode
(или -c
), чтобы переменная среды работала.
pnpm -rc exec pnpm view \$PNPM_PACKAGE_NAME
--resume-from <package_name>
Возобновляет выполнение из конкретного пакета. Это может быть полезно, если вы работаете с большим рабочим пространством и хотите перезапустить сборку в конкретном пакете, не проходя через все пакете, предшествующие этому в порядке сборки.
--parallel
Полностью игнорирует параллелизм и топологическую сортировку, запуская заданный скрипт немедленно во всех подходящих пакетах с префиксом потокового вывода. Это предпочтительный флаг для долго выполняющихся процессов над многими пакетами, например, для длительного процесса сборки.
--shell-mode, -c
Runs the command inside of a shell. Использует /bin/sh
в UNIX и \cmd.exe
в Windows.
--report-summary
Read about this option in the run command docs