Babel 8 переходит к кандидату на релиз; финальная минорная версия Babel 7 выпущена (31 января 2026 года)
Резюме
31 января 2026 года команда Babel опубликовала 7.29.0 (отмеченную как последнюю минорную версию в линии Babel 7) и одновременно выпустила Babel 8.0.0-rc.1 — первый кандидат на релиз для Babel 8. Этот RC завершает набор разрушительных изменений, направленных на устранение давнего технического долга (в частности, выпуск Babel 8 только в формате ESM) и включает ресурсы миграции, чтобы помочь авторам плагинов и интеграторам сборочных инструментов безопасно обновиться. (babeljs.io)
Почему это важно для команд полного стека
- Babel остается центральным элементом современных сборочных конвейеров JavaScript/TypeScript. Стабильный Babel 8 (только ESM) изменяет способ публикации и потребления инструментов, плагинов и серверных интеграций.
- Упаковка только для ESM затрагивает любого потребителя, который требует пакеты Babel через вызовы CommonJS require(); код во время сборки и выполнения, который импортирует внутренности Babel (для трансформаций, плагинов или пользовательских шагов сборки), должен перейти на ESM import или использовать интероп-шимы.
- Авторы плагинов и пресетов должны публиковать совместимые с ESM пакеты и проверять свои API на соответствие Babel 8 RC. CI-пайплайны, которые фиксируют версии или зависят от артефактов CommonJS, потребуют корректировок во время миграции.
- Блог Babel подчеркивает конкретные улучшения сборочных инструментов для автономного дистрибутива (атрибут data-target для @babel/standalone) и асинхронный API для лучшей интеграции в браузерные трансформации и потоки инструментов. Это может упростить некоторые трансформации на dev-сервере и в браузере, но также требует обновленных вызовов. (babeljs.io)
Ключевые изменения, которые нужно знать (практический взгляд)
- Babel 8 — это только ESM: основные пакеты будут поставляться как ESM, без вывода сборки CommonJS по умолчанию. Ожидайте использования стиля import и современного разрешения модулей как поддерживаемого пути. (babeljs.io)
- Ресурсы миграции: команда Babel опубликовала руководство по миграции и сайт документации для Babel 8 (размещенный на домене "next" для документации) и представила codemods / рекомендации для облегчения перехода. Прочитайте их перед обновлением сборочных образов или CI-раннеров. (babeljs.io)
- Обновления @babel/standalone: новый атрибут data-target позволяет указывать цели трансформации в HTML-тегах скриптов; @babel/core теперь предоставляет асинхронный API, который можно использовать в сценариях инструментов на основе браузера — полезно для инструментов живого кодирования и встроенных редакторов. (babeljs.io)
- Последняя минорная версия Babel 7: 7.29.0 публикуется как финальная минорная версия в линии 7.x; команды, которым необходимо избежать разрушительных изменений, могут оставаться на ветке 7.x, планируя миграцию. Команда Babel явно позиционировала это как последний выпуск небольшого шага перед базовой версией 8.x. (babeljs.io)
Немедленный контрольный список для инженерных команд (рекомендуется, приоритетно)
-
Инвентаризация
- Найдите любые прямые импорты @babel/* пакетов во время выполнения или сборки (включая плагины, внутренности пресетов, обертки для трансформации).
- Определите код, который вызывает require('@babel/core') или полагается на интероп CommonJS для внутренних компонентов Babel.
-
Тестирование с RC (в форке/ветке и CI)
- Добавьте задачу, которая устанавливает 8.0.0-rc.1 и выполняет полные сборки и тестовые наборы.
- Проверьте серверные среды выполнения и сборочные образы (версии Node, конфигурации сборщиков) на поддержку ESM в контейнерах CI.
-
Обновление библиотек плагинов и внутренних инструментов
- Для открытых или внутренних плагинов/пресетов Babel опубликуйте точки входа ESM и проверьте примеры.
- Если пакет должен оставаться CommonJS, добавьте явные интероп-шимы или небольшую обертку совместимости (только на короткий срок).
-
Корректировка CI и образов выполнения
- Убедитесь, что образы Node и инструменты, используемые в CI, поддерживают ESM-паттерны, которые вы планируете использовать (синтаксис импорта, package.json "type": "module" или совместимые загрузчики).
- Зафиксируйте Babel 7.x в каналах срочного производства, пока вы не подтвердите RC в тестировании.
-
Коммуникация и планирование
- Скоординируйте обновления для последующих потребителей (фронтенд, SSR, серверные инструменты).
- Выделите время для авторов плагинов и инфраструктуры для тестирования и публикации исправлений; ожидайте, что в начале цикла RC появится несколько несовместимых компонентов экосистемы.
Риски и заметки по миграции
- Большинство крупных сборщиков и фреймворков готовятся к экосистемам с приоритетом ESM; однако более мелкие или устаревшие внутренние инструменты могут сломаться. Тестируйте заранее и приоритизируйте высоконагруженные конвейеры (CD, сборки SSR).
- Поскольку Babel ввел много разрушительных изменений за флагами в предыдущих релизах 7.x, команда старалась уменьшить шок — тем не менее, ожидайте небольшие различия в API и необходимость повторной публикации в формате ESM. Используйте предоставленное руководство по миграции и codemods, где это возможно. (babeljs.io)
Итог
Достижение Babel 8 RC1 является важной вехой в инструментах: оно завершает долгожданную очистку в сторону экосистемы с приоритетом ESM и открывает практическое окно миграции для авторов плагинов, сборщиков и команд полного стека. Рассматривайте RC как реальную цель тестирования: запускайте его в CI, обновляйте критически важные плагины заранее и сохраняйте фиксированную ветку Babel 7.x для производства, пока вы не подтвердите производительность и совместимость в ваших сборочных и серверных средах. (babeljs.io)
Источник: Блог Babel — 7.29.0 (последняя минорная версия Babel 7) и Babel 8.0.0-rc.1 (31 января 2026 года). (babeljs.io)
Источник
Читать дальше
Svelte 5.52.0 добавляет поддержку TrustedHTML для {@html}, обеспечивая более безопасную интеграцию Trusted Types
21 февраля 2026 г.Svelte 5.52.0 (18 февраля 2026 г.) добавляет поддержку TrustedHTML для выражений {@html}, чтобы приложения могли взаимодействовать с браузерными Trusted Types без приведения к строке — важно для защиты от XSS в SSR и при рендеринге на клиенте.
Next.js 16 делает Turbopack стабильным и дефолтным для разработки и сборки
20 февраля 2026 г.Next.js 16 переводит Turbopack в стабильную/дефолтную настройку, поднимает минимальную версию Node.js и внедряет примитивы кэширования, ориентированные на продакшн — что должны изменить команды full‑stack прямо сейчас.
Vite 8.0.0‑beta.14 добавляет поддержку .wasm?init на стороне сервера (WASM SSR) и обновляет Rolldown до 1.0.0‑rc.4
19 февраля 2026 г.Бета‑версия Vite от 12 февраля 2026 года вводит поддержку SSR для предварительно инициализированных модулей WebAssembly и обновляет интеграцию Rolldown до 1.0.0‑rc.4 — практическое изменение, которое снижает нагрузку на гидратацию на клиенте и улучшает стабильность инструментов для серверных рендеров с интенсивным использованием Wasm.