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

Сценарії

Як pnpm обробляє поле scripts для package.json.

Приховані скрипти

Додано у: v11.0.0

Скрипти з іменами, що починаються з ., є прихованими. Їх неможливо запустити безпосередньо за допомогою команди pnpm run, і вони не потрапляють у вивід команди pnpm run. Приховані скрипти можна викликати лише з інших скриптів.

{
"scripts": {
".helper": "echo 'I am hidden'",
"build": "pnpm run .helper && tsc"
}
}

У цьому прикладі, pnpm run .helper завершиться невдачею, але pnpm run build завершиться успішно, оскільки .helper викликається з іншого скрипта.

Змінних середовища

pnpm встановлює такі змінні середовища під час виконання скриптів життєвого циклу:

  • npm_package_name — назва пакунка
  • npm_package_version — версія пакунка
  • npm_lifecycle_event — назва запущеного скрипта (наприклад, postinstall)
нотатка

Починаючи з версії v11, pnpm більше не заповнює змінні середовища npm_config_* на основі конфігурації pnpm. Встановлено лише відомі npm_* змінні, що відповідає поведінці Yarn.

Конфлікти імен вбудованих команд і скриптів

Додано у: v11.0.0

Наступні вбудовані команди надають перевагу скриптам користувача: clean, setup, deploy та rebuild. Якщо у вашому файлі package.json визначено скрипт з одним із цих імен, pnpm <name> виконає цей скрипт замість вбудованої команди.

Щоб примусово виконати вбудовану команду, використовуйте pnpm pm <name>.

Сценарії життєвого циклу

pnpm:devPreinstall

Виконуються лише через локальний pnpm install.

Запускається до встановлення будь-якої залежності.

Цей сценарій виконується, лише якщо встановлено package.json в корені проєкту.