Vercel Labs скомпилировала TypeScript-порт компилятора TypeScript в нативный бинарник

tsc-ts — это компилятор TypeScript 7.0.2 на Go, переписанный на TypeScript и скомпилированный в нативный код через scriptc. Проект помечен как эксперимент.

Вкратце

Каждый этап компилятора сравнили с tsgo на собственном тестовом наборе TypeScript из примерно 12 500 файлов, и проект сообщает о совпадении результатов на проверенных случаях. Результатов бенчмарка не опубликовано, только скрипт для их получения.

Комментатор, который сравнивал её со сборкой на Go, подтвердил, что она быстрее, но предупредил: код рассчитан на подмножество TypeScript, которое поддерживает scriptc, так что результат, возможно, подстроен под этот инструментарий.

Что это

tsc-ts под лицензией Apache-2.0 от Vercel Labs переписывает TypeScript-Go 7.0.2 на TypeScript и собирает нативные исполняемые файлы через scriptc. Установка: npm install -D tsc-ts, запуск: npx tsc-ts -p tsconfig.json. Сборка из исходников требует Node.js 24+, Go 1.26 и scriptc ровно версии 0.3.5.

Что доказано, а что нет

Сканер, парсер, binder, разрешение модулей, emit и проверка типов совпадают с tsgo на тестовом корпусе. Пробелы: профилирование CPU и кучи не поддерживается, а автодополнение, требующее автоимпортов, возвращает ошибку. В README есть скрипт bench, но результатов он не публикует.

Тред дал недостающий бенчмарк, с оговорками

Один комментатор запустил его, подтвердил заявление о скорости и тут же уточнил:

«Подтверждаю: это быстрее версии на Go, что очень неожиданно и впечатляет!» — pizlonator, комментатор, который говорит, что тестировал против сборки на Go

Его оговорки: код написан «на подмножестве TypeScript, которое поддерживает scriptc», и «я готов поспорить, что ради этого результата в scriptc внесли оптимизации специально».

Зачем это вообще делать, ответил мейнтейнер конкурирующего компилятора TypeScript в нативный код (tsonic.org):

«Нельзя использовать основной компилятор tsc v6, потому что он медленный и работает на JavaScript… А v7 нельзя использовать, потому что он написан на Go.» — jeswin, по его словам, мейнтейнер tsonic.org, компилятора TypeScript в нативный код

Так что это проверка scriptc на самом себе не меньше, чем более быстрый компилятор. Ожидайте, что ускорение реально на собственных путях кода tsc-ts, а проверить, сохранится ли оно в вашем проекте, можно скриптом bench на вашем монорепозитории.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Это последняя новость выпуска 18 октября 2026.

Перейти в архив выпусков