TypeScript 6.0 RC — последний JavaScript-компилятор и мост к Go

TypeScript 6.0 RC — последний JavaScript-компилятор и мост к Go

6 марта 2026 года команда Microsoft выпустила Release Candidate TypeScript 6.0 — и описала его необычно честно: это не feature-релиз, это переходный мост. TS 6.0 станет последней версией компилятора написанной на JavaScript. Всё что будет после — TypeScript 7.0 — это нативный порт на Go.

npm install -D typescript@rc

Почему Go и зачем это вообще нужно

Проблема накапливалась годами. TypeScript изначально писался командой на JavaScript — прагматичное решение для своего времени. Но по мере того как проекты росли до сотен тысяч строк, а TypeScript стал применяться и во фронтенде, и в Node.js-бэкендах, и в монорепах — компилятор начал становиться узким местом. В крупных кодовых базах tsc мог работать несколько минут.

Project Corsa — кодовое название TypeScript 7.0 — это полный переписыванием компилятора и language service на Go. Нативный бинарный файл вместо Node.js как прослойки между языком и ОС. Плюс распараллеливание через shared-memory multithreading — то что в JS-рантайме недоступно в принципе.

Предварительные бенчмарки показывают 10-кратное ускорение на большинстве проектов.

Что меняется в TS 6.0 прямо сейчас

TS 6.0 — это прежде всего уборка технического долга и выравнивание с 7.0. Изменения в основном про то что убирается, а не добавляется.

Strict mode теперь по умолчанию

Флаг alwaysStrict больше не нужно прописывать явно — весь код теперь считается работающим в JavaScript strict mode. Если у тебя есть легаси-код с зарезервированными словами вроде await, static, private или public как обычными идентификаторами — нужно переименовать.

ESM по умолчанию, ES5 уходит

Дефолтный target теперь es2025, дефолтное разрешение модулей — ESM. AMD, UMD, baseUrl и --outFile — всё это депрецировано в TS 6.0 и будет полностью убрано в TS 7.0.

Логика простая: ES5 нужен крайне редко, современные бандлеры давно занимаются конкатенацией файлов лучше чем --outFile, а AMD/UMD — история из эпохи до npm.

Как мигрировать заранее

Команда рекомендует: если видишь deprecation warnings после обновления до TS 6.0 — исправь их до того как перейдёшь на TS 7.0. Иначе нативный компилятор может повести себя неожиданно.

// tsconfig.json — убираем устаревшие опции
{
  "compilerOptions": {
    // Убрать: "target": "es5"
    // Убрать: "module": "amd"
    // Убрать: "baseUrl": "./src"
    // Убрать: "outFile": "./dist/bundle.js"
 
    // Заменить на:
    "target": "es2025",
    "module": "esnext",
    "moduleResolution": "bundler"
  }
}

Что уже работает в TS 7.0 preview

Параллельно с RC шестёрки Microsoft продолжает развивать нативный компилятор. Для тех кто хочет попробовать прямо сейчас — он доступен через @typescript/native-preview и уже интегрирован в Visual Studio 2026 Insiders.

По данным команды: из ~20 000 тест-кейсов компилятора, в 6000 из которых должна быть хотя бы одна ошибка — нативный TS 7.0 находит ошибки в 5926 случаях. 74 расхождения остаются, но для проверки ошибок в реальном проекте компилятор уже пригоден.

TypeScript 6.0 — это не то куда мы идём, а как мы туда попадём. Почисти конфиги сейчас — переход на нативный компилятор будет в разы проще.

Что это значит для ежедневной разработки

В краткосрочной перспективе — минимальные изменения. RC совместим с TS 5.9 по type-checking поведению. Большинство проектов обновятся без проблем.

В среднесрочной — когда выйдет стабильный TS 7.0 — разработчики на крупных проектах почувствуют разницу физически. Тот самый спиннер в терминале который крутится пока идёт полная проверка типов — исчезнет или станет заметно короче.

Node.js 22.18+ уже поддерживает TypeScript нативно без transpiler-прослойки. Go-компилятор логично дополняет эту картину: весь стек движется в сторону нативной скорости без лишних слоёв.

2026