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

pnpm 10.21

· 2 хв читання
Золтан Кочан
Головний розробник pnpm

Додано підтримку встановлення середовища виконання Node.js для залежностей та налаштування політики довіри.

Незначні зміни

Встановлення середовища виконання Node.js для залежностей

Додано підтримку автоматичного встановлення середовища виконання Node.js для залежностей. pnpm тепер встановить версію Node.js, необхідну для залежності, якщо ця залежність оголошує середовище виконання Node.js у полі engines.runtime. Наприклад:

{
"engines": {
"runtime": {
"name": "node",
"version": "^24.11.0",
"onFail": "download"
}
}
}

Якщо пакунок із залежностями середовища виконання Node.js є CLI-застосунком, pnpm прив’яже CLI-застосунок до необхідної версії Node.js. Це гарантує, що незалежно від глобально встановленого екземпляра Node.js, CLI буде використовувати сумісну версію Node.js.

Якщо пакунок містить скрипт postinstall, цей скрипт буде виконано з використанням вказаної версії Node.js.

Див. PR: #10141

Політика довіри

Додано новий параметр: trustPolicy.

При встановленні значення no-downgrade pnpm видасть помилку, якщо рівень довіри до пакунка знизився порівняно з попередніми версіями. Наприклад, якщо пакунок раніше був опублікований надійним видавцем, але зараз має лише походження або не має доказів надійності, встановлення не відбудеться. Це допомагає запобігти встановленню потенційно небезпечних версій.

Див. тікет: #8889.

Інші функції

  • Додано підтримку команди pnpm config get globalconfig для отримання шляху до файлу глобальної конфігурації #9977.

Зміни в патчах

  • Коли користувач запускає pnpm update для залежності, яка безпосередньо не вказана в package.json, жодна з прямих залежностей не повинна оновлюватися #10155.
  • Запобігання збою, коли два процеси pnpm одночасно створюють жорсткі посилання на вміст теки в одне й те саме місце призначення #10160.
  • Налаштування gitBranchLockfile та пов'язаних з ним параметрів через pnpm-workspace.yaml має працювати #9651.