Перейти до основного змісту
Версія: Next

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

--filter <package_selector>

Читайте більше про використання фільтрів.