Перейти до основного вмісту
Версія: 11.x

Сценарії

Як 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 name
  • npm_package_version — the package version
  • npm_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 в корені проєкту.