Cloudflare забирает себе tsrs — порт компилятора TypeScript на Rust. По данным компании, он проверяет типы до восьми раз быстрее TypeScript 7.0 и расходует на 70% меньше памяти. Развивать его будут внутри Oxc, набора JavaScript-инструментов на Rust от команды VoidZero, которую Cloudflare купила летом.
Главную мысль в компании повторяют несколько раз: это не форк. Языком по-прежнему управляет Microsoft, а команды обмениваются находками. Директор по разработке Cloudflare Кристоф Накадзава пишет, что благодаря этому TypeScript 7.1 уже стал примерно в 2,5 раза быстрее. Бету 7.1 Microsoft выпустила в тот же день.
Откуда взялся tsrs
Проект появился месяц назад в Owner.com — компании, которая делает софт для ресторанов. У неё бэкенд на 37 тысяч файлов TypeScript, и компилятор на Go занимал 19 ГиБ памяти и 80 секунд на одну проверку. Когда параллельно работают несколько ИИ-агентов и каждый хочет проверить свои правки, такие цифры становятся потолком.
Руководитель направления ИИ-разработки Макс Швенк поручил переписать компилятор на Rust модели Claude Opus 5.5, а сам только ставил задачи и оценивал результат. Больше двадцати субагентов работали параллельно, и к утру тайпчекер заработал. Сейчас проверка в CI у Owner.com занимает около семи секунд. «Я написал ноль строк кода», — говорит Швенк.
Зачем Rust, если уже есть Go
Microsoft переписала компилятор на Go в TypeScript 7.0 и получила примерно десятикратное ускорение. Cloudflare же интересен Rust из-за WebAssembly: Go приносит в Wasm свой сборщик мусора, а Rust даёт прямой контроль над памятью. Так проще запускать полноценную среду разработки в браузере или в изолированной песочнице Workers, где агенты пишут и собирают приложения.
Как проверяют, что он не ошибается
Быстрый компилятор бесполезен, если ловит меньше ошибок. tsrs прогоняют через официальные тесты соответствия TypeScript, специально вносят ошибки в реальные проекты и проверяют работу с памятью инструментом Miri. Он уже нашёл баг, который проявлялся только в оптимизированной сборке. Расхождения с оригиналом пока есть — например, в порядке вывода диагностик.
Наш комментарий
Для тех, кто делает сайты на TypeScript, практический итог такой: сборки и проверка типов станут заметно быстрее, причём, скорее всего, в самом TypeScript 7.1, без смены инструментов. Ставить tsrs в боевой пайплайн пока рано. Но схема «человек ставит задачу и проверяет, агенты пишут» уже работает на проектах такого масштаба. Подробности — в The New Stack.
