Обновление Vite+
Используйте vp upgrade для обновления глобального исполняемого файла vp, а команды управления пакетами Vite+ — для обновления локального пакета vite-plus в проекте.
Обзор
Обновление Vite+ состоит из двух частей:
- Глобальная команда
vp, установленная на вашем компьютере - Локальный пакет
vite-plus, используемый конкретным проектом
Вы можете обновлять их независимо друг от друга.
Глобальная команда vp
vp upgrade # обновить до последней версии
vp upgrade --check # проверить наличие обновлений без установки
vp upgrade <version> # установить указанную версию
vp upgrade --registry <registry> # использовать пользовательский npm-реестрОткат
Vite+ сохраняет 3 последние установленные версии, чтобы вы могли быстро выполнить откат:
vp upgrade --rollbackСтарые версии автоматически удаляются после каждого обновления. Текущая активная версия и предыдущая версия сохраняются всегда, поэтому версия для отката никогда не будет удалена.
Локальный пакет vite-plus
Рекомендуемый способ обновления существующего проекта Vite+ — использовать команду vp migrate:
vp migrateЕсли проект уже использует Vite+, команда миграции выполняет только обновление версий набора инструментов: она закрепляет версии vite-plus, алиаса vite → @voidzero-dev/vite-plus-core и vitest в соответствии с версиями, поставляемыми текущей глобальной версией vp, во всех пакетах рабочего пространства. При этом пропускаются этапы первоначальной настройки (git-хуки, файлы для редактора и ИИ-агентов, миграция линтера), поэтому обычное обновление версии не затрагивает уже выполненную конфигурацию. Чтобы также выполнить эти действия по настройке, используйте флаг --full.
Обновление закреплённой версии Vitest
Если вы выполняли миграцию через vp migrate, в проекте используется точная закреплённая версия (pin) vitest, чтобы весь проект работал с единственной копией Vitest, общей с поставляемым в комплекте раннером vp test. Эта закреплённая версия хранится в блоке переопределений вашего менеджера пакетов:
- npm / Bun: запись
vitestв секцииoverridesфайлаpackage.json - Yarn: запись
vitestв секцииresolutionsфайлаpackage.json - pnpm: запись
vitestв секцииoverridesфайлаpnpm-workspace.yaml— если только вашpackage.jsonуже не содержит полеpnpm; в этом случае запись находится вpnpm.overridesвнутриpackage.json(pnpm игнорирует переопределения изpnpm-workspace.yaml, если вpackage.jsonопределён блокpnpm.overrides)
Новый релиз Vite+ может обновить поставляемую в комплекте версию Vitest. Поскольку закреплённая версия также применяется к собственной зависимости vitest пакета vite-plus, устаревшая запись продолжит устанавливать предыдущую версию раннера даже после обновления vite-plus. В результате внутренние механизмы Vitest (моки, expect, состояние раннера) окажутся разделены между закреплённой копией и той, которую загружает vp test.
После обновления vite-plus повторно закрепите vitest на версии, которая теперь поставляется вместе с Vite+. Узнать эту версию можно командой:
vp --versionЗатем укажите эту точную версию в переопределении vitest или повторно запустите vp migrate, чтобы обновить закреплённую версию автоматически.
Предварительные сборки
Некоторые пулреквесты Vite+ публикуют временные пакеты для тестирования ещё до выпуска в npm. Рассматривайте их как nightly- или bleeding-edge-сборки: они полезны, если вы хотите проверить конкретное исправление, протестировать свежее обновление зависимости или убедиться в корректности изменений до следующего релиза. Для повседневной работы рекомендуется использовать опубликованную версию latest.
Каждый коммит подходящего пулреквеста публикуется через registry bridge. Этот мост предоставляет такие сборки как обычные версии npm в формате 0.0.0-commit.<sha> и проксирует все остальные пакеты в реестр npm. Благодаря этому предварительные сборки устанавливаются с помощью обычных спецификаторов версий, а не изменяемых URL, и те же версии будут корректно использоваться в CI.
Пакеты vite-plus и @voidzero-dev/vite-plus-core публикуются с одной и той же версией вида 0.0.0-commit.<sha>. Каждый пулреквест содержит комментарий с точной версией последнего коммита и готовыми командами для установки.
Предварительные сборки можно найти в пулреквестах, которые автоматически обновляют зависимости. Например, просмотрите объединённые пулреквесты с обновлениями зависимостей.
Предварительные сборки идентифицируются по номеру пулреквеста или SHA коммита. Они не являются стабильным диапазоном версий, поэтому не рекомендуется оставлять их в долгоживущих ветках, если только сопровождающий проекта не попросит вас об этом.
Предварительная версия глобальной команды vp
Чтобы установить предварительную сборку глобальной CLI, передайте переменную VP_PR_VERSION установщику. В качестве значения можно указать номер пулреквеста или SHA коммита:
curl -fsSL https://vite.plus | VP_PR_VERSION=<pr-or-sha> bashНа Windows:
$env:VP_PR_VERSION = "<pr-or-sha>"
irm https://vite.plus/ps1 | iex
Remove-Item Env:\VP_PR_VERSIONУстановщик определяет соответствующую сборку 0.0.0-commit.<sha> через registry bridge и устанавливает её как обычную версию. После установки выполните vp --version, чтобы убедиться, какая сборка и какие версии инструментов входят в её состав. Когда тестирование будет завершено, вернитесь к опубликованному релизу с помощью vp upgrade --force или повторно запустите установщик без переменной VP_PR_VERSION.
Предварительная версия локального пакета vite-plus
После установки предварительной версии глобальной CLI, описанной выше, выполните миграцию проекта, чтобы перевести его локальную версию vite-plus на ту же сборку:
vp migrateКоманда миграции настраивает проект на использование registry bridge (добавляя соответствующую запись в .npmrc или .yarnrc.yml для Yarn Berry) и закрепляет версии vite-plus и алиаса vite → @voidzero-dev/vite-plus-core на соответствующей версии 0.0.0-commit.<sha>. Именно эта запись о реестре позволяет проекту использовать те же версии в собственной CI, поэтому закоммитьте её, если хотите, чтобы CI также тестировала предварительную сборку.
После установки проверьте используемые версии командой vp --version. Когда тестирование будет завершено, вернитесь к опубликованному релизу: установите для vite-plus значение latest, удалите строку registry для registry bridge из .npmrc (или .yarnrc.yml) и выполните vp install.