La société Cloudflare a annoncé qu'elle prenait en charge le développement du projet tsrs, un compilateur pour le langage TypeScript écrit en Rust. Le projet vise à relever les défis de performance rencontrés par les agents d'intelligence artificielle (AI Agents) lors de l'analyse de bases de code volumineuses. Les tests préliminaires ont montré que le nouveau compilateur est huit fois plus rapide et consomme 70 % de mémoire en moins par rapport à la version TypeScript 7.0.
Pas un fork, mais une intégration
Les ingénieurs de Cloudflare, dirigés par Christoph Nakazawa, ont tenu à souligner que ce projet n'est pas un « fork » du langage TypeScript original. L'équipe a précisé qu'elle travaillait en coordination avec l'équipe TypeScript de Microsoft, notant que les améliorations découvertes dans le projet tsrs ont déjà contribué à accélérer la version TypeScript 7.1 d'environ 2,5 fois.
Pourquoi le langage Rust ?
Bien que Microsoft ait récemment migré le compilateur TypeScript vers le langage Go, Cloudflare voit en Rust un avantage concurrentiel, notamment en ce qui concerne la compatibilité avec WebAssembly (Wasm). Alors que le langage Go nécessite un ramasse-miettes (Garbage Collector) lors de la compilation vers Wasm, Rust offre un contrôle direct sur la mémoire, ce qui réduit la charge opérationnelle lors de l'exécution d'environnements de développement dans les navigateurs ou dans des environnements isolés tels que Cloudflare Workers.
L'histoire de la création du projet : un développement « sans code humain »
Le projet tsrs a débuté chez Owner.com, où Max Shenk, responsable de l'expérience des développeurs en IA, a rencontré des difficultés avec une base de code comprenant 37 000 fichiers. Pour résoudre ce problème, Shenk a chargé des agents d'intelligence artificielle (utilisant Claude Opus 5.5) de réécrire entièrement le compilateur en Rust, sans qu'il n'écrive lui-même une seule ligne de code. Cette approche a permis de réduire le temps d'analyse du code dans les environnements d'intégration continue (CI) à environ 7 secondes seulement.
Qu'est-ce que cela signifie pour les développeurs ?
Les développeurs sont confrontés au défi constant de garantir la compatibilité du nouveau compilateur avec les normes TypeScript originales. Pour éviter toute dérive comportementale, l'équipe s'appuie sur :
- L'utilisation des tests de conformité de TypeScript.
- L'introduction d'erreurs délibérées dans des projets réels pour vérifier la précision de l'analyse.
- L'utilisation de l'outil Miri pour détecter les problèmes de sécurité mémoire dans Rust.
Cloudflare prévoit d'intégrer tsrs au sein de sa chaîne d'outils Oxc, tout en continuant à surveiller les prochaines mises à jour de Microsoft pour garantir une compatibilité totale, ce qui reflète une tendance croissante à utiliser l'intelligence artificielle pour construire des outils d'ingénierie à haute performance.