


12 ноября 2026 года вышел pnpm 12.20.0. Менеджер пакетов уточнил работу локальных зависимостей и исправил несколько сценариев разрешения графа. Mentoring.digital разбирает, какие изменения важно проверить в монорепозитории и CI.
При lockfile.format: v13 команда установки теперь записывает specifiers зависимостей, указывающих на локальные каталоги. Это исходные обозначения зависимостей, а не только выбранные версии. Замороженная установка отклоняет их изменение даже тогда, когда зафиксированные версии ещё удовлетворяют новому диапазону.
Изменение касается экспериментального формата v13. Оно не означает, что всем проектам следует сразу менять формат lock-файла. Сначала стоит выяснить, какой формат реально использует репозиторий, и воспроизвести установку с его существующей конфигурацией.
В режиме nodeLinker: hoisted пакет сохраняет вложенную копию зависимости, если ему нужна версия, отличная от верхнеуровневой. Ранее такая копия могла исчезнуть как дубликат или уступить место другой peer-вариации, после чего загружалась верхнеуровневая версия.
Исправлены отдельные случаи overrides с каталогами и workspace-путями. Команда pnpm dedupe сохраняет закреплённую версию runtime, если объявленный диапазон по-прежнему её допускает. Для командного проекта полезно проверить и успешную повторную установку, и неизменность ожидаемых связей пакетов.
Удалённое разрешение зависимостей, общий кеш сборки и release notes больше не совместимы с pnpr 0.1.0-alpha.19 и более ранними версиями. Если такая инфраструктура используется, обновление клиента следует согласовать с возможностями сервера. Наличие обычной локальной установки не проверяет удалённый сценарий.
Редакционная рекомендация: закрепить версию pnpm, выполнить принятый в проекте frozen install в чистом окружении и просмотреть diff lock-файла. Затем запустить тесты пакетов, которые зависят от hoisted-размещения или overrides. Разобрать устройство монорепозитория можно с наставником по JavaScript на конкретном графе зависимостей.