Обновление Vite+
Обновление vite-plus и связанных с ним зависимостей проекта. Чтобы обновить глобальный бинарный файл vp, см. раздел Обновление Vite+.
Обновление с помощью Migrate
Рекомендуемый способ обновить проект — использовать vp migrate, который поддерживает согласованность зависимостей инструментария.
После обновления зависимости vite-plus в проекте запустите локальный CLI, чтобы синхронизировать версии инструментария:
./node_modules/.bin/vp migrateЕсли ваш глобальный CLI новее версии, используемой проектом, запуск vp migrate вместо этого обновит проект до этой глобальной версии:
vp migrateВ проекте, который уже использует Vite+, migrate выполняет только обновление версии инструментария: заново закрепляет vite-plus, алиас vite -> @voidzero-dev/vite-plus-core и закреплённую версию vitest на версиях, входящих в состав CLI, запустившего миграцию, во всех пакетах рабочего пространства. При этом пропускаются шаги первоначальной настройки (Git-хуки, файлы редактора и агента, миграция линтинга), поэтому обновление версии не изменяет повторно то, что уже было настроено. Передайте --full, чтобы также выполнить эти шаги настройки.
Обновление вручную
Обновляйте vite-plus и алиас vite на @voidzero-dev/vite-plus-core одновременно, поддерживая версию core в соответствии с версией vite-plus. Обновите эти записи везде, где они объявлены в вашем рабочем пространстве, включая overrides или каталоги, затем установите зависимости, чтобы обновить lock-файл. Также обновите закреплённую версию Vitest в соответствии с версией, входящей в состав пакета.
Без глобального CLI запускайте команды vp на этой странице через менеджер пакетов, например pnpm exec vp toolchain vitest.
Обновление закреплённой версии 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 игнорируетoverridesизpnpm-workspace.yaml, если вpackage.jsonопределеноpnpm.overrides.
Новый релиз Vite+ может обновить поставляемую в комплекте версию Vitest. Поскольку закреплённая версия также применяется к собственной зависимости vitest пакета vite-plus, устаревшая запись продолжит устанавливать предыдущую версию раннера даже после обновления vite-plus. В результате внутренние механизмы Vitest (моки, expect, состояние раннера) окажутся разделены между закреплённой копией и той, которую загружает vp test.
После обновления vite-plus повторно закрепите vitest на версии, которая теперь поставляется вместе с Vite+. Узнать эту версию можно командой:
vp toolchain vitestЗатем укажите эту точную версию в переопределении vitest или повторно запустите vp migrate, чтобы обновить закреплённую версию автоматически.
Почему в overrides для pnpm используется @*
В pnpm управляемые ключи используют явный диапазон @* (vite@*, vitest@*). pnpm применяет override, заменяя объявленную спецификацию во всех манифестах, включая манифесты импортёров. Ключ без диапазона соответствует любой спецификации, включая catalog:. Диапазон @* ограничивает применение override semver-диапазонами, которые используют транзитивные зависимости и peer-зависимости, и оставляет ссылки catalog: без изменений. Поэтому vp up больше не заменяет их на конкретную версию.
Preview-сборки
После установки preview-сборки глобального CLI выполните в проекте migrate, чтобы перевести его локальный vite-plus на ту же сборку:
vp migratemigrate записывает реестр bridge в .npmrc. Для Yarn Berry реестр записывается в .yarnrc.yml. Команда закрепляет vite-plus и алиас vite на соответствующей версии 0.0.0-commit.<sha>. Алиас vite указывает на @voidzero-dev/vite-plus-core. Зафиксируйте строку с реестром в репозитории, если CI проекта должен тестировать preview-сборку.
После установки выполните vp toolchain, чтобы увидеть выбранные версии. После завершения тестирования установите для vite-plus значение latest. Удалите строку с bridge registry из .npmrc или .yarnrc.yml. Затем выполните vp install.