Babel

Babel — свободный транскомпилятор (source-to-source compiler) с открытым исходным кодом для JavaScript, предназначенный для преобразования кода ECMAScript 2015+ в обратно совместимый JavaScript, работающий в средах, не поддерживающих новейшие возможности языка[2][3].

Общие сведения
Babel
англ. Babel
Область использования Веб-разработка, JavaScript
Дата появления 28 сентября 2014[1]
Место появления Австралия[1]
Автор понятия Себастьян Маккензи[1]

Определение

Babel реализует процесс «транспиляции» — построчного преобразования исходного кода, написанного на одной редакции языка, в эквивалентный код другой редакции. Основные цели инструмента:

  1. обеспечить кроссбраузерную совместимость современных возможностей JavaScript;
  2. позволить разработчику использовать предложения стандарта, ещё не получившие нативной поддержки;
  3. автоматизировать добавление полифиллов недостающих API;
  4. предоставить гибкую архитектуру плагинов для любых дополнительных трансформаций[4].

2014: Создание и ранние годы

Проект был создан 28 сентября 2014 года австралийским программистом Себастьяном Маккензи, который на тот момент был школьником в последнем классе. Изначально инструмент носил название 6to5, что отражало его основную функцию — преобразование кода со стандарта ECMAScript 6 (ES2015) в обратно совместимый ECMAScript 5, который поддерживался большинством браузеров того времени[5]. Сам Маккензи начал разработку с целью лучше изучить новые возможности языка. В декабре 2014 года он переехал в Сидней и присоединился к компании Thinkmill, где продолжил работу над проектом.

2015: Ребрендинг и Babel 6

2015 год стал поворотным в развитии проекта. 15 февраля 2015 года инструмент был официально переименован из «6to5» в Babel[6]. Это изменение отражало расширение миссии: Babel позиционировался уже не просто как транспайлер из ES6 в ES5, а как универсальная платформа для создания инструментов для JavaScript[6].

31 марта состоялся релиз Babel 5.0, который представил официальный API для плагинов и поддержку файла конфигурации `.babelrc` для централизованной настройки проекта[7]. Кроме того, инструмент начал придерживаться стадий предложений комитета TC39, включая по умолчанию возможности, достигшие стадии 2 и выше, а также добавил поддержку экспериментальных функций из предложений к ES7, таких как декораторы и свойства классов[7].

В июле 2015 года создатель проекта Себастьян Маккензи присоединился к компании Facebook, чтобы работать над Babel полный рабочий день[8].

29 октября 2015 года был выпущен Babel 6.0, ставший самым значительным обновлением в истории проекта[9]. Эта версия принесла с собой радикальные архитектурные изменения:

  • Модульная архитектура: Babel был полностью переписан и разделён на множество небольших, независимых пакетов в npm[8];
  • Отказ от трансформаций по умолчанию: В отличие от предыдущих версий, Babel 6 «из коробки» перестал выполнять какие-либо преобразования кода, превратившись в настраиваемую платформу[8];
  • Введение пресетов (presets): Для упрощения настройки была добавлена концепция пресетов — готовых наборов плагинов. Например, для трансформации синтаксиса ECMAScript 2015 стало достаточно подключить пресет `babel-preset-es2015`[10];
  • Оптимизация производительности: Новая архитектура позволила объединять все плагины в один проход по синтаксическому дереву, что значительно улучшило скорость компиляции[9].

2016: Появление babel-preset-env

В 2016 году развитие Babel было направлено на расширение функциональности и превращение его в полноценную платформу для работы с JavaScript. В версии 6.13.0 появилась возможность передавать опции в пресеты, что сделало их конфигурацию более гибкой. В августе, с выходом версии 6.14.0, были представлены пресеты для стандарта ES2017 (включая поддержку async/await) и latest, который объединял все актуальные на тот момент годовые пресеты (ES2015, ES2016, ES2017)[11].

В августе 2016 года был представлен Babili (позже переименованный в babel-minify) — минификатор кода, основанный на плагинной архитектуре Babel. Это позволило использовать инструмент не только для компиляции, но и для оптимизации размера JavaScript-кода.

Ключевым событием года стал выпуск в сентябре babel-preset-env. Этот пресет кардинально изменил подход к настройке, позволив автоматически определять необходимые плагины и полифиллы на основе списка целевых браузеров или сред выполнения (например, определённой версии Node.js). Впоследствии он заменил собой пресеты, ориентированные на конкретный год (такие как `es2015`, `es2016` и `latest`), и стал рекомендуемым способом конфигурации Babel[12].

2017: Подготовка к Babel 7

2017 год стал для проекта периодом планирования и разработки следующей крупной версии — Babel 7[13]. Хотя работа над обновлением началась ещё в феврале, ключевые изменения были официально анонсированы 12 сентября 2017 года в публикации «Planning for 7.0» («Планирование версии 7.0»)[14].

Основные анонсированные нововведения включали[13][14]:

  • Переход на пространство имён @babel: перенос всех официальных пакетов в npm-скоуп `@babel` (например, `babel-core` становился `@babel/core`);
  • Поддержка TypeScript: возможность компиляции кода на TypeScript с помощью нового пресета `@babel/preset-typescript`;
  • Новый файл конфигурации: введение `babel.config.js` для централизованной настройки, решающего проблемы с конфигурацией в монорепозиториях;
  • Отказ от годовых и экспериментальных пресетов: прекращение поддержки пресетов `preset-es2015`, `preset-es2017` и `stage-x` в пользу универсального `@babel/preset-env`;
  • Утилита для обновления: создание инструмента `babel-upgrade` для автоматизации миграции проектов на новую версию;
  • Повышение производительности: значительное внимание было уделено оптимизации скорости сборки;

Таким образом, 2017 год прошёл под знаком подготовки к масштабному обновлению, которое заложило основу для релиза Babel 7 в 2018 году.

2018: Релиз Babel 7

27 августа 2018 года, после двух лет разработки, состоялся релиз Babel 7. Это обновление стало результатом работы, включившей около 4000 коммитов и более 50 предварительных версий. Babel 7 представил множество архитектурных улучшений и новых возможностей:

  • Поддержка TypeScript: Появилась нативная возможность компиляции кода на TypeScript с помощью нового пресета `@babel/preset-typescript`. Это нововведение стало результатом сотрудничества с командой разработчиков TypeScript;
  • Пространство имён @babel: Все официальные пакеты были перенесены в npm-скоуп `@babel` (например, `babel-core` стал `@babel/core`), что улучшило управление зависимостями;
  • Новый файл конфигурации: Был представлен файл `babel.config.js`, который решил проблемы с настройкой в монорепозиториях и сложных проектах;
  • Отказ от годовых и экспериментальных пресетов: Была прекращена поддержка пресетов, привязанных к году стандарта (`preset-es2015`, `preset-es2017`), и экспериментальных пресетов (`stage-x`). Основным инструментом для настройки стал `@babel/preset-env`;
  • Утилита для обновления: Для упрощения перехода с 6-й версии была создана утилита `babel-upgrade`, автоматизирующая обновление конфигурационных файлов и зависимостей;
  • Повышение производительности: Скорость сборки была значительно увеличена благодаря оптимизации кода и интеграции патчей от команды движка V8;
  • Прекращение поддержки старых версий Node.js: Была прекращена поддержка версий Node.js 0.10, 0.12, 4 и 5;
  • Поддержка JSX Fragments и макросов: Была добавлена поддержка синтаксиса фрагментов React и представлена система макросов.

2019: Поддержка core-js 3 и новых возможностей языка

В 2019 году команда Babel выпустила несколько значительных обновлений (с версии 7.4.0 по 7.7.0), добавив поддержку новых возможностей JavaScript и TypeScript, а также улучшив существующие инструменты[15].

Babel 7.4.0 (март 2019)

  • Одним из главных изменений стал переход на core-js 3. В связи с этим пакет @babel/polyfill был объявлен устаревшим в пользу прямого импорта core-js/stable и regenerator-runtime/runtime[16];
  • Была добавлена поддержка статических приватных методов в классах, предложения по частичному применению функций и обеспечена совместимость с TypeScript 3.4[17].

Babel 7.5.0 (июль 2019)

  • Выпущен официальный плагин для динамического import(), который также был включён по умолчанию в @babel/preset-env[18];
  • Добавлена экспериментальная поддержка пространств имён (namespace) из TypeScript[18].

Babel 7.6.0 (сентябрь 2019)

Babel 7.7.0 (ноябрь 2019)

  • В парсер была добавлена поддержка top-level await[15];
  • Реализована поддержка возможностей TypeScript 3.7, включая опциональные цепочки (?.) и оператор нулевого слияния (??)[15];
  • Добавлена поддержка новых форматов файлов конфигурации, таких как babel.config.json[15];
  • Потребление памяти было снижено на 20 % по сравнению с предыдущей версией[15].

2020: Интеграция ES2020 и подготовка к Babel 8

В 2020 году развитие Babel было сосредоточено на интеграции стандарта ES2020 и улучшении существующих инструментов. В январе вышел Babel 7.8.0, который по умолчанию включил в @babel/preset-env поддержку возможностей ES2020, таких как опциональные цепочки (?.), оператор нулевого слияния (??) и динамический import()[20]. В марте состоялся релиз Babel 7.9.0, который представил новый JSX-трансформер, разработанный в сотрудничестве с командой React, и добавил поддержку TypeScript 3.8[21].

В течение года началась активная подготовка к следующей мажорной версии. В январе 2020 года команда проекта официально объявила о начале работы над Babel 8[20], а для отслеживания планируемых критических изменений была создана специальная задача на GitHub[22].

2021: Стабилизация возможностей классов

В 2021 году развитие Babel было сосредоточено на поддержке новых возможностей языка, достигших финальных стадий стандартизации, и улучшении совместимости с экосистемой.

Babel 7.13.0, выпущенный в феврале 2021 года, добавил экспериментальную поддержку предложения по неизменяемым структурам данных Records and Tuples, а также представил новую опцию `targets` на верхнем уровне конфигурации, которая позволила плагинам получать информацию о целевых средах[23].

В апреле состоялся релиз Babel 7.14.0, в котором были по умолчанию включены плагины для полей классов и приватных методов, поскольку эти возможности достигли 4-й стадии в комитете TC39[24]. Обновление также обеспечило поддержку TypeScript 4.3 и добавило опцию `importInterop: «node»` для упрощения создания двойных ESM/CJS модулей[24].

Babel 7.15.0 (июль 2021) добавил поддержку «Hack-style» синтаксиса для предложения по оператору конвейера (pipeline operator), `const enums` из TypeScript и включил Rhino в список целевых сред выполнения[25].

В октябре вышел Babel 7.16.0, который по умолчанию включил поддержку статических блоков инициализации классов (static {}), также достигших 4-й стадии[26]. Кроме того, была обеспечена совместимость с TypeScript 4.5 и ESLint 8, а также добавлена поддержка нового варианта предложения по оператору конвейера[26]. В анонсе этого релиза команда проекта также обратилась к сообществу с призывом о финансовой поддержке через Open Collective и GitHub Sponsors для обеспечения дальнейшего развития инструмента[26].

2022: Развитие декораторов и поддержка Deno

В 2022 году развитие Babel было сосредоточено на поддержке обновлённого предложения по декораторам, улучшении совместимости с TypeScript и расширении списка целевых сред выполнения. В течение года было выпущено четыре значимых обновления.

Babel 7.17.0 (февраль 2022) Этот релиз добавил поддержку обновлённой версии предложения по декораторам («2021-12»), которая включала возможность декорирования приватных элементов класса и новую конструкцию «class auto accessors»[27]. Также была реализована поддержка флага v для регулярных выражений и представлена экспериментальная реализация @babel/register с поддержкой файлов конфигурации .mjs[27];

Babel 7.18.0 (май 2022) Основное внимание в этом обновлении было уделено полной поддержке предложения по деструктуризации приватных полей и совместимости с TypeScript 4.7[28]. Кроме того, начиная с этой версии, пакет regenerator-runtime начал автоматически встраиваться при необходимости, что избавило разработчиков от его ручного импорта[28];

Babel 7.19.0 (сентябрь 2022) Главным событием выпуска стало обновление реализации декораторов до версии «2022-03» после того, как предложение достигло 3-й стадии в комитете TC39[29]. Это обновление включало критические изменения, такие как переименование метода initialize в init[29];

Babel 7.20.0 (октябрь 2022) Последний крупный релиз года принёс поддержку оператора satisfies из TypeScript 4.9 и добавил Deno в качестве целевой среды выполнения в @babel/preset-env[30]. Также была выпущена новая мажорная версия babel-loader 9.0, в которой прекратилась поддержка Webpack < 5 и Node.js < 14.15[30].

2023: Новые возможности импорта и альфа-версия Babel 8

В 2023 году развитие Babel было сосредоточено на поддержке новых экспериментальных возможностей JavaScript и подготовке к следующей мажорной версии. Ключевым событием года стал выпуск Babel 7.23.0 в сентябре, который добавил поддержку нескольких предложений TC39, находящихся на 3-й стадии, включая метаданные декораторов (Decorator Metadata), новые возможности импорта («Source Phase Imports» и «Deferred Import Evaluation»), присваивание в опциональных цепочках, а также совместимость с TypeScript 5.2[31]. Одновременно с этим релизом была анонсирована первая альфа-версия Babel 8[31].

В течение года также вышли корректирующие релизы, включая Babel 7.23.3 в ноябре, который содержал улучшения производительности для пакета @babel/generator и исправления ошибок[32]. В июле состоялся выпуск babel-loader 9.1.3[33]. В октябре была раскрыта информация об уязвимости (CVE-2023-45133), связанной с возможностью выполнения произвольного кода при компиляции специально созданного вредоносного файла[34].

2024: Поддержка JSON-модулей и атрибутов импорта

В 2024 году команда разработчиков Babel выпустила несколько обновлений, добавив поддержку новых возможностей ECMAScript и улучшив существующие функции. Ключевые события были связаны с релизами версий 7.24.0, 7.25.0 и 7.26.0.

Babel 7.24.0 (28 февраля 2024) Этот релиз сфокусировался на обновлении декораторов и добавлении поддержки импорта JSON-модулей. Реализация декораторов была приведена в соответствие с последней версией предложения, находящегося на 3-й стадии в TC39, а также была добавлена поддержка импорта файлов .json с использованием синтаксиса import ... with { type: "json" }[35]. Кроме того, была внедрена экспериментальная опция для использования парсера из движка Hermes для кода с аннотациями типов Flow[35];

Babel 7.25.0 (26 июля 2024) В этом обновлении в @babel/preset-env по умолчанию была добавлена поддержка одноимённых именованных групп захвата в регулярных выражениях. Также была улучшена поддержка компиляции импортов JSON-модулей в формат CommonJS и устранена ошибка, связанная с полями классов при компиляции для браузера Safari[36];

Babel 7.26.0 (25 октября 2024) Последний значимый релиз года включил по умолчанию поддержку двух предложений, достигших статуса стандарта ECMAScript: атрибутов импорта (import attributes) и встроенных модификаторов регулярных выражений. Также была добавлена возможность парсинга перечислений (enums) языка Flow и реализована поддержка асинхронных хуков pre и post для плагинов[37].

На протяжении 2024 года также продолжалась работа над следующей мажорной версией, Babel 8, бета-версия которой стала доступна для тестирования.

2025: Выпуск Babel 8 Beta и переосмысление роли

В мае 2025 года команда проекта объявила о выпуске Babel 8 Beta, что стало важной вехой после почти двух лет с момента выхода первой альфа-версии[38][39]. Основные изменения в этой версии включают переход на ESM-модули (Babel 8 поставляется как пакет, работающий только с ESM) и устранение значительного объёма технического долга, накопившегося за время существования седьмой версии[38]. Команда также анонсировала планы по совместной работе с ключевыми проектами экосистемы для обеспечения плавного перехода на новую версию перед её стабильным релизом[38].

Выпуск бета-версии произошёл на фоне продолжающихся в сообществе дискуссий о роли и необходимости транспилятора (англ. transpiler) в современной веб-разработке. Несмотря на то, что большинство современных браузеров к 2025 году поддерживают стандарт ES2020+ «из коробки», Babel сохраняет свою актуальность по нескольким причинам[40]:

  • Поддержка устаревших браузеров: остаётся востребованной в проектах, требующих широкой совместимости;
  • Использование экспериментальных возможностей: позволяет разработчикам применять предложения TC39, ещё не вошедшие в стандарт[40];
  • Транспиляция JSX: является ключевым инструментом для проектов, использующих React.

В то же время отмечается, что в некоторых сценариях Babel может замедлять время сборки, а в качестве более производительных альтернатив для транспиляции рассматриваются такие инструменты, как SWC и esbuild[40].

Типы и виды

  • Внутренние компоненты процесса
    • Парсер (@babel/parser) — превращает исходный текст в абстрактное синтаксическое дерево (AST)[41];
    • Трансформатор (@babel/traverse + плагины/пресеты) — обходит AST и вносит изменения согласно правилам преобразования[42];
    • Генератор (@babel/generator) — формирует финальный JavaScript-код и при необходимости карты источников[41].
  • Платформы/способы использования
    • @babel/cli — командная строка для пакетной компиляции файлов;
    • @babel/node — оболочка Node.js, компилирующая скрипты «на лету»[43];
    • @babel/standalone — сборка для использования прямо в браузере или в не-Node-средах;
    • Он-лайн REPL — интерактивная песочница, позволяющая экспериментировать с кодом и немедленно видеть результат.

Этапы работы

1. Планирование и конфигурация — определяются целевые браузеры/среды, выбираются пресеты и плагины, создаётся конфигурация (.babelrc, babel.config.js) либо файл .browserslistrc[41];

2. Сбор и обработка исходных файлов — бандлер или CLI находят файлы, подгружают и объединяют конфигурацию Babel[42];

3. Парсинг — @babel/parser токенизирует код и строит AST[41];

4. Трансформация — плагины обходят AST, заменяя современный синтаксис на совместимый либо добавляя оптимизации[42];

5. Генерация кода — @babel/generator выводит JavaScript-файл и, при необходимости, карты источников;

6. Распространение — результирующий код доставляется пользователям через npm-пакеты, CDN (UNPKG, jsDelivr) или собирается бандлером (Webpack, Rollup, Parcel)[44];

7. Обратная связь — ошибки и предложения фиксируются в GitHub Issues, обсуждаются в GitHub Discussions и Slack-канале сообщества Babel[45].

Сравнение и отличия от смежной / похожей технологии

Появление высокопроизводительных транспиляторов, таких как SWC (написан на Rust) и esbuild (написан на Go), усилило конкуренцию в области транспиляции JavaScript. Несмотря на то, что эти инструменты значительно превосходят Babel в скорости, он сохраняет свою актуальность к 2025 году благодаря гибкости и зрелой экосистеме. Ключевые различия заключаются в следующем:

  • Скорость: SWC и esbuild компилируют код значительно быстрее за счёт реализации на низкоуровневых языках. Babel, написанный на JavaScript, может замедлять время сборки в крупных проектах;
  • Гибкость и экосистема: Babel обладает обширной экосистемой плагинов, что позволяет применять экспериментальные функции TC39, ещё не вошедшие в стандарт, или выполнять сложные трансформации кода (codemods). Кроме того, он остаётся ключевым инструментом для транспиляции JSX в проектах, использующих React. Альтернативы пока более ограничены в возможностях расширения;
  • Совместимость и полифиллинг: Важнейшим преимуществом Babel остаётся его способность обеспечивать глубокую обратную совместимость. С помощью пресета @babel/preset-env и интеграции с core-js он автоматически добавляет необходимые полифиллы для поддержки устаревших браузеров. Конкуренты же в основном концентрируются на синтаксических трансформациях.

Преимущества

  • Возможность сразу использовать новые возможности ECMAScript без ожидания их поддержки браузерами[3];
  • Автоматический полифиллинг недостающих API (Promise, Array.from и т. д.)[3];
  • Плагинно-пресетная архитектура, позволяющая расширять функциональность и писать собственные преобразователи[2];
  • Интеграция с популярными инструментами сборки (Webpack, Rollup, Parcel) и тестирования (Jest, Mocha)[42];
  • Поддержка JSX и компиляция TypeScript без проверки типов[3].

Недостатки

  • Увеличение времени сборки и потребления ресурсов по сравнению с нативным кодом или быстрыми транспиляторами[46];
  • Рост размера итогового бандла из-за полифиллов и вспомогательных функций[4];
  • Необходимость поддерживать конфигурацию и следить за обновлением большого числа плагинов и зависимостей[2].

Сферы применения

  • SPA-фреймворки (React, Vue.js, Angular) — трансформация JSX/TSX и современного синтаксиса;
  • Разработка универсальных npm-библиотек, требующих совместимости c Node.js и браузерами разных поколений;
  • Серверный код на Node.js старых версий либо с экспериментальными возможностями языка;
  • Codemod-скрипты для массового рефакторинга крупных кодовых баз;
  • Образовательные и демонстрационные площадки, использующие @babel/standalone для мгновенной компиляции кода в браузере.

Инструменты для настройки / разработки / использования

  • @babel/cli — пакетная компиляция директорий и файлов;
  • @babel/node — запуск скриптов Node.js с транспиляцией «на лету»; не рекомендуется в production[43];
  • @babel/standalone — скрипт, подключаемый через <script> для компиляции в браузере;
  • Он-лайн REPL (repl.babeljs.io) — визуальное изучение работы плагинов и пресетов.
  • Интеграционные пакеты
    • babel-loader для Webpack;
    • @rollup/plugin-babel для Rollup;
    • Встроенная поддержка в Parcel.
  • Инфраструктура качества кода
    • babel-jest — трансформация тестов в Jest;
    • @babel/register — хук require для Mocha;
    • @babel/eslint-parser — парсер ESLint для кода, проходящего через Babel.
  • Каналы обновлений

Примечания

  1. 1 2 3 Rome with Sebastian McKenzie. Babel Podcast. Дата обращения: 21 мая 2024.
  2. 1 2 3 Babel documentation. babeljs.io. Дата обращения: 5 июля 2025.
  3. 1 2 3 4 What is Babel? GeeksforGeeks. Дата обращения: 5 июля 2025.
  4. 1 2 What is Babel.js and why do we still need it? Medium. Дата обращения: 5 июля 2025.
  5. Babel — самый популярный компилятор JavaScript. Как он устроен? Habr (1 сентября 2020). Дата обращения: 29 июля 2025.
  6. 1 2 Not Born to Die. Babel (15 февраля 2015). Дата обращения: 29 июля 2025.
  7. 1 2 5.0.0 Released. Babel (31 марта 2015). Дата обращения: 29 июля 2025.
  8. 1 2 3 The State of Babel. Babel (7 декабря 2016). Дата обращения: 29 июля 2025.
  9. 1 2 6.0.0 Released. Babel (29 октября 2015). Дата обращения: 29 июля 2025.
  10. Babel 6: First look at the new transpiler. DEV Community. Дата обращения: 29 июля 2025.
  11. 6.14.0 Released. Babel (24 августа 2016). Дата обращения: 29 июля 2025.
  12. Upgrade to Babel 7. babeljs.cn. Дата обращения: 29 июля 2025.
  13. 1 2 Babel 7: долгожданный релиз популярного компилятора JavaScript. Tproger. Дата обращения: 29 июля 2025.
  14. 1 2 Planning for 7.0. Babel (12 сентября 2017). Дата обращения: 29 июля 2025.
  15. 1 2 3 4 5 7.7.0 Released: Smaller preset-env bundles and better TypeScript support. Babel (5 ноября 2019). Дата обращения: 29 июля 2025.
  16. Updating to Babel 7.4. The Basement. Дата обращения: 29 июля 2025.
  17. 7.4.0 Released: core-js 3, static private methods and partial application. Babel (19 марта 2019). Дата обращения: 29 июля 2025.
  18. 1 2 7.5.0 Released: dynamic import() and F# pipelines. Babel (3 июля 2019). Дата обращения: 29 июля 2025.
  19. 7.6.0 Released: Private static accessors and V8 intrinsics. Babel (5 сентября 2019). Дата обращения: 29 июля 2025.
  20. 1 2 7.8.0 Released: ES2020, .babelrc.json, and more! Babel (11 января 2020). Дата обращения: 29 июля 2025.
  21. 7.9.0 Released: New JSX Transform, TS 3.8, and more! Babel (16 марта 2020). Дата обращения: 29 июля 2025.
  22. Babel 8 Tracking Issue. GitHub. Дата обращения: 29 июля 2025.
  23. 7.13.0 Released: Records and Tuples, Top-Level targets, and more! Babel (22 февраля 2021). Дата обращения: 29 июля 2025.
  24. 1 2 7.14.0 Released: Class features enabled by default, TS 4.3, and dual packages. Babel (29 апреля 2021). Дата обращения: 29 июля 2025.
  25. 7.24.0 Released: Decorator Metadata and JSON modules. babeljs.cn (28 февраля 2024). Дата обращения: 29 июля 2025.
  26. 1 2 3 7.16.0 Released: class static blocks and TypeScript 4.5. Babel (29 октября 2021). Дата обращения: 29 июля 2025.
  27. 1 2 7.17.0 Released: Decorators updates and new polyfills. Babel (2 февраля 2022). Дата обращения: 29 июля 2025.
  28. 1 2 7.18.0 Released: Destructuring private fields and TypeScript 4.7. Babel (19 мая 2022). Дата обращения: 29 июля 2025.
  29. 1 2 7.19.0 Released: Stage 3 Decorators and more! Babel (5 сентября 2022). Дата обращения: 29 июля 2025.
  30. 1 2 7.20.0 Released: Deno target and TypeScript 4.9. Babel (27 октября 2022). Дата обращения: 29 июля 2025.
  31. 1 2 7.23.0 Released: Decorator Metadata and Deferred Import Evaluation. babeljs.cn (25 сентября 2023). Дата обращения: 29 июля 2025.
  32. Release v7.23.3 · babel/babel. GitClear. Дата обращения: 29 июля 2025.
  33. Releases · babel/babel-loader. GitHub. Дата обращения: 29 июля 2025.
  34. Arbitrary code execution when compiling specifically crafted malicious code. GitHub. Дата обращения: 29 июля 2025.
  35. 1 2 7.24.0 Released: Decorator Metadata and JSON modules. Babel (28 февраля 2024). Дата обращения: 29 июля 2025.
  36. 7.25.0 Released: Safari bugfixes and duplicated named capturing groups. babeljs.cn (26 июля 2024). Дата обращения: 29 июля 2025.
  37. 7.26.0 Released: import attributes, Flow enums and async hooks. Babel (25 октября 2024). Дата обращения: 29 июля 2025.
  38. 1 2 3 Babel 8 Beta. Babel (30 мая 2025). Дата обращения: 29 июля 2025.
  39. Release v8.0.0-beta.2 · babel/babel. GitClear. Дата обращения: 29 июля 2025.
  40. 1 2 3 The Role of Babel in Modern JavaScript Development. 618media. Дата обращения: 29 июля 2025.
  41. 1 2 3 4 What is Babel and how does it work. Medium. Дата обращения: 5 июля 2025.
  42. 1 2 3 4 Understanding Babel — the JavaScript compiler. DEV Community. Дата обращения: 5 июля 2025.
  43. 1 2 @babel/node documentation. babeljs.io. Дата обращения: 5 июля 2025.
  44. Publishing components on npm using Babel and Webpack. Medium. Дата обращения: 5 июля 2025.
  45. 1 2 babel/babel — GitHub repository. GitHub. Дата обращения: 5 июля 2025.
  46. Babel, SWC & esbuild — overview of current JavaScript transpilers. sgalinski.de. Дата обращения: 5 июля 2025.

Категории