tsrs переносит проверку TypeScript на Rust с прицелом на совместимость
Cloudflare, VoidZero и автор порта развивают проект в экосистеме Oxc. Ускорение до восьми раз относится к ранним тестам; полное соответствие остаётся целью.

Порт реализации, а не другой TypeScript
Cloudflare и VoidZero объявили совместную работу с Max Schwenk над tsrs — переносом компилятора и проверки TypeScript на Rust. Проект развивается рядом с Oxc и взаимодействует с командой TypeScript. Авторы отделяют его от изменения самого языка: синтаксис, типовая система и направление TypeScript остаются за исходным проектом. Репозиторий описывает tsrs как альтернативный компилятор и языковой сервер с целью полной совместимости. Важен не только запуск той же программы, но и совпадение диагностических сообщений, включая сложные пограничные случаи. Порт следует конкретной реализации языка, поэтому его разработка связана с изменениями upstream, а не с выпуском собственной независимой системы типов.
Откуда берётся обещание ускорения
В октябрьском анонсе приведены ранние замеры: до восьми раз быстрее и около 70 процентов меньше памяти по сравнению с TypeScript 7.0 при одинаковом числе проверяющих рабочих потоков. Это верхний результат сравнения. Публичное руководство benchmarks фиксирует репозитории, коммиты, конфигурации и команды установки зависимостей. Результат содержит данные машины, версии компиляторов, хеши бинарных файлов и измеренные образцы. Пиковая память и прошедшее время учитываются отдельно. В текущем репозитории быстрый режим включается явно; обычный режим и быстрый пресет имеют разные обязательства относительно точного поведения. В современных измерениях пресет фиксируется вместе с параметрами, а исторические результаты сохраняют настройки, использованные при исходном прогоне.
Как проект показывает совместимость
Документ COMPATIBILITY привязывает актуальный порт к определённому коммиту Go-реализации TypeScript 7.1 beta. Сравниваются диагностика, её порядок, текст сообщений и код завершения. Даже кажущееся улучшение считается расхождением, если нарушает этот контракт. Авторы указывают прогоны исходных наборов проверок и языкового сервера, а также сравнение на публичных репозиториях. Известные пробелы документируются отдельно. Текущую цель 7.1 beta следует отличать от раннего октябрьского сравнения с 7.0: код продолжает развиваться. Проверки включают исходные эталонные результаты ошибок, типовых сведений, символов и выдаваемого JavaScript. Это делает сравнение более подробным, чем один итоговый статус успешной сборки; неполный прогон не должен выглядеть полным подтверждением соответствия.
Доступность и способы запуска
tsrs устанавливается через npm как зависимость разработки. Доступны консольная проверка, настройка языкового сервера в редакторе, Node API и вариант WebAssembly с WASI Preview 1. В браузерной площадке можно проверить код и получить выходную программу. Fast-пресет подбирает число checkers, группирует связанную работу и включает дополнительные кеши. Настройки strict, skipLibCheck и noCheck при этом сохраняют свои значения из конфигурации. Код распространяется по Apache 2.0 как производная работа от TypeScript с сохранением уведомлений Microsoft. Стабильная поставка с полным соответствием остаётся целью проекта. Репозиторий также содержит инструкции по памяти, режиму watch и интеграции с редактором, а отдельные методики позволяют повторять замеры на фиксированном наборе исходников.


