
13 марта 2026 года вышла новая мажорная версия инструмента для сборки фронтенд‑приложений — Vite 8. Главным изменением стал переход на новый бандлер Rolldown, написанный на Rust. Теперь Vite использует единый инструмент вместо связки esbuild и Rollup, что позволяет значительно ускорить сборку — по заявлениям разработчиков, в некоторых проектах прирост достигает 10–30 раз. Это самое значительное изменение архитектуры Vite со времени выхода Vite 2.
Кроме того, в релизе появились встроенные devtools, улучшенная поддержка TypeScript, новые возможности для SSR и ряд изменений в экосистеме плагинов. На основе поста в официальном блоге Vite 8 разберём ключевые нововведения и их влияние на будущее разработки.
The Rolldown-Powered Vite
Проблема
С самых первых версий Vite использовал два отдельных пакета для удовлетворения различных потребностей. esbuild обеспечивал быструю компиляцию во время разработки (предварительная компиляция зависимостей и преобразование TypeScript/JSX), что делало процесс разработки мгновенным. Rollup обеспечивал компиляцию, разбиение на фрагменты и оптимизацию, а богатый API поддерживал всю экосистему плагинов Vite.
Этот подход с двумя пакетирующими программами хорошо служил Vite в течение многих лет. Он позволял сосредоточиться на опыте разработчиков и оркестрации, а не на переосмыслении парсинга и пакетирования с нуля. Но это решение имело свои минусы. Два отдельных конвейера для преобразования означали две отдельные системы плагинов и растущее количество связующего кода, необходимого для синхронизации двух конвейеров. Со временем накапливались различные пограничные случаи, связанные с различиями в обработке модулей. Каждое исправление, направленное на выравнивание поведения одного конвейера, могло привести к новым расхождениям в другом.
Решение
Rolldown — это бандлер на основе Rust, созданный командой VoidZero для решения этих проблем. Его особенности:
Производительность. Rolldown написан на Rust и работает с нативной скоростью. Согласно тестам он в 10–30 раз быстрее Rollup и достигает уровня производительности esbuild.
Совместимость. Rolldown поддерживает тот же API для плагинов, что и Rollup и Vite. Большинство существующих плагинов Vite работают с новой версией без дополнительных настроек.
Расширенные функции. Единый унифицированный бандлер открывает возможности, которые были затруднительны или невозможны при использовании двух бандлеров, включая полный режим бандла, более гибкое разделение на фрагменты, постоянное кэширование на уровне модулей и поддержку Module Federation.
Путь к стабильности
Переход на Rolldown был обдуманным и, по сути, его инициировало сообщество. Сначала команда выпустила отдельный пакет rolldown-vite в качестве технического превью. Это позволило первым пользователям протестировать интеграцию Rolldown без влияния на стабильную версию Vite.
Отзывы этих первых пользователей были очень важны. Они протестировали интеграцию на реальных кодовых базах всех форм и размеров, выявив крайние случаи и проблемы совместимости, которые смогли решить до более широкого выпуска. Разработчики также создали специальный набор CI для проверки ключевых плагинов и фреймворков Vite на совместимость с новым пакетом, что позволило выявить регрессии на ранней стадии и укрепить уверенность в пути миграции.
В декабре 2025 года команда выпустила бета-версию Vite 8 с полной интеграцией 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.
Поддержка Node.js
Vite 8 требует то же самое, что и Vite 7 — Node.js 20.19+, 22.12+. Эти диапазоны гарантируют, что Node.js поддерживает require(esm) без флага, что позволяет Vite распространяться только как ESM.
Дополнительные функции
Кроме интеграции с Rolldown Vite 8 включает несколько примечательных функций:
Интегрированные Devtools. Vite 8 поставляется с опцией
devtools, позволяющей включить Vite Devtools — инструмент для отладки и анализа. Vite Devtools предоставляет более глубокий анализ проектов на базе Vite прямо с сервера разработчика.Встроенная поддержка путей tsconfig. Разработчики могут включить разрешение алиасов путей TypeScript, установив
resolve.tsconfigPathsв значение true. Это немного снижает производительность и по умолчанию не включено.Поддержка emitDecoratorMetadata. Vite 8 теперь имеет встроенную автоматическую поддержку опции emitDecoratorMetadata для TypeScript, что устраняет необходимость во внешних плагинах. Подробности см. на странице «Функции».
Поддержка Wasm SSR. Импорт
.wasm?initтеперь работает в средах SSR, расширяя функцию WebAssembly Vite до серверного рендеринга.Переадресация консоли браузера. Vite 8 может переадресовывать логи и ошибки консоли браузера на терминал сервера разработки. Это особенно полезно при работе с агентами кодирования, поскольку ошибки клиента во время выполнения становятся видимыми в выводе 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 открывает возможности для улучшений и оптимизации. Вот над чем команда работает в настоящее время:
Full Bundle Mode (экспериментальный): этот режим объединяет модули во время разработки, аналогично производственным сборкам. Предварительные результаты показывают, что запуск сервера разработки происходит в 3 раза быстрее, полная перезагрузка — на 40 % быстрее, а количество сетевых запросов уменьшается в 10 раз. Это особенно важно для крупных проектов, где подход без объединения модулей достигает пределов масштабируемости.
Передача необработанного AST: позволяет плагинам JavaScript получать доступ к AST, созданному Rust, с минимальными затратами на сериализацию, устраняя разрыв в производительности между внутренними компонентами Rust и кодом плагинов JS.
Нативные преобразования MagicString: позволяют выполнять пользовательские преобразования, когда логика находится в JavaScript, но вычисления по манипулированию строками выполняются в Rust.
Стабилизация API среды: разработчики работают над стабилизацией API среды. Экосистема начала проводить регулярные встречи для более эффективного сотрудничества.
Переход на Vite 8
Для большинства проектов переход на Vite 8 должен пройти гладко. Разработчики создали уровень совместимости, который автоматически преобразует существующие настройки esbuild и rollupOptions в их эквиваленты Rolldown и Oxc, поэтому многие проекты будут работать без каких-либо изменений в настройках.
Для более крупных или сложных проектов рекомендуется постепенный переход: сначала переключитесь с vite на пакет rolldown-vite в Vite 7, чтобы изолировать любые проблемы, связанные с Rolldown, а затем обновитесь до Vite 8. Этот двухэтапный подход позволяет легко определить, связаны ли какие-либо проблемы с изменением пакета или с другими изменениями в Vite 8.
Перед обновлением ознакомьтесь с подробным руководством по миграции. Полный список изменений находится в Vite 8 changelog.
В заключение
Vite 8 стал одним из самых значимых обновлений инструмента за последние годы. Переход на Rolldown не только значительно ускоряет сборку, но и упрощает архитектуру, объединяя процесс разработки и продакшн‑сборки вокруг одного бандлера. При этом сохраняется совместимость с существующей экосистемой плагинов, что делает обновление относительно безопасным для большинства проектов.
Экосистема Vite продолжает активно расти, а сам инструмент всё чаще используется в крупных проектах и популярных фреймворках. Благодаря высокой производительности, современному стеку инструментов и тесной интеграции с новыми технологиями, Vite 8 укрепляет свою роль как одного из ключевых инструментов современной фронтенд‑разработки.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
