pnpm run
Алиасы: run-script
Запускает скрипт, определенный в файле манифеста пакета.
Примеры
Допустим, у вас есть сценарий watch
, настроенный в файле package.json
, например:
"scripts": {
"watch": "webpack --watch"
}
Теперь вы можете запустить этот сценарий с помощью pnpm run watch
! Просто, правда? Для тех, кто любит сохранять нажатия клавиш и время, хорошая новость: все сценарии получают алиас в виде команд pnpm, поэтому, в конечном счете, pnpm watch
- это всего лишь краткая запись для pnpm run watch
(ТОЛЬКО для сценариев, которые не используют то же имя, что и уже существующие команды pnpm).
Выполнение нескольких сценариев
Вы можете запускать несколько сценариев одновременно, используя регулярное выражение, а не имя сценария.
pnpm run "/<regex>/"
Запустить все скрипты, названия которых начинаются с watch:
:
pnpm run "/^watch:.*/"
Подробности
В дополнение к уже существующим в окружении PATH
, pnpm run
содержит node_modules/.bin
в PATH
, предоставляемом сценариям
. Это значит, до тех пор, пока у вас установлен пакет, вы можете использовать его в скрипте, как обычную команду. Например, если у вас установлен eslint
, вы можете создать такой сценарий:
"lint": "eslint src --fix"
И, хотя в вашей оболочке не установлен eslint
, он будет работать.
Для рабочих областей, <workspace root>/node_modules/.bin
также добавляется в PATH
, поэтому если инструмент установлен в корне рабочей области, он может называться в сценариях
любого пакета.
Окружение
Есть некоторые переменные окружения, которые pnpm автоматически создает для исполняемых сценариев. Эти переменные окружения могут использоваться для получения контекстной информации о запущенном процессе.
Это переменные окружения, созданные pnpm:
- npm_command - содержит имя исполняемой команды. При исполнении команды
pnpm run
значение этой переменной будет "run-script".
Опции
Любые параметры команды run
должны быть перечислены перед названием сценария. Опции, перечисленные после имени скрипта передаются исполняемому скрипту.
Все они будут запускать pnpm CLI с параметром --silent
:
pnpm run --silent watch
pnpm --silent run watch
pnpm --silent watch
Все аргументы после имени команды добавляются в исполняемый сценарий. Так что, если watch
запускает webpack --watch
, то эта команда:
pnpm run watch --no-color
запустит:
webpack --watch --no-color