Skip to content

Релиз Vite 8.0!

12 марта 2026 г.

Обложка объявления Vite 8

Мы рады объявить о стабильном релизе Vite 8! Когда Vite только запускался, мы сделали прагматичную ставку на два бандлера: esbuild для скорости во время разработки и Rollup для оптимизированных продакшен-сборок. Эта ставка оправдывала себя годами. Мы очень благодарны поддержке мейнтейнеров Rollup и esbuild — без них Vite не добился бы успеха. Сегодня эти два пути объединяются в один: Vite 8 поставляется с Rolldown в качестве единого унифицированного бандлера на базе Rust, обеспечивая ускорение сборки в 10–30 раз при сохранении полной совместимости с плагинами. Это самое значительное архитектурное изменение со времен Vite 2.

Сейчас Vite скачивают 65 миллионов раз в неделю, и экосистема продолжает расти с каждым релизом. Чтобы помочь разработчикам ориентироваться в постоянно расширяющемся ландшафте плагинов, мы также запустили registry.vite.dev — каталог плагинов для Vite, Rolldown и Rollup с поиском, который ежедневно собирает данные из npm.

Быстрые ссылки:

Попробуйте Vite 8 онлайн на vite.new или разверните проект локально с помощью вашего любимого фреймворка, запустив pnpm create vite. Подробности можно найти в Руководстве по началу работы.

Мы приглашаем вас помочь нам в улучшении Vite (присоединившись к более чем 1200 контрибьюторам ядра Vite), наших зависимостей или плагинов и проектов экосистемы. Узнайте больше в нашем Руководстве по внесению вклада. Хороший способ начать — это сортировка задач, ревью PR, отправка тестов для открытых проблем и помощь другим в Обсуждениях или на форуме помощи в Vite Land. Если у вас есть вопросы, присоединяйтесь к нашему сообществу в Discord и общайтесь с нами в канале #contributing.

Оставайтесь в курсе событий и общайтесь с другими разработчиками, подписавшись на нас в Bluesky, X или Mastodon.

Vite на базе Rolldown

Проблема

Начиная с самых ранних версий, Vite полагался на два отдельных бандлера для разных задач. esbuild отвечал за быструю компиляцию во время разработки (предварительная сборка зависимостей и трансформация TypeScript/JSX), что делало работу разработчика мгновенной. Rollup занимался сборкой для продакшена, разделением на чанки и оптимизацией, а его богатое API плагинов питало всю экосистему Vite.

Этот подход с двумя бандлерами хорошо служил Vite годами. Он позволил нам сосредоточиться на опыте разработчика и оркестрации, а не на изобретении парсинга и сборки с нуля. Но это требовало компромиссов. Два отдельных конвейера трансформации означали две отдельные системы плагинов и растущее количество связующего кода для синхронизации этих конвейеров. Со временем накапливались пограничные случаи несогласованной обработки модулей, и каждое исправление в одном конвейере рисковало внести различия в другой.

Решение

Rolldown — это бандлер на базе Rust, созданный командой VoidZero для прямого решения этих проблем. Он был разработан с тремя целями:

  • Производительность: Написанный на Rust, Rolldown работает на нативной скорости. В бенчмарках он в 10–30 раз быстрее Rollup, достигая уровня производительности esbuild.
  • Совместимость: Rolldown поддерживает тот же API плагинов, что и Rollup и Vite. Большинство существующих плагинов Vite работают в Vite 8 «из коробки».
  • Продвинутые возможности: Единый унифицированный бандлер открывает возможности, которые были сложны или невозможны при использовании двух инструментов, включая режим полной сборки, более гибкое разделение чанков, персистентное кэширование на уровне модулей и поддержку Module Federation.

Путь к стабильности

Переход на Rolldown был осознанным и опирался на поддержку сообщества. Сначала был выпущен отдельный пакет rolldown-vite в качестве технического превью, что позволило ранним последователям протестировать интеграцию Rolldown, не затрагивая стабильную версию Vite. Обратная связь от них была бесценной: они проверяли интеграцию на реальных кодовых базах любых форм и размеров, выявляя пограничные случаи и проблемы совместимости, которые мы смогли устранить до широкого релиза. Мы также создали выделенную систему CI для проверки ключевых плагинов и фреймворков Vite с новым бандлером, что позволило на ранних этапах отлавливать регрессии.

В декабре 2025 года мы выпустили Vite 8 beta с полностью интегрированным Rolldown. За период беты сам Rolldown прошел путь от бета-версии до релиз-кандидата с постоянными улучшениями на основе тестирования сообществом Vite.

Производительность в реальных условиях

Во время этапов превью и беты rolldown-vite несколько компаний сообщили о значительном сокращении времени продакшен-сборки:

  • Linear: Время сборки сократилось с 46 до 6 секунд.
  • Ramp: Сокращение времени сборки на 57%.
  • Mercedes-Benz.io: Сокращение времени сборки до 38%.
  • Beehiiv: Сокращение времени сборки на 64%.

Для крупных проектов эффект может быть особенно заметным, и мы ожидаем дальнейших улучшений по мере развития Rolldown.

Единая цепочка инструментов

С выходом Vite 8 он становится точкой входа в сквозную цепочку инструментов, над которой работают тесно сотрудничающие команды: инструмент сборки (Vite), бандлер (Rolldown) и компилятор (Oxc). Такое согласование обеспечивает единообразное поведение на всем стеке — от парсинга и разрешения модулей до трансформации и минимизации. Это также означает, что мы можем быстро внедрять новые спецификации языка по мере развития JavaScript. Глубокая интеграция уровней позволяет нам реализовывать оптимизации, которые ранее были недоступны, например, использование семантического анализа Oxc для более качественного tree-shaking в Rolldown.

Спасибо сообществу

Ничего из этого не было бы возможным без поддержки сообщества. Мы выражаем глубокую благодарность командам фреймворков (SvelteKit, React Router, Storybook, Astro, Nuxt и многим другим), которые на ранних этапах тестировали rolldown-vite, составляли подробные отчёты об ошибках и работали с нами над решением проблем совместимости. Мы одинаково благодарны каждому разработчику, который пробовал бету, делился результатами улучшения времени сборки и сообщал о шероховатостях. Ваша готовность тестировать миграцию на реальных проектах помогла сделать переход на Rolldown более плавным и надежным.

Поддержка Node.js

Vite 8 требует Node.js 20.19+, 22.12+ (те же требования, что и в Vite 7). Эти диапазоны гарантируют поддержку require(esm) в Node.js без флагов, что позволяет распространять Vite только как ESM.

Дополнительные возможности

Помимо интеграции Rolldown, Vite 8 включает несколько примечательных функций:

  • Встроенные инструменты разработчика: В Vite 8 появилась опция devtools для включения Vite Devtools — инструментов для отладки и анализа. Они предоставляют глубокое понимание ваших проектов прямо из сервера разработки.

  • Встроенная поддержка paths из tsconfig: Разработчики теперь могут включить разрешение алиасов путей TypeScript, установив resolve.tsconfigPaths в значение true. Это несет небольшие затраты производительности и не включено по умолчанию.

  • Поддержка emitDecoratorMetadata: В Vite 8 теперь есть встроенная автоматическая поддержка опции TypeScript emitDecoratorMetadata, что избавляет от необходимости использовать внешние плагины. Подробности см. на странице Возможности.

  • Поддержка Wasm в SSR: Импорты .wasm?init теперь работают в средах SSR, расширяя возможности WebAssembly в Vite на серверный рендеринг.

  • Проброс консоли браузера: Vite 8 может перенаправлять логи и ошибки консоли браузера в терминал сервера разработки. Это особенно полезно при работе с ИИ-агентами для написания кода (coding agents), так как ошибки клиента в рантайме становятся видимыми в выводе CLI. Включите это с помощью server.forwardConsole; опция активируется автоматически при обнаружении ИИ-агента.

@vitejs/plugin-react v6

Вместе с Vite 8 мы выпускаем @vitejs/plugin-react v6. Плагин использует Oxc для трансформации React Refresh. Babel больше не является зависимостью, а размер установки уменьшился.

Для проектов, которым нужен React Compiler, v6 предоставляет хелпер reactCompilerPreset, который работает с @rolldown/plugin-babel, предоставляя вам явный путь подключения без утяжеления стандартной настройки.

Подробности см. в Примечаниях к релизу.

Обратите внимание, что v5 по-прежнему работает с Vite 8, поэтому вы можете обновить плагин уже после обновления Vite.

Взгляд в будущее

Интеграция Rolldown открывает двери для множества улучшений. Вот над чем мы работаем дальше:

  • Режим полной сборки (экспериментально): Этот режим собирает модули во время разработки аналогично продакшен-сборкам. Предварительные результаты показывают ускорение запуска сервера в 3 раза, ускорение полной перезагрузки на 40% и сокращение сетевых запросов в 10 раз. Это особенно важно для крупных проектов, где подход без бандлинга упирается в лимиты масштабирования.

  • Передача «сырого» AST: Позволяет JS-плагинам получать доступ к AST, созданному в Rust, с минимальными затратами на сериализацию, сокращая разрыв в производительности между нативным кодом Rust и JS-плагинами.

  • Нативные трансформации MagicString: Позволяет создавать кастомные трансформации, где логика находится в JavaScript, но вычисления по манипуляции строками выполняются в Rust.

  • Стабилизация Environment API: Мы работаем над тем, чтобы сделать Environment API стабильным. Сообщество начало регулярные встречи для более эффективного взаимодействия.

Миграция на Vite 8

Для большинства проектов обновление до Vite 8 должно пройти гладко. Мы создали слой совместимости, который автоматически конвертирует существующие конфигурации esbuild и rollupOptions в эквиваленты для Rolldown и Oxc, поэтому многие проекты заработают без изменений в конфиге.

Для крупных или сложных проектов мы рекомендуем постепенный путь миграции: сначала перейдите с vite на пакет rolldown-vite в рамках Vite 7, чтобы изолировать любые проблемы, специфичные для Rolldown, а затем обновляйтесь до Vite 8. Этот двухэтапный подход позволяет легко понять, вызваны ли проблемы сменой бандлера или другими изменениями в Vite 8.

Пожалуйста, ознакомьтесь с подробным Руководством по миграции перед обновлением. Полный список изменений доступен в Vite 8 Changelog.

Спасибо, Rollup и esbuild

Поскольку Vite переходит на Rolldown, мы хотим выразить глубокую благодарность двум проектам, которые сделали Vite возможным.

Rollup был бандлером Vite для продакшена с самого начала. Его элегантный дизайн API плагинов оказался настолько удачным, что Rolldown перенял его, и вся экосистема плагинов Vite существует благодаря фундаменту, заложенному Rollup. Качество и продуманность архитектуры Rollup сформировали то, как Vite видит расширяемость. Спасибо Ричу Харрису за создание Rollup, а также Лукасу Тегерт-Аткинсону и всей команде Rollup за его поддержку и развитие.

esbuild обеспечивал невероятно быструю работу Vite в режиме разработки с первых дней: предварительная сборка зависимостей, трансформации TypeScript и JSX, которые занимали миллисекунды. esbuild доказал, что инструменты сборки могут быть на порядки быстрее, и его скорость задала планку, вдохновившую целое поколение инструментов на базе Rust и Go. Спасибо Эвану Уоллесу за то, что показал всем нам, что это возможно.

Без этих двух проектов Vite не существовал бы в том виде, в каком он есть сейчас. Даже когда мы движемся вперед с Rolldown, влияние Rollup и esbuild глубоко укоренено в ДНК Vite. Узнать больше о проектах и людях, от которых зависит Vite, можно на нашей странице Благодарностей.

Благодарности

Работу над Vite 8 возглавили sapphi-red и команда Vite при помощи широкого сообщества контрибьюторов, мейнтейнеров и авторов плагинов. Мы хотим поблагодарить команду Rolldown за тесное сотрудничество. Мы также особенно благодарны всем, кто участвовал в превью rolldown-vite и бета-периоде Vite 8. Ваше тестирование и отзывы сделали миграцию на Rolldown возможной.

Vite представлен вам компанией VoidZero в партнёрстве с Bolt и NuxtLabs. Мы также благодарим наших спонсоров в Vite GitHub Sponsors и Vite Open Collective.