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

pnpm 10.28

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

У pnpm 10.28 представлено новий хук beforePacking для налаштування package.json під час публікації, покращено продуктивність інсталяції з використанням фільтрів та виправлено кілька помилок.

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

Хук beforePacking

Додано підтримку нового хука з назвою beforePacking, який дозволяє налаштовувати вміст package.json під час публікації, див. #3816.

Цей хук викликається безпосередньо перед створенням tar-архіву під час виконання команд pnpm pack або pnpm publish. Це дає вам можливість змінити маніфест пакунка, який буде включено до опублікованого пакунка, не впливаючи на ваш локальний файл package.json.

Приклад використання у .pnpmfile.cjs:

module.exports = {
hooks: {
beforePacking(pkg) {
// Видалити поля, призначені тільки для розробки
delete pkg.devDependencies
delete pkg.scripts
// Додати метадані публікації
pkg.publishedAt = new Date().toISOString()
return pkg
}
}
}

Див. документацію .pnpmfile.cjs для отримання додаткової інформації.

Продуктивність інсталяції з використанням фільтрів

У деяких випадках інсталяція з використанням фільтрів (наприклад, pnpm install --filter ...) була повільнішою, ніж запуск pnpm install без будь-яких фільтрів. Цей регрес продуктивності тепер виправлено. Встановлення з використанням фільтрів мають бути такими ж швидкими або швидшими, ніж повне встановлення, див #10408.

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

  • Не додавати символічне посилання на проєкт до реєстру проєктів сховища, якщо сховище знаходиться у вкладеній теці проєкту, див. #10411.
  • Має бути можливість оголосити параметр requiredScripts у pnpm-workspace.yaml, див. #10261.