Компания Cloudflare объявила о том, что берет на себя развитие проекта tsrs — компилятора для языка TypeScript, написанного на языке Rust. Проект направлен на решение проблем производительности, с которыми сталкиваются ИИ-агенты (AI Agents) при проверке больших объемов кода. Первоначальные тесты показали, что новый компилятор работает в восемь раз быстрее и потребляет на 70% меньше памяти по сравнению с версией TypeScript 7.0.
Не форк, а интеграция
Инженеры Cloudflare во главе с Кристофом Накадзавой подчеркнули, что этот проект не является «форком» оригинального языка TypeScript. Команда пояснила, что они работают в координации с командой TypeScript в Microsoft, отметив, что улучшения, обнаруженные в проекте tsrs, уже помогли ускорить версию TypeScript 7.1 примерно в 2,5 раза.
Почему язык Rust?
Несмотря на то, что Microsoft недавно перевела компилятор TypeScript на язык Go, Cloudflare видит в Rust конкурентное преимущество, особенно в плане совместимости с WebAssembly (Wasm). В то время как Go требует наличия сборщика мусора (Garbage Collector) при компиляции в Wasm, Rust обеспечивает прямое управление памятью, что снижает операционные накладные расходы при запуске сред разработки внутри браузеров или в изолированных средах, таких как Cloudflare Workers.
История создания: разработка «без человеческого кода»
Проект tsrs зародился в компании Owner.com, где Макс Шенк, руководитель отдела по работе с ИИ-разработчиками, столкнулся с трудностями при работе с кодовой базой, состоящей из 37 тысяч файлов. Чтобы решить эту проблему, Шенк поручил ИИ-агентам (с использованием Claude Opus 5.5) полностью переписать компилятор на языке Rust, не написав при этом ни одной строки кода самостоятельно. Такой подход позволил сократить время проверки кода в средах непрерывной интеграции (CI) примерно до 7 секунд.
Что это значит для разработчиков?
Разработчики сталкиваются с постоянной задачей обеспечения совместимости нового компилятора со стандартами оригинального TypeScript. Чтобы избежать отклонений в поведении, команда полагается на:
- Использование тестов на соответствие (conformance tests) от TypeScript.
- Внедрение преднамеренных ошибок в реальные проекты для проверки точности анализа.
- Использование инструмента Miri для обнаружения проблем с безопасностью памяти в Rust.
Cloudflare планирует интегрировать tsrs в свой набор инструментов Oxc, продолжая при этом следить за будущими обновлениями от Microsoft для обеспечения полной совместимости. Это отражает растущую тенденцию использования искусственного интеллекта для создания высокопроизводительных инженерных инструментов.