TypeScript 7.1 Beta intègre attributs d’import et API compilateur
Microsoft a rendu disponible la version bêta de TypeScript 7.1. Cette mise à jour majeure du compilateur natif, réécrit en Go, réintègre enfin une API programmatique pour les outils externes. Daniel Rosenwasser a annoncé cette bêta le 20 octobre 2026, invitant les développeurs à tester les changements avant la version stable, que l’équipe place provisoirement fin novembre, même si la bêta accuse un léger retard sur le calendrier initial.
Le changement le plus attendu est la restauration de l’API du compilateur, que TypeScript 7.0 avait retirée. Pendant trois mois, les outils qui embarquaient le compilateur — comme ceux pour Vue, Svelte ou Astro, ou encore ts-morph — étaient bloqués sur TypeScript 6. Désormais, le compilateur est décomposé en points d’entrée plus ciblés, tels que typescript/sync ou typescript/ast, au lieu d’un module monolithique instable.
Gestion fine des ressources par attributs d’import
Le cœur technique de cette version réside dans le support des attributs d’import au niveau des déclarations de modules ambiants. Habituellement, le runtime essaie de deviner le contenu d’un fichier en fonction de son extension. Si l’on importe un fichier .json, par exemple, le runtime doit savoir qu’il doit le parser en JSON pour le fournir comme valeur par défaut. La syntaxe with { type: "json" } permet désormais de forcer ce comportement.
Cette fonctionnalité est cruciale car elle déplace la logique du runtime du simple nom de fichier vers les métadonnées fournies dans l’instruction d’import. Cela s’aligne sur des propositions ECMAScript, comme l’utilisation de type: "text" pour lire un fichier .md comme une simple chaîne de caractères, ou encore type: "bytes" pour charger une image PNG brute sous forme de Uint8Array.
Ce mécanisme offre un avantage substantiel sur les déclarations ambiantes classiques qui nécessitaient de redéclarer un motif pour chaque type de fichier (un .txt et un .md utilisant tous deux le type text). Avec cette nouvelle syntaxe, on peut déclarer : declare module "*" with { type: "text" } { ... }, ce qui permet au compilateur de savoir quel type appliquer, même si le fichier physique n’est pas trouvé, tout en assurant une cohérence entre les environnements.

Performances et intégration des frameworks
Au-delà des nouveautés linguistiques, l’impact sur les outils de développement est notable. Le support des content mappers est un point de discussion majeur. Ce mécanisme permet à un paquet d’informer TypeScript sur une vue virtuelle d’un fichier non standard, comme un composant .vue ou .svelte, en fournissant des cartes de retour vers l’original. Cela garantit que les erreurs de typage pointent sur la bonne ligne dans le fichier source.
Vue, par exemple, intègre déjà cette fonctionnalité. Johnson Chu a publié la version alpha v4 des outils linguistiques de Vue, remplaçant le binaire vue-tsc par un @vue/content-mapper intégré à tsc lui-même. Les résultats sont significatifs : dans un cas d’usage impliquant 581 composants Vue répartis sur 882 fichiers TypeScript, les temps de vérification de type sont passés de 14,19 à 3,10 secondes avec la version bêta et le mapper, soit une accélération de 4,6 fois par rapport à l’ancien système.
Les benchmarks montrent également des gains de performance sur d’autres usages. Les documents MUI de Microsoft passent de 22,2 à 11,9 secondes, avec une réduction de la mémoire utilisée. Un test indépendant sur NestJS a montré qu’un contrôle de 353 000 lignes s’est effectué en 2,76 secondes sur la bêta, contre 4,95 secondes sur TypeScript 7.0.
Néanmoins, l’adoption nécessite de la prudence. Les équipes utilisant Vue, Svelte ou Angular sont conseillées de maintenir une installation duale de TypeScript 6 et 7.1 en attendant la stabilisation complète de l’outillage de leurs frameworks. Il faut aussi noter que, selon Akira Higuchi, l’utilisation d’un mapper peut parfois laisser les types obsolètes dans un certain flux d’éditeur jusqu’au redémarrage du serveur linguistique.
Sources
- Announcing TypeScript 7.1 Beta – TypeScript, devblogs.microsoft.com
- feat: content mapper (v4 alpha) by johnsoncodehk · Pull Request #6170 · vuejs/language-tools, github.com
- TypeScript 7.1 Beta: Restores the Compiler API and Makes Vue and Svelte First-Class, InfoQ, 6 novembre 2026



