


25 октября опубликована стабильная версия Verdaccio 7.0.0, а затем корректирующий выпуск 7.0.1. Verdaccio позволяет развернуть собственный реестр npm-пакетов и проксировать внешние зависимости. На Mentoring.digital разбираем изменения, которые затрагивают публикацию пакетов и переход с шестой ветки.
В новой ветке появилось экспериментальное поэтапное размещение, staged publishing. Конвейер сначала загружает версию, затем ответственный проверяет её и переводит в опубликованное состояние. До этого пакет не становится доступным для установки.
Режим включается через flags.stage и требует npm 11.17 или новее. Отдельно предусмотрена экспериментальная двухфакторная аутентификация через flags.tfa. Наличие стабильного релиза сервера не меняет экспериментальный статус этих двух возможностей.
Также расширены проверки владельцев пакетов при изменении dist-tag, пометке версии устаревшей и удалении публикации. Плагины могут загружаться как чистые ESM-модули; для хранилищ появился API на Promise с адаптером для прежних callback-плагинов.
В комплекте Verdaccio 7.0.0 оказалась включённая конфигурация фильтра @verdaccio/package-filter, но сам плагин не был объявлен зависимостью. Сервер сообщал в журнале, что пакет не найден, и продолжал запуск. Правила minAgeDays, dateThreshold и block при этом не применялись.
Версия 7.0.1 возвращает зависимость. Если фильтр временно отключали в конфигурации из-за этой ошибки, его можно включить обратно после обновления. Проверять следует не только успешный запуск сервера, но и фактическое действие нужного правила на тестовом пакете.
Для седьмой ветки нужен Node.js 24 или новее. Разработчики рекомендуют сохранить конфигурацию, хранилище и .verdaccio-db.json, преобразовать конфигурацию JSON или JavaScript в YAML и сначала проверить обновление на копии хранилища. Одновременно запускать шестую и седьмую версии на одном хранилище нельзя.
Проверьте авторизацию используемых менеджеров пакетов, загрузку собственных плагинов, установку зависимостей и публикацию учебной версии. Не включайте новый режим сразу во всех конвейерах: сначала убедитесь, что команда понимает, где завершается загрузка и начинается окончательная публикация.
Настройку внутреннего реестра и процесс выпуска библиотек можно разобрать с наставником по Node.js, используя копию конфигурации без секретов и отдельный тестовый пакет.