TypeScript 7.1 bêta : une API pour les outils tiers
TypeScript 7.1 bêta ouvre une API stable au compilateur natif en Go, prend en charge Vue ou Svelte via des content mappers et gagne en vitesse.
Microsoft a publié le 20 octobre 2026 la bêta de TypeScript 7.1. Trois mois après TypeScript 7.0, première version stable du compilateur réécrit en Go, cette mise à jour comble un manque important : une API de programmation pour les outils qui s'appuient sur le compilateur. Elle introduit aussi un mécanisme pour analyser les fichiers Vue, Svelte ou Astro, et apporte de nouveaux gains de performance. La bêta s'installe avec npm install -D typescript@beta.
Une API pour le compilateur natif
C'est la nouveauté la plus attendue par l'écosystème. TypeScript 7.1 expose plusieurs points d'entrée : typescript/sync pour un client synchrone, typescript/async pour un client fondé sur les promesses, typescript/fs pour décrire le système de fichiers, et typescript/ast pour manipuler l'arbre syntaxique. Les objets API, Program et Snapshot sont libérables avec le mot-clé using ou par un appel à dispose(). Une méthode program.emitToString() permet de produire le code sans rien écrire sur le disque.
Microsoft prévient que cette API ne charge pas elle-même le fichier tsconfig.json et ne gère pas la surveillance des fichiers : c'est aux outils de s'en charger.
Des « content mappers » pour Vue, Svelte ou Astro
Deuxième chantier : les fichiers qui embarquent du TypeScript dans un autre format, comme .vue, .svelte, .astro ou .mdx. TypeScript 7.1 introduit les content mappers, déclarés dans tsconfig.json sous la clé contentMappers. Comme ces modules exécutent du code, ils exigent l'option --runExternalCode. Dans VS Code, ils nécessitent un espace de travail approuvé, et le réglage js/ts.contentMappers.enabled permet de les désactiver. Des prototypes existent pour Astro, CSS Modules, Ember, MDX, Svelte et Vue, mais le module pour Vue n'est pas encore publié sur npm, précise l'annonce.
Nouveautés du langage
Les déclarations de modules ambiants acceptent désormais des attributs d'import, par exemple declare module "*" with { type: "css" }. Un import sans l'attribut requis déclenche une erreur. TypeScript prend aussi en charge les imports de phase source (import source X from "..."), une proposition ECMAScript surtout utile pour WebAssembly.
Les options --target es2026 et --lib es2026 deviennent stables, avec notamment Math.sumPrecise(), Iterator.concat(), Error.isError() ou Array.fromAsync(). Sous --lib esnext apparaissent des méthodes encore à l'état de proposition, comme Promise.allKeyed ou Iterator.zip.
Plus rapide et plus économe en mémoire
Microsoft publie des mesures de vérification de types (--noEmit, quatre threads) sur plusieurs projets open source. Le temps passe par exemple de 21,6 à 17,7 secondes sur le code de VS Code, et de 22,2 à 11,9 secondes sur la documentation de MUI. La consommation de mémoire baisse de 15,8 % à 49,6 % selon les projets testés.
Ce qui peut casser
Deux changements méritent une vérification. La génération des types du DOM dans lib.d.ts a évolué, ce qui peut faire apparaître de nouvelles erreurs. Et TypeScript 7.1 se montre plus strict sur les paramètres de type distributifs dans les types conditionnels : certaines contraintes devront être réécrites.
Une version candidate est annoncée « dans environ un mois », suivie de près par la version finale, sans date précise. Tester la bêta sur sa base de code dès maintenant reste le meilleur moyen de signaler les régressions à temps. Les outils de l'écosystème JavaScript suivent la même quête de vitesse, à l'image du formateur intégré à Bun 1.44.