TypeScript 7.0 RC: новый компилятор на Go уже можно проверить в своих проектах
Команда TypeScript выпустила релиз-кандидат TypeScript 7.0. Это важный релиз не из-за пары новых флагов, а из-за смены основы компилятора: кодовую базу перенесли с TypeScript/JavaScript на Go.
Заявка серьёзная: в ряде сценариев TypeScript 7.0 должен работать примерно в 10 раз быстрее TypeScript 6.0. Ускорение появилось не из-за изменения языка, а за счёт скомпилированного кода и более активного использования параллельной обработки.
Главное изменение — новая реализация компилятора. Команда не стала заново придумывать TypeScript, а перенесла существующую логику на Go. Проверка типов должна вести себя так же, как в TypeScript 6.0: идея в том, чтобы сохранить совместимость, но заметно ускорить работу.
На практике это значит, что проекты, которые собираются на TypeScript 6.0, в большинстве случаев должны собираться и на TypeScript 7.0. Только быстрее. Самый заметный эффект ожидается в больших кодовых базах, где проверка типов давно стала ощутимой частью локальной разработки и CI.
Релиз-кандидат уже можно поставить из npm:
Проверить версию:
Для текущего RC команда указывает версию 7.0.1-rc.
В TypeScript 7.0 часть работы компилятора выполняется параллельно: разбор файлов, проверка типов и генерация результата.
С разбором и генерацией всё относительно понятно: многие операции можно делать независимо по файлам. С проверкой типов сложнее. Там есть зависимости между файлами, общие типы, глобальная область видимости и порядок анализа, который нельзя просто игнорировать.
Поэтому TypeScript 7.0 использует фиксированное количество проверяющих процессов. По умолчанию — четыре. Управлять этим можно через флаг:
На крупном проекте увеличение значения может ускорить сборку, но за это придётся заплатить памятью. В CI или на слабой машине иногда
Читать на habr.com


