Сценарії
Як 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 в корені проєкту.