Сценарії
Як pnpm обробляє поле scripts з package.json.
Приховані скрипти#
Додано у: v11.0.0
Скрипти з іменами, що починаються з ., є прихованими. Їх неможливо запустити безпосередньо за допомогою команди pnpm run, і вони не потрапляють у вивід команди pnpm run. Приховані скрипти можна викликати лише з інших скриптів.
{
"scripts": {
".helper": "echo 'I am hidden'",
"build": "pnpm run .helper && tsc"
}
}
In this example, pnpm run .helper would fail, but pnpm run build would succeed because .helper is called from another script.
Змінних середовища#
pnpm встановлює такі змінні середовища під час виконання скриптів життєвого циклу:
npm_package_name— the package namenpm_package_version— the package versionnpm_lifecycle_event— the name of the running script (e.g.,postinstall)
нотатка
Since v11, pnpm no longer populates npm_config_* environment variables from the pnpm configuration. Only the well-known npm_* variables above are set, matching Yarn's behavior.
Конфлікти імен вбудованих команд і скриптів#
Додано у: v11.0.0
The following built-in commands prefer user scripts: clean, setup, deploy, and rebuild. If your package.json defines a script with one of these names, pnpm <name> will execute the script instead of the built-in command.
To force the built-in command, use pnpm pm <name>.
Сценарії життєвого циклу#
pnpm:devPreinstall#
Виконуються лише через локальний pnpm install.
Запускається до встановлення будь-якої залежності.
Цей сценарій виконується, лише якщо встановлено package.json в корені проєкту.