Skip to content

Обновление Vite+

Используйте vp upgrade для обновления глобального исполняемого файла vp, а команды управления пакетами Vite+ — для обновления локального пакета vite-plus в проекте.

Обзор

Обновление Vite+ состоит из двух частей:

  • Глобальная команда vp, установленная на вашем компьютере
  • Локальный пакет vite-plus, используемый конкретным проектом

Вы можете обновлять их независимо друг от друга.

Глобальная команда vp

bash
vp upgrade                        # обновить до последней версии
vp upgrade --check                # проверить наличие обновлений без установки
vp upgrade <version>              # установить указанную версию
vp upgrade --registry <registry>  # использовать пользовательский npm-реестр

Откат

Vite+ сохраняет 3 последние установленные версии, чтобы вы могли быстро выполнить откат:

bash
vp upgrade --rollback

Старые версии автоматически удаляются после каждого обновления. Текущая активная версия и предыдущая версия сохраняются всегда, поэтому версия для отката никогда не будет удалена.

Локальный пакет vite-plus

Рекомендуемый способ обновления существующего проекта Vite+ — использовать команду vp migrate:

bash
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+. Узнать эту версию можно командой:

bash
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 коммита:

bash
curl -fsSL https://vite.plus | VP_PR_VERSION=<pr-or-sha> bash

На Windows:

powershell
$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 на ту же сборку:

bash
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.