pnpm 10.14
· 2 хв читання
Додано підтримку визначення середовища виконання JavaScript
Вкажіть Node.js, Deno або Bun у devEngines.runtime (всередині package.json) і дозвольте pnpm завантажити і закріпити його автоматично.
Приклад використання:
{
"devEngines": {
"runtime": {
"name": "node",
"version": "^24.4.0",
"onFail": "download" // we only support the "download" value for now
}
}
}
Як це працює:
pnpm installобробляє вказаний вами діапазон для отримання останньої відповідної версії середовища виконання.- Точна версія (та контрольна сума) зберігається у файлі блокування.
- Скрипти використовують локальне середовище виконання, забезпечуючи узгодженість між середовищами.
Чому це краще:
- Цей новий параметр також підтримує Deno та Bun (на відміну від наших налаштувань лише для Node
useNodeVersionтаexecutionEnv.nodeVersion) - Підтримуються діапазони версій (не лише фіксована версія).
- Отримана версія зберігається у файлі блокування pnpm разом з контрольною сумою цілісності для подальшої перевірки справжності вмісту Node.js.
- Можна використовувати в будь-якому проєкті робочого простору (наприклад,
executionEnv.nodeVersion). Отже, різні проєкти в робочому просторі можуть використовувати різні середовища виконання. - Наразі налаштування
devEngines.runtimeвстановлює середовище виконання локально, але в майбутніх версіях pnpm ми вдосконалимо це, використовуючи спільне розташування на компʼютері.
Див. PR: #9755.
Інші нові функції
- Додано
--cpu,--libcта--osдоpnpm install,pnpm addтаpnpm dlxдля налаштуванняsupportedArchitecturesчерез CLI #7510.
Виправлення помилок
- Виправлено помилку, через яку
pnpm addзавантажує пакунки,libcяких відрізняється відpnpm.supportedArchitectures.libc. - Цілісність завантажених Node.js артефактів тепер перевіряється #9750.
- Дозволено
dlxаналізувати прапорці та опції командного рядка між командоюdlxта командою для запуску або між командоюdlxта--#9719. - Команда
pnpm install --prodмає видалити підняті залежності розробника #9782. - Виправлено помилку, через яку локальні архівні файли не перестворювали link у віртуальному сховищі. Ця помилка виникала при зміні вмісту архіву tar без перейменування файлу та запуску фільтрованої інсталяції.
- Виправлено помилку, через яку
pnpm installнеправильно вважав, що файл блокування є актуальним після зміни локального архіву, що має залежні компоненти.