Aller au contenu

Le média des artisans du web mercredi 19 août 2026

Front-end

TypeScript 7.0 : le compilateur réécrit en Go tient sa promesse de vitesse

TypeScript 7.0 est stable depuis le 8 juillet : compilateur entièrement réécrit en Go, environ 10× plus rapide que la 6.0. Ce que change la nouvelle chaîne de compilation, et comment migrer sans rupture.

TypeScript 7.0 : le compilateur réécrit en Go, et le « 10× plus rapide » n'est pas du bluff

C’est officiel depuis le 8 juillet : TypeScript 7.0 est stable, et l’outil n’a plus grand-chose de commun avec ses versions précédentes. Microsoft a réécrit l’intégralité du compilateur en Go, abandonnant le compilateur écrit en TypeScript qui se compilait lui-même. Le gain annoncé — environ 10× plus rapide que la 6.0 — résiste à l’épreuve des projets réels, ce qui est suffisamment rare pour une annonce de chaîne d’outils.

Temps de check de types (gros projet) TS 6.0 ~60 s TS 7.0 ~6 s ≈ 10× plus rapide, même code
Temps de vérification de types sur un projet volumineux : TypeScript 7.0 comparé à la 6.0.

Ce qui change concrètement

Le nouveau compilateur s’exécute en code machine et exploite le multithreading en mémoire partagée. Traduit en pratique : les projets qui demandaient trente à soixante secondes de vérification de types descendent sous la barre des quelques secondes.

CritèreTypeScript 6.0TypeScript 7.0
Langage du compilateurTypeScript (JS)Go (natif)
Vitesse de compilationréférence≈ 10× plus rapide
Parallélismelimitémultithreading en mémoire partagée
Empreinte mémoireélevéeréduite (exécution native)
Statutdernière version basée sur JavaScriptstable (8 juillet 2026)

Pourquoi la vitesse de compilation est un sujet

La lenteur de la vérification de types a longtemps été acceptée comme une fatalité. Sur les monorepos, elle se paie d’une façon particulière : le contrôle de types devient le maillon lent du pre-commit, il est désactivé « juste pour ce commit », puis désactivé tout court. Les erreurs de typage finissent alors par atteindre la production, non par absence d’outil, mais par abandon d’usage.

Diviser par dix le temps de vérification n’est pas un gain de confort : c’est la condition pour que le garde-fou reste activé.

Migrer depuis la 6.x

La 6.0, publiée le 23 mars, était explicitement présentée comme la dernière version fondée sur la base de code JavaScript — un palier de transition. Le passage en 7.0 est conçu pour être neutre du point de vue du langage, mais une réécriture complète expose toujours à des comportements de bord. La séquence de migration recommandée est la suivante :

  1. Monter d’abord en 6.x et verrouiller l’état (fichier de verrouillage à jour, intégration continue au vert).
  2. Passer en 7.0 sur une branche dédiée.
  3. Exécuter la suite de tests, puis tsc --noEmit et le build de production.
  4. Surveiller les greffons et transformateurs qui utilisaient l’API interne de tsc : ce sont les premiers points de rupture observés.
Point de vigilance : les outils qui dépendent de l’API interne du compilateur — générateurs de documentation, transformateurs de build, greffons de linter — sont les seuls à présenter un risque réel de régression. L’API publique, elle, reste stable.

Ce qu’il faut retenir

TypeScript 7.0 n’introduit ni nouvelle syntaxe ni nouveau paradigme. La version se juge sur un seul critère : la chaîne de build redevient rapide, et avec elle les garde-fous que la lenteur avait fait désactiver.

Sur les projets clients où j’ai fait la bascule, le bénéfice ne s’est pas mesuré en secondes gagnées mais en habitudes retrouvées : le contrôle de types est revenu dans le pre-commit, parce qu’il ne coûtait plus rien. C’est le genre de mise à jour qu’on adopte sans précipitation, mais sans hésitation. — Simon Janvier

Pour aller plus loin

L’annonce et les notes de version officielles sont publiées sur le blog TypeScript de Microsoft.

À lire aussi sur Mail Studio

Partager LinkedIn Bluesky Hacker News E-mail

À lire aussi