À l’intérieur de la refonte en Go de TypeScript 7 : des gains de vitesse sans modification du code
Découvrez comment le compilateur basé sur Go de TypeScript 7 permet des builds 8 à 12 fois plus rapides, pourquoi ce changement d’architecture fonctionne, et comment mettre à niveau en toute sécurité des projets existants.
Le compilateur fonctionne désormais sur un moteur basé sur Go, votre code existant n’a pas besoin d’être modifié, et les temps de compilation ont fortement diminué
Les majeures mises à jour des outils, qui ne surviennent que tous les quelques années, ont tendance à transformer votre flux de travail quotidien, et TypeScript 7 suit cette logique. Microsoft a reconstruit le compilateur pour en améliorer considérablement les performances — les compilations complètes s’exécutent 8 à 12 fois plus rapidement — sans nécessiter de modifications aux fonctionnalités du langage que vous utilisez déjà.
Ce qui a vraiment été livré
TypeScript 7 est sorti le 8 juillet 2026, remplaçant le compilateur basé sur JavaScript par une implémentation native en Go développée dans le cadre du projet interne appelé Project Corsa. Il convient de souligner qu’il s’agit d’une portation fidèle et non d’une refonte : la même logique de vérification des types ainsi que les sémantiques du langage ont été traduites ligne par ligne, de sorte que vos fichiers .ts se comportent exactement comme avant. Ce qui a changé, c’est le moteur sous-jacent qui exécute cette logique, et non la logique elle-même.
D’après les benchmarks internes de Microsoft, effectués sur le codebase même de VS Code, les temps de chargement des projets sont passés de près d’une minute à environ dix secondes. C’est le résultat principal. En pratique, le retard que vous rencontriez auparavant en exécutant tsc --watch après avoir changé de branche disparaît largement.
Pourquoi c’est beaucoup plus rapide
Deux modifications architecturales expliquent la majeure partie de l’amélioration de vitesse.
- Codage natif compilé au lieu d’exécuter via Node.js et le moteur V8
- Parallélisme à mémoire partagée, permettant l’analyse syntaxique, la vérification des types et la génération du code de s’exécuter simultanément sur plusieurs cœurs CPU
Cette version introduit également de nouvelles options, --checkers et --builders, qui vous permettent de contrôler le nombre de threads travailleurs parallèles chargés de la vérification des types et de la compilation des références de projet. Le mode d’observation a également été retravaillé, en s’appuyant sur un surveillant de fichiers basé sur Go initialement développé pour Parcel, et il effectue désormais des reconstructions incrémentielles nettement plus rapidement sur de grands monorepos.
Comment effectuer réellement la mise à niveau
L’installation du nouveau compilateur fonctionne exactement comme avant :
npm install -D typescript
npx tsc --version
# TypeScript 7.0
Aucune migration de configuration à effectuer, aucun codemod à exécuter, et aucune modification de syntaxe pouvant causer des problèmes à prendre en compte. Si votre équipe avait déjà adopté le paquet @typescript/native-preview durant la phase de candidat à publication, cette fonctionnalité — basée sur le binaire tsgo — a été intégrée au paquet standard typescript, accessible via l’étiquette de distribution next.
Il convient de souligner un point important : l’API du compilateur programmatisé n’est pas encore entièrement stabilisée. Si votre pipeline de construction, votre configuration ESLint ou vos outils personnalisés dépendent directement de l’API TypeScript plutôt que d’appeler simplement tsc, évitez pour l’instant d’écrire de nouveaux codes utilisant des interfaces comme createProgram. Les équipes dans cette situation devraient reporter un passage complet à ce nouveau système jusqu’à la sortie de la version 7.1, car cette version devrait combler les lacunes apparues lors des travaux de transition de l’année dernière.
Quelles en sont les conséquences pour les projets React et Next.js
Puisque de nombreuses outils de framework sont construits sur le compilateur TypeScript, ces outils bénéficient automatiquement des améliorations de performance. La vérification de types en temps de compilation dans Next.js, la réactivité d’IntelliSense dans les grandes bibliothèques de composants développées avec Redux ou Tailwind, ainsi que la vérification de types entre les projets d’un monorepo deviennent toutes plus rapides, sans qu’aucun changement de code ne soit nécessaire de votre part. Pour les équipes qui ont retardé l’activation de strict: true parce que la vérification de types sur l’ensemble du projet semblait trop lente pour être justifiée, c’est le moment idéal de reconsidérer cette décision — le coût computationnel associé vient en effet de diminuer d’un ordre de grandeur.
Points clés
- TypeScript 7 réécrit le compilateur, pas le langage lui-même — votre code est vérifié de la même manière, mais sur un nouveau moteur basé sur Go.
npm install, mais évitez de compter sur l’API programmative pour des outils personnalisés jusqu’à la sortie de la version 7.1.Si le temps de compilation était la raison pour laquelle vous évitiez d’activer la vérification stricte des types, cette excuse ne tient plus. Installez la nouvelle version, exécutez votre suite de tests existante, et observez comment le temps d’exécution de votre pipeline CI diminue.
Lectures complémentaires
- TypeScript 6 et 7 : Inference plus intelligente, puis reécriture basée sur Go — Découvrez comment TypeScript 6 a comblé des lacunes importantes en matière d’inference et modernisé les paramètres par défaut, préparant ainsi la voie à la reécriture complète du compilateur de TypeScript 7 en Go.
- Le compilateur de TypeScript en Go et l’exécution native : un guide de migration — Apprenez comment le compilateur basé sur Go de TypeScript et l’exécution native via Node.js affecteront les projets React et Next.js, ainsi quels éléments de votre tsconfig doivent être corrigés dès maintenant.