TypeScript 7.0 Beta : le compilateur réécrit en Go est 10 fois plus rapide
Annoncé le 21 avril 2026 sous le nom de code Project Corsa, TypeScript 7.0 Beta réécrit le compilateur en Go natif. VS Code passe de 78 à 7,5 secondes de type-checking sur 1,5 million de lignes — et le package s'installe avec npx tsgo.
Le 21 avril 2026, Daniel Rosenwasser a publié sur le blog TypeScript de Microsoft l'annonce que beaucoup attendaient depuis plus d'un an : le compilateur TypeScript, réécrit entièrement en Go, est disponible en beta publique. Le projet, baptisé Project Corsa en interne, devient typescript-go sur GitHub et @typescript/native-preview sur npm.
Pourquoi réécrire le compilateur ?
TypeScript est aujourd'hui utilisé dans la quasi-totalité des projets JavaScript sérieux, et son compilateur (tsc) est le principal goulot d'étranglement des pipelines CI. Écrit en TypeScript lui-même — une curiosité technique historique — il ne peut pas tirer parti des CPU multicœurs via du vrai parallélisme en raison du modèle single-thread de Node.js.
Le Go offre deux avantages décisifs : code natif compilé (pas de JIT, démarrage immédiat) et goroutines permettant un véritable parallélisme sur tous les cœurs disponibles. Le résultat est sans appel.
Benchmarks : 10x de gain sur des projets réels
| Projet | Avant (tsc) | Après (tsgo) | Gain |
|---|---|---|---|
| VS Code (1,5 M lignes) | 78 s | 7,5 s | 10,4× |
| Sentry | 133 s | 16 s | 8,3× |
| Playwright | 9,3 s | 1,24 s | 7,5× |
| Chargement éditeur (VS Code) | 9,6 s | 1,2 s | 8× |
Ces chiffres sont mesurés sur la vérification de types complète, l'opération la plus coûteuse. La compilation simple (transpilation vers JavaScript) est encore plus rapide.
Comment tester dès maintenant
# Installation globale
npm install -g @typescript/native-preview
# Utilisation — remplacement drop-in de tsc
npx tsgo --version
npx tsgo # équivalent à tsc
# Mode watch
npx tsgo --watch
Le dépôt microsoft/typescript-go (25 300 étoiles à ce jour) documente l'état d'avancement de chaque fonctionnalité. La parité sémantique avec TypeScript 6.0 est l'objectif déclaré : tsgo effectue exactement la même vérification de types que tsc 6.0.
Ce qui reste à finaliser
TypeScript 7.0 Beta n'est pas encore un remplacement complet de tsc. Deux fonctionnalités importantes sont encore en cours :
- Language Server Protocol (LSP) — le service de langage pour les éditeurs (autocomplétion, renommage, etc.) est en développement actif. L'intégration VS Code est partielle.
- Déclaration d'émission (
.d.ts) — la génération des fichiers de déclaration pour les librairies publiées n'est pas finalisée.
Pour une utilisation en CI (vérification de types uniquement), tsgo est déjà utilisable sur la plupart des projets. Pour le développement interactif quotidien dans VS Code, il faut patienter quelques semaines.
Le contexte : TypeScript 6.0 comme passerelle
TypeScript 7.0 ne tombe pas de nulle part. TypeScript 6.0 (sorti le 23 mars 2026) était explicitement conçu comme la dernière release basée sur le codebase JavaScript. Ses changements (strict par défaut, esnext comme module par défaut, 9 options redessinées) visaient à aligner l'écosystème sur la cible de TypeScript 7.0.
Les options dépréciées en 6.0 (baseUrl, outFile, module: amd/umd) deviendront des erreurs dures en 7.0. La migration guide publiée sur GitHub liste l'ensemble des changements nécessaires.
Où est le piège ?
Le seul risque réel est de supposer que la parité fonctionnelle est totale alors qu'elle ne l'est pas encore. Les projets qui génèrent des fichiers .d.ts ou qui utilisent des plugins TypeScript complexes pourraient rencontrer des surprises. Pour toute utilisation en production, vérifier la matrice de statut avant de migrer.
À plus long terme, typescript-go sera fusionné dans le dépôt TypeScript officiel (microsoft/TypeScript), et ce dépôt de staging sera fermé. TypeScript 7.0 final ne devrait pas tarder.
Annonce officielle Microsoft · Dépôt microsoft/typescript-go · Visual Studio Magazine — benchmarks