Спустя 2 месяца TypeScript на Go получил preview релизы (даже расширение)!Это значит, что нам больше не нужно собирать что-то, чтобы опробовать - команда TS считает, что он уже готов к использованию
npm install -D @typescript/native-preview
npx tsgo
Сейчас он вызывается как
tsgo для упрощённого переключения между версиями
Самое приятное - так это возможность попробовать
расширение для VS Code, просто установив его через маркет, и включив его для проекта (так как пока оригинальное расширение имеет высший приоритет, кстати,
feature request на .vscode/settings.local.json висит уже 7 лет!)
Добавили поддержку проверки JSX Команда TypeScript протестировала производительность в репозитории
Sentry и получила 10x ускорение (
6.761s vs
72.81s)
TypeScript также отвечает за проверку JavaScript (JSDoc) и новые релизы теперь поддерживают это! Из-за ограниченности предыдущей реализации это переписали, а не портировали
Поддержка редакторамиПоддержали автокомплит, но всё ещё недостаточно авто импорта, поиска референсов и переименования. Переход к определению и тип при наведении ещё в довольно ранней стадии
User-land APIБольшой проблемой является API в юзер-ленде. На данный момент создана начальная основа по взаимодействую через IPC. Сейчас взаимодействие с TS API на JS синхронное, поэтому они решили сделать похожую возможность общаться с процессом TS на Go синхронно, реализовав для этого
свой модуль на Rust libsyncrpc (ало раст, да-да блейзингли фаст) из-за недостаточности возможностей в Node.js
К концу года обещают предоставить более полную версию, а пока радовать нас ежедневными preview билдами. Что ж, похоже, уже можно присматриваться, ведь основные фичи уже портированы. Не хватает разве что emit js (транспиляции ts => js конкретно через tsc, но кто в наше время это использует?) и d.ts
Blog post |
VS Code extension |
libsyncrpc |
npm |
tsgo в zed