tsrs : un portage de TypeScript en Rust, et ce que ça change pour vous
Le 20 octobre 2026, Cloudflare et VoidZero ont annoncé tsrs, un portage du compilateur TypeScript en Rust, mené avec Max Schwenk d'Owner.com et incubé dans la chaîne d'outils Oxc. En bref, pour un développeur au quotidien : c'est expérimental, ça ne modifie pas le langage TypeScript, et vous n'avez rien à changer cette semaine. Le détail est plus intéressant, parce qu'il en dit long sur l'avenir de la vérification de types.
Un portage, pas un fork
Les auteurs insistent : ils écrivent qu'ils ne forkent pas TypeScript et que l'équipe TypeScript doit garder le contrôle total de la conception du langage. tsrs suit les décisions de l'équipe au lieu de prendre les siennes, et l'article explique pourquoi : un portage qui s'éloigne de l'original finit, selon eux, par se désagréger et devenir incompatible.
C'est important pour votre code. Un fork pourrait, avec le temps, accepter des programmes que le compilateur officiel rejette, ou l'inverse. Un portage fidèle vise les mêmes réponses, simplement plus vite. Les auteurs reconnaissent des écarts actuels, par exemple l'ordre d'affichage des diagnostics, et veulent les réduire au minimum avant une version stable.
Ce que disent les benchmarks
Ce sont les chiffres de Cloudflare, pas les miens, et je ne les ai pas reproduits. Selon l'article, tsrs est jusqu'à 8 fois plus rapide et consomme environ 70 % de mémoire en moins que TypeScript 7.0, à nombre égal de workers de vérification. Le même article indique que TypeScript 7.1 beta est lui-même jusqu'à 2,5 fois plus rapide que la 7.0, et qu'une partie de ces gains vient de tsrs.
Deux détails gardent les choses honnêtes. D'abord, les auteurs rappellent que les portages publient souvent de gros chiffres en utilisant des machines plus puissantes et des options non par défaut, et disent avoir travaillé avec l'équipe TypeScript pour comparer la même configuration. Ensuite, tsrs est livré par défaut avec une configuration adaptative qui consomme plus de mémoire pour aller encore plus vite : ce que vous installez n'est donc pas le réglage derrière le chiffre de mémoire.
Pourquoi Rust, alors que Go l'a déjà rendu 10 fois plus rapide ?
L'article pose lui-même la question. Le portage officiel de TypeScript en Go a déjà rendu le compilateur 10 fois plus rapide que la version écrite en TypeScript. La réponse des auteurs, c'est WebAssembly. Un programme Go compilé en Wasm doit embarquer le ramasse-miettes de Go. Rust n'a pas de ramasse-miettes à livrer, et son modèle mémoire rend simples les échanges de mémoire entre un module Wasm et son hôte.
L'intérêt de Cloudflare est clair : l'entreprise fait tourner des systèmes de build sur Workers, où une faible empreinte mémoire se rentabilise vite. C'est aussi ce qui pourrait permettre de faire tourner une chaîne de développement complète dans un onglet de navigateur, ou sur un appareil embarqué, sans serveur derrière.
Ce que ça change pour un projet normal aujourd'hui
Très peu, et c'est très bien. tsrs est une version expérimentale. Si vous êtes curieux, l'article donne exactement deux commandes :
npm install tsrs
npx tsrs
En règle générale, je le traiterais comme un second avis, pas comme un remplaçant. Lancez-le à côté de votre vérification tsc habituelle sur une branche, comparez les erreurs et notez le temps. N'en faites pas le contrôle qui bloque un merge tant que ses auteurs eux-mêmes disent que la sortie diffère encore par endroits.
C'est en CI que vous le sentirez en premier. La vérification de types est souvent l'une des étapes les plus lentes d'un pipeline TypeScript, et chaque compilateur plus rapide la raccourcit. Le gain le moins cher aujourd'hui n'est sans doute pas tsrs, mais le passage à la dernière version officielle de TypeScript, puisque l'article attribue à la 7.1 beta son propre gain important.
tsc, gardez le compilateur officiel comme contrôle, et mettez d'abord TypeScript à jour.Prochaine étape : mesurez la durée actuelle de votre vérification de types en CI, pour avoir un vrai chiffre de comparaison quand arrivera une version stable de tsrs ou la prochaine version de TypeScript. Source : blog de Cloudflare, Introducing tsrs: A port of TypeScript to Rust.
Ce que disent les lecteurs