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

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

--filter <селектор пакета>

Подробнее о фильтрации.