Vite переходит на Rolldown: что сейчас должны сделать команды полного стека
Официальная документация Vite теперь описывает интеграцию с Rolldown — сборщиком на основе Rust, разработанным как совместимый с Rollup, высокопроизводительный заменитель предыдущей сборочной цепочки Vite на основе esbuild и Rollup. Это преднамеренное изменение на уровне платформы, которое затрагивает производственные сборки, поведение dev-сервера, API плагинов и минимальные целевые версии Node/браузеров; команды должны рассматривать это как стратегическую миграцию инструментов, а не как незначительное обновление. (vite.dev)
Почему это важно (практическое воздействие)
- Время сборки в производственной среде: Rolldown разработан для значительно более быстрых полных сборок, чем старая комбинация Rollup/esbuild. Ожидайте сокращения времени сборки в CI (часто значительные) и уменьшения использования памяти для больших монорепозиториев.
- Определенность и меньше ошибок «работает в dev / ломается в prod»: использование единой цепочки инструментов на Rust для разбора/трансформации/минификации уменьшает различия между инструментами.
- Изменения в плагинах и трансформациях: некоторые хуки плагинов и поведение минификаторов изменяются (трансформации/минификация на основе Oxc заменяют предыдущее поведение). Тесты, которые полагались на трансформации esbuild или крайние случаи плагинов Rollup, могут не пройти.
- Новые базовые целевые версии и поддержка Node: документация Vite обновляет целевые браузеры по умолчанию и исключает Node 18; теперь Vite требует современный Node 20.19+ / 22.12+ (проверьте свои образы CI). (vite.dev)
Непосредственные приоритеты для команд полного стека
- Инвентаризация и базовая линия
- Запишите текущую версию Vite, список плагинов, пользовательские параметры Rollup и использование esbuild.
- Измерьте базовую линию: время холодной сборки CI, холодный старт dev-сервера и размер представительной производственной сборки.
- Обновите образы CI и разработчиков
- Убедитесь, что образы CI/сборки используют поддерживаемую версию Node (20.19+ или 22.12+). Если вы фиксируете образы, обновите их перед обновлением Vite.
- Создайте безопасную ветку миграции
- Обновите Vite в ветке функций и запустите полное CI. Не обновляйте в основной ветке, пока не завершится проверка.
- Запустите автоматизированные тестовые наборы и сквозные тесты
- Приоритизируйте тесты, охватывающие SSR, разбиение кода, manualChunks и любые трансформации, управляемые плагинами.
- Проверьте плагины и пользовательскую логику Rollup
- Замените устаревшие хуки; протестируйте сторонние плагины. Если плагин зависит от внутренних механизмов esbuild, замените его или используйте другой.
- Исходные карты, минификация и вывод активов
- Сравните исходные карты и выводы минификаторов. Минификация на основе Oxc может отличаться — проверьте трассировки стека, точность исходных карт и окончательные сжатые размеры.
- Проверка dev-сервера / HMR
- Проверьте поведение HMR, предварительную сборку зависимостей и хуки промежуточного ПО dev-сервера. Некоторые ранее принятые шаблоны могут потребовать незначительных изменений.
- Постепенный rollout
- Используйте канареечный или поэтапный релиз для производственных сборок (например, создайте внутреннюю предварительную среду), прежде чем переключать все конвейеры.
Конкретный контрольный список (по шагам)
- Шаг 0: Резервное копирование файлов блокировок (package-lock.json / pnpm-lock.yaml / yarn.lock).
- Шаг 1: Зафиксируйте Vite на предполагаемой версии 8.x beta/stable в package.json, чтобы сохранить воспроизводимость CI.
- Шаг 2: Обновите Node в локальных и CI образах до как минимум Node 20.19 (или 22.12+ для долгосрочной совместимости).
- Шаг 3: Запустите npm ci / pnpm install и соберите локально; зафиксируйте время + память.
- Шаг 4: Запустите полные модульные + интеграционные тесты. Добавьте целевые тесты для точек входа SSR и конечных точек серверных функций.
- Шаг 5: Проверьте предупреждения плагинов или сообщения об устаревании во время сборки; устраните их (обновите или замените плагины).
- Шаг 6: Проверьте артефакты (хеши пакетов, исходные карты, имена активов) и выполните канаречный деплой.
- Шаг 7: Мониторьте производственные логи и метрики производительности на наличие регрессий в течение 24–72 часов, затем полностью разверните.
Области риска и меры по их снижению
- Сломанные плагины: поддерживайте форк или замену, если плагин не поддерживается. Начните с использования официального списка плагинов Vite и замен от сообщества.
- Различия в минификаторах: если трассировки стека или размеры байтов изменяются, протестируйте оба минификатора рядом, чтобы решить, следует ли корректировать генерацию исходных карт или оставить шаг совместимости.
- Лицензирование / коммерческие предложения: следите за дополнительными коммерческими слоями в связанных экосистемах (оцените закупки и соответствие, если планируете использовать инструменты поставщиков, упакованные с Rolldown). (Примечание: рассматривайте это как решение организационной политики.)
- Гигиена цепочки поставок: поскольку вводятся новые нативные бинарные файлы (связки, построенные на Rust), проверьте правила кэша CI и проверьте контрольные суммы бинарных файлов; поддерживайте белый список для необходимых нативных связок.
Почему стоит инвестировать время сейчас
- Более быстрые итерации CI и разработчиков напрямую приводят к меньшему количеству заблокированных PR и снижению затрат на облачные сборки.
- Сведение к единой поддерживаемой цепочке инструментов (парсер → трансформатор → минификатор → сборщик) уменьшает трудноотлаживаемые несоответствия между инструментами и долгосрочную поверхность обслуживания.
- Ранние последователи получают наибольшие выгоды в монорепозиториях и приложениях с высокой сложностью производственной сборки.
Рекомендуемая временная шкала для команд
- Малые приложения (1–2 поддерживающих): 1–2 недели для проверки и развертывания (после обновлений Node).
- Средние команды (несколько сервисов): 2–4 недели для поэтапной миграции (CI, плагины, проверки SSR).
- Большие организации/монорепозитории: рассматривайте это как миграцию платформы на квартал — координируйте работу между командами, запускайте параллельные канаречные конвейеры и выделяйте небольшую рабочую группу для совместимости плагинов и обновлений политики.
Итог Интеграция Vite с Rolldown является значительным изменением инструментов с реальным приростом производительности для команд полного стека — но она требует запланированной, основанной на тестах миграции: обновите Node, зафиксируйте версии, проверьте плагины и минификаторы и развертывайте постепенно. Рассматривайте это как миграцию платформы (образы CI, дополнительные нативные связки и производственные канарейки), и вы сможете превратить экономию времени сборки в продуктивность разработчиков и более надежные производственные сборки. (vite.dev)
Источник: Vite — Интеграция с Rolldown (официальная документация).
Источник
Читать дальше
Изменения в FedCM в Chrome 143: структурированные утверждения ID, более строгие метаданные клиента и обновления API
31 января 2026 г.Chrome 143 (опубликован 12 января 2026 года) изменяет поток идентификации FedCM: токены утверждения ID могут быть структурированным JSON, проверка client_metadata становится обязательной, и несколько полей API перемещаются/переименовываются — требуется миграция перед Chrome 145.
Undici CVE-2026-22036: неограниченная цепочка декомпрессии приводит к исчерпанию ресурсов — выпущены патчи
30 января 2026 г.14 января 2026 года в уведомлении о безопасности для undici (HTTP-клиент Node.js) описывается уязвимость неограниченной цепочки декомпрессии, которая может привести к высокому использованию CPU и памяти. Команды полного стека должны найти и обновить затронутые версии undici и добавить легкие защитные меры на уровне выполнения.
Уязвимость CSRF в Server Actions React Router / Remix (CVE-2026-22030)
29 января 2026 г.React Router и @remix-run/server-runtime устранили проблему CSRF средней степени серьезности, затрагивающую обработчики действий на стороне сервера и нестабильные действия сервера React — что полностековым командам необходимо проверить и исправить сейчас.