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
Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes over many packages, for instance, a lengthy build process.
--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