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.