HeadlinesBriefing favicon HeadlinesBriefing.com

Компилятор Rust React нативно в Vite

Hacker News •
×

После выпуска командой oxc официальной поддержки компилятора Rust React 4 августа 2026 года мы перевели нашу кодовую базу React Router из 1036 файлов (Outlyne, конструктор веб-сайтов) на него и увидели ускорение примерно в 17,6 раза в части компилятора нашей сборки. Релиз v6.1.0 @vitejs/plugin-react принес «экспериментальную нативную поддержку компилятора React», которую вы можете включить, передав { compiler: true } плагину в вашей конфигурации Vite. А для тех, кто не может использовать плагин Vite React (например, если вы, как и мы, используете React Router в режиме фреймворка), @acusti/vite-plugin-react-compiler — это минимальный плагин Vite для компиляции вашей кодовой базы с React независимо от остальной части вашего конвейера сборки.

Более быстрые сборки = более счастливые разработчики + более дешевый CI. Главная особенность — ускорение. По словам Boshen, руководителя проекта oxc: Это более чем в 10 раз быстрее, чем Babel, в нашем предварительном бенчмарке. Мы увидели ускорение более чем в 17 раз: 1036 файлов перешли с 14,3 секунды при сборке с Babel до 0,81 секунды нативно (однопоточный режим). Это огромно для нас, потому что при разработке программного обеспечения с помощью агентов использование CI и минуты GitHub Actions стали реальным центром затрат. Обратите внимание, что эти ускорения применимы только к части компилятора; общее время сборки улучшилось примерно в 2,4 раза (22,1 с → 9,3 с).

Несмотря на то, что скорость является заголовком, я больше взволнован преимуществами использования последней версии компилятора React, которая исправила существенные ограничения в поддержке JavaScript, включая условную логику в блоках try/catch, переназначение деструктурированных пропсов, используемых во вложенных замыканиях, и вычисляемые ключи свойств объектов. Эти исправления расширяют совместимость компилятора на семь дополнительных функций. Тем не менее, ограничения остаются: выбрасывание из блока try и логические операторы присваивания (??=, &&=, ||=) вызывают пропуски, но компилятор Rust получит эти исправления, когда они появятся.

Наконец, мой полный инструментарий теперь использует ту же версию компилятора React с эквивалентной поддержкой функций, избегая пробелов в покрытии после принятия поддержки компилятора React от Oxlint.

Ключевые сущности: Компании: oxc, Outlyne, Vite, Babel | Люди: Boshen