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
--no-reporter-hide-prefix
Не приховувати префікс при паралельному виконанні команд.
--resume-from <package_name>
Поновити виконання з конкретного проєкту. Це може бути корисним, якщо ви працюєте з великим робочим простором і бажаєте перезапустити збірку з певного проєкту без проходження всіх проєктів які йому передують у процесі збирання.
--parallel
Повністю ігнорувати паралельність і топологічне сортування, запускаючи вказаний скрипт одразу у всіх відповідних пакунках. Цей прапорець бажано встановлювати для довготривалих процесів з багатьма пакунками, наприклад, для тривалого процесу збирання.
--shell-mode, -c
Запускає команду всередині оболонки. Використовує /bin/sh
в UNIX та \cmd.exe
у Windows.
--report-summary
Читайте про цей параметр у документації команди run