ByteDance выпустила новую версию своего JavaScript-бандлера Rspack 2.0 — производительность сборки увеличилась на 100% по сравнению с предыдущими версиями, что значительно ускорит процесс разработки.
Что нового в Rspack 2.0
Rspack 2.0 предлагает ряд нововведений, включая чистое ядро ESM, поддержку экспериментальных компонентов сервера React и усовершенствованный статический анализ для меньших пакетов. Данные нововведения позволяют разработчикам легко оптимизировать свои проекты без стресса от сложных конфигураций
С момента выхода Rspack 1.0 количество загрузок на npm выросло с 100,000 до более чем 5 миллионов в неделю. По данным командных бенчмарков, Rspack 2.0 обеспечивает сборку на 10% быстрее, чем версия 1.7, и в 2 раза быстрее, чем версия 1.0. Например, сборка крупного React-проекта из 10,000 компонентов сократилась с 5.6 секунд до 1.4 секунд благодаря кэшированию.
Снижение зависимости и влияние на экосистему
Эта версия также отличилась значительным снижением количества зависимостей — пакет @rspack/dev-server уменьшился с 192 до 1, а размер установки сократился с 15 МБ до 1.4 МБ. Это событие не осталось незамеченным: разработчики на Hacker News отметили, что уменьшение зависимостей свидетельствует о новой философии в развитии Rspack, способствующей более стабильной цепочке поставок.
С версии 2.0 поддержка ESM приходит на смену CommonJS, что упрощает работу с модулями. Можно будет использовать import.meta и улучшенные библиотеки ESM. Рекомендуемая версия Node.js для работы с Rspack 2.0 — 20.19 или 22.12, а сообщества на Reddit уже указывают на сравнение с Webpack, ссылаясь на 95% совместимости конфигураций.
Практическое значение обновления
Для разработчиков Rspack 2.0 предоставляет реальные преимущества в скорости и легкости конфигурации, которые могут повысить эффективность работы своих команд. С учётом растущего числа загрузок и улучшений в производительности, обновление может повлиять на выбор инструментов среди JavaScript-команд.
С дальнейшим развитием Rspack и усовершенствованием функционала, мы можем ожидать новых возможностей, которые помогут разработчикам создавать эффективные и современные приложения.