Компания Microsoft официально представила TypeScript 6.0 — релиз, который закладывает фундамент для следующего крупного обновления языка. Несмотря на отсутствие громких пользовательских фич, версия 6.0 играет ключевую роль: она завершает текущую архитектурную эпоху TypeScript и подготавливает экосистему к серьёзным изменениям, ожидаемым в TypeScript 7.0.
Новый этап: переход к компилятору на Go
Одним из самых значимых направлений развития TypeScript является отказ от текущей реализации компилятора на JavaScript в пользу новой версии, написанной на Go.
TypeScript 6.0 станет последним крупным релизом, использующим старую архитектуру. Новый компилятор (иногда упоминаемый как TS Native) уже находится в активной разработке и должен обеспечить:
кратный рост скорости компиляции
эффективное использование многопоточности
снижение потребления памяти
улучшенную масштабируемость для крупных проектов
Такой переход особенно важен для больших монорепозиториев и enterprise-проектов, где время сборки напрямую влияет на продуктивность команд.
Поддержка ES2025 и изменения в lib.d.ts
В TypeScript 6.0 добавлена поддержка нового таргета компиляции --target es2025.
Хотя сам стандарт ECMAScript 2025 не вводит большого количества синтаксических новшеств, он включает обновления стандартной библиотеки типов:
добавлены типы для
RegExp.escape()расширена поддержка современных возможностей JavaScript
часть функциональности из
esnextстабилизирована и перенесена в основной набор
Также переработана структура стандартных деклараций:
улучшена совместимость между различными
libупрощена работа с DOM-типами
некоторые ранее отдельные библиотеки теперь подключаются по умолчанию
Это уменьшает количество ручной настройки tsconfig.json и снижает вероятность конфликтов типов.
Встроенная поддержка Temporal API
TypeScript 6.0 добавляет типы для Temporal API — современного стандарта работы с датами и временем в JavaScript.
Temporal предлагает более предсказуемую и безопасную модель по сравнению с классическим Date, включая:
неизменяемые объекты
точную работу с часовыми поясами
удобные операции над датами и интервалами
Добавление типизации на уровне языка делает использование Temporal более удобным и безопасным уже сейчас, даже до его полной поддержки во всех средах выполнения.
Ужесточение поведения компилятора
В шестой версии TypeScript разработчики продолжают курс на повышение строгости и предсказуемости:
Strict mode по умолчанию
Теперь весь код фактически рассматривается как выполняемый в строгом режиме. Это устраняет различия между модулями и скриптами и делает поведение более единообразным.
Изменение работы с tsconfig
Если раньше можно было передавать список файлов в CLI даже при наличии tsconfig.json, теперь это считается ошибкой.
Для обхода добавлен новый флаг:
--ignoreConfigОн позволяет явно игнорировать конфигурацию проекта и работать с указанными файлами напрямую.
Удаление и замена устаревших возможностей
TypeScript 6.0 продолжает стратегию постепенного отказа от legacy-функциональности.
Удалённые опции и возможности
--outFile— устарел из-за перехода на современные бандлеры (Webpack, Vite, esbuild)no-default-lib— больше не поддерживаетсянекоторые старые механизмы работы с namespace
Import assertions → import attributes
Старый синтаксис:
import data from "./file.json" assert { type: "json" };заменён на новый:
import data from "./file.json" with { type: "json" };Это соответствует актуальному стандарту ECMAScript и обеспечивает лучшую совместимость с экосистемой.
Депрекации перед TypeScript 7.0
Ряд возможностей пока остаётся доступным, но помечен как deprecated. Среди них:
устаревшие флаги компилятора
старые варианты конфигурации модулей
некоторые менее используемые API
Разработчики могут временно подавлять предупреждения, однако в TypeScript 7.0 эти возможности будут полностью удалены.
Таким образом, версия 6.0 — оптимальный момент для рефакторинга и приведения конфигурации к актуальному виду.
Изменения в разрешении модулей и конфигурации
В TypeScript 6.0 улучшена логика module resolution:
более предсказуемое поведение при работе с
package.jsonкорректная обработка
exportsиimportsулучшенная совместимость с ESM
Также повышено качество диагностики:
более точные сообщения об ошибках
улучшенная навигация в IDE
ускоренная работа language service
Производительность и внутренняя оптимизация
Хотя основные улучшения производительности ожидаются в TypeScript 7.0, в версии 6.0 уже реализован ряд оптимизаций:
ускорение incremental compilation
улучшенное кеширование
оптимизация работы с большими графами зависимостей
Это делает текущую версию более стабильной и эффективной даже без смены архитектуры.
Практические последствия для разработчиков
Для большинства проектов переход на TypeScript 6.0 пройдёт безболезненно:
основной код менять не потребуется
возможны правки в
tsconfig.jsonпотребуется убрать deprecated-опции
При этом обновление даёт сразу несколько преимуществ:
актуальные типы стандартных API
более строгая проверка кода
подготовка к будущему переходу на TS 7.0
Итог
TypeScript 6.0 — это технически важный, но стратегический релиз. Он не предлагает большого количества новых возможностей на поверхности, однако:
завершает эпоху текущего компилятора
подготавливает экосистему к переходу на Go
очищает язык от устаревших решений
приводит стандартные типы в соответствие с современным JavaScript
Разработчикам рекомендуется не откладывать обновление: переход на TypeScript 6.0 позволит заранее адаптироваться к изменениям и безболезненно встретить TypeScript 7.0, где ожидаются уже по-настоящему масштабные улучшения производительности и архитектуры.
https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/