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