Вышла версия TypeScript 6.0: это крупное обновление, в котором разработчики сосредоточились на улучшении типизации, ускорении компиляции и упрощении работы с современными JavaScript-проектами. Обновление затрагивает как повседневный DX, так и внутреннюю архитектуру компилятора.
Улучшения системы типов
В TypeScript 6.0 расширили возможности анализа типов, особенно в сложных сценариях с обобщениями и условными типами.
Компилятор стал точнее выводить типы в цепочках функций и при работе с вложенными структурами. Это снижает количество ситуаций, когда разработчику приходится явно указывать тип вручную.
Отдельное внимание уделили контролю над неявными any. Теперь такие случаи выявляются раньше и сопровождаются более понятными диагностическими сообщениями.
Также улучшена работа с discriminated unions. Ветвления по типу стали надежнее, а компилятор лучше понимает, какие свойства доступны в каждой ветке.
Ускорение компиляции
В новой версии заметно переработали внутренние механизмы компилятора. Основные изменения:
оптимизация проверки типов в больших проектах;
сокращение количества повторных вычислений;
более эффективное кеширование результатов.
В результате крупные кодовые базы компилируются быстрее, особенно в режиме watch.
Отдельно улучшили производительность при работе с проектами, где активно используются generics и сложные типовые конструкции.
Обновления конфигурации
Файл tsconfig.json получил несколько изменений, направленных на упрощение настройки проектов.
Добавлены новые флаги, позволяющие точнее контролировать поведение компилятора. Некоторые устаревшие опции помечены как deprecated и будут удалены в будущих версиях.
Также улучшена совместимость с современными стандартами ECMAScript. Теперь проще настраивать проекты под актуальные версии JavaScript без дополнительных костылей.
Улучшения работы с ECMAScript
TypeScript 6.0 продолжает движение в сторону более тесной интеграции с JavaScript.
Компилятор лучше поддерживает новые синтаксические конструкции, современные модули и улучшенную интероперабельность с нативным JS-кодом.
Это особенно важно для проектов, где TypeScript используется постепенно, поверх существующего JavaScript-кода.
Улучшения диагностики и сообщений об ошибках
Разработчики переработали систему сообщений об ошибках. Теперь ошибки стали короче и понятнее, добавлены подсказки по исправлению и улучшена навигация по проблемным местам в коде. Это снижает время на отладку и делает поведение компилятора более предсказуемым.
Изменения, влияющие на совместимость
Как и в любом крупном релизе, в TypeScript 6.0 есть изменения, которые могут сломать существующий код. В основном они связаны с ужесточением проверок типов, более строгим выводом типов и удалением устаревших возможностей.
При обновлении рекомендуется внимательно проверять проект и включать новые флаги постепенно.
Инструменты и экосистема
Обновление также затронуло инструменты вокруг TypeScript. Улучшена интеграция с редакторами и IDE. Быстрее работает автодополнение, точнее определяются типы при навигации по коду.
Разработчики отмечают, что TypeScript 6.0 лучше подходит для крупных монорепозиториев и сложных frontend-приложений.
Источник: Microsoft