Перед выпуском 8.0, ожидаемым в ближайшие несколько месяцев, есть небольшое обновление Babel. В текущем обновлении добавлена поддержка TypeScript 3.8 и улучшена оптимизация преобразований JSX.
Babel — это компилятор JavaScript, который принимает код JavaScript ECMAScript 2015+ и преобразует его в обратно совместимую версию для работы в старых браузерах. Babel также может преобразовывать синтаксис React JSX в JavaScript. Использование Babel позволяет разработчикам использовать новые функции JavaScript и создавать приложение, которое будет работать независимо от того, в каком браузере оно используется, но необходимость в этом уменьшилась, поскольку все меньше людей используют старые браузеры, которые нет поддержки ES2015 и более поздних версий.
Одним из улучшений новой версии является значительное уменьшение размеров пакетов при использовании шаблона модуль / номер. Это было достигнуто благодаря работе над предустановленными модулями, чтобы найти способ уменьшить размеры пакетов при использовании шаблона модуль / номер. Модули предустановок позволяют применять оптимизацию ко всем целевым значениям preset-env без отдельной предустановки. Это позволяет использовать async / await, шаблоны с тегами, стрелочные функции, деструктурированные и оставшиеся параметры во всех современных браузерах, которые составляют 88% трафика. Разработчики по-прежнему могут поддерживать старые браузеры, используя шаблон модуль / номер. Оптимизация работает с ошибками и несоответствиями в современных движках JavaScript, преобразуя нарушенный синтаксис в наиболее близкий современный синтаксис без сбоев. Это позволяет избежать решения, которое использовалось до сих пор для решения проблем с разными браузерами по отдельности, что приводило к увеличению размера пакетов.
В этом выпуске также добавлена полная поддержка TypeScript 3.8, который представил явный импорт и экспорт только для типов, и Flow 0.120, в котором появился модификатор объявления для полей класса.
Разработчики также работали с командой React, чтобы предоставить новое преобразование JSX, которое позволит React и React-подобным библиотекам дополнительно оптимизировать создание элементов JSX.