Перейти к основному содержимому
Версия: Будущая

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

--resume-from <package_name>

Resume execution from a particular project. 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

Полностью игнорирует параллелизм и топологическую сортировку, запуская заданный скрипт немедленно во всех подходящих пакетах с префиксом потокового вывода. Это предпочтительный флаг для долго выполняющихся процессов над многими пакетами, например, для длительного процесса сборки.

--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

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

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