Новость не совсем свежая, но только сейчас увидел - компилятор TypeScript 7 переписали на Go.
Причём перенесли не только tsc, но и инструменты для работы в редакторах. Новая реализация работает как скомпилированная программа и может параллельно выполнять синтаксический разбор, проверку типов и формирование выходных файлов.
По бенчмаркам Microsoft, полная сборка VS Code ускорилась со 125,7 до 10,6 секунды - почти в 12 раз. На других крупных проектах ускорение составило от 7,7 до 8,9 раза, а расход памяти снизился на 6–26%.
Для больших монорепозиториев добавили параллельную сборку нескольких проектов. Количество одновременно выполняемых проверок типов можно настраивать, но тут всё логично: больше параллельности - выше расход памяти.
Правда, перейти на TypeScript 7 прямо сейчас смогут не все. В версии 7.0 ещё нет программного интерфейса компилятора, поэтому часть инструментов и проекты на Vue, Astro, Svelte и MDX пока должны оставаться на TypeScript 6. Новый интерфейс обещают вернуть в 7.1.
В общем, один из самых интересных выпусков TypeScript оказался не про новые возможности языка, а про Go.
Post #768
560
- 👍 1