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

pnpm 10.27

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

pnpm 10.27 додає нове налаштування для ігнорування перевірок політики довіри для старих версій пакунків, вводить реєстр проєктів для глобального очищення віртуального сховища та включає кілька виправлень помилок.

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

trustPolicyIgnoreAfter

Додавання trustPolicyIgnoreAfter дозволяє ігнорувати перевірки політики довіри для пакунків, опублікованих пізніше, ніж зазначений час, див. #10352.

Global Virtual Store Improvements

Додано реєстр проєктів для підтримки скорочення глобального віртуального сховища.

Проєкти, що використовують сховище, тепер реєструються через символічні посилання у {storeDir}/v10/projects/. Це дозволяє pnpm store prune відстежувати, які пакунки все ще використовуються активними проєктами, та безпечно видаляти невикористовувані пакунки з глобального віртуального сховища.

Напів-порушення. Змінено розташування пакетів без області дії у віртуальному глобальному сховищі. Тепер вони будуть зберігатися в теці з назвою @, щоб зберегти однакову глибину ієрархії тек у 4 рівні.

Додано збірку сміття за принципом «позначення та очищення» для глобального віртуального сховища.

pnpm store prune тепер видаляє невикористовувані пакунки з теки links/ глобального віртуального сховища. Алгоритм:

  1. Сканує всі зареєстровані проєкти на наявність символічних посилань, що вказують на сховище
  2. Проходить перехідні залежності, щоб позначити доступні пакунки
  3. Видаляє будь-які теки пакунків, не позначені як доступні

Це включає підтримку монорепозиторіїв робочого простору — скануються всі теки node_modules у межах проєкту (включно з тими, що містяться в пакунках робочого простору).

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

  • Видаємо помилку, якщо значення параметра tokenHelper або <url>:tokenHelper містить змінну середовища.
  • Залежності Git зі скриптами збірки повинні враховувати налаштування dangerouslyAllowAllBuilds #10376.
  • Пропустити перевірку менеджера пакунки під час запуску з --global, якщо налаштовано проєкт packageManager, і попередити, що перевірку пропущено.
  • Команда pnpm store prune не повинна завершуватися помилкою, якщо тека кешу dlx містить файли, а не лише теки #10384
  • Виправлено помилку (#9759), через яку команда pnpm add неправильно змінювала запис теки в pnpm-workspace.yaml на його точну версію.