Aller au contenu

TypeScript 7.1 Beta ajoute une nouvelle API et des mappeurs de contenu

TypeScript 7.1 Beta rétablit une API programmatique pour les outils bloqués sur la 6.0, ajoute des mappeurs de contenu pour les fichiers .vue et vérifie les types jusqu'à 1,9 fois plus vite que la 7.0.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
The TypeScript 7.1 Beta pre-release page on GitHub, tagged v7.1-beta, linking the announcement and listing 24 download assets.

En chiffres

faster type-checking on mui-docs than TypeScript 7.0
1.9x
less memory on the same codebase
49.6%
the npm version to test
7.1.0-beta

Microsoft a publié TypeScript 7.1 Beta le 20 octobre 2026. Son rôle principal est de rétablir une API programmatique, le point d'accroche que les plugins d'éditeur et les linters utilisent pour dialoguer avec le compilateur. TypeScript 7.0 est sorti sans elle, ce qui a laissé de nombreux outils populaires bloqués sur TypeScript 6.0.

Pourquoi l'API compte

TypeScript 7.0, sorti le 8 juillet 2026, était une réécriture du compilateur dans le langage de programmation Go. Selon Microsoft, il est « quelque part autour de 10 fois » plus rapide que TypeScript 6. Mais il est sorti sans l'API sur laquelle s'appuient les autres outils.

Ce manque a freiné des outils comme Volar, qui alimente la prise en charge de Vue dans les éditeurs, le service de langage de Svelte, typescript-eslint et le vérificateur de templates d'Angular, rapporte NT Compatible. Leurs utilisateurs ont dû rester sur TypeScript 6.0.

L'API de la 7.1 est découpée en points d'entrée comme typescript/sync, typescript/async, typescript/fs et typescript/ast, selon l'annonce de Microsoft. Elle utilise des instantanés pour suivre les changements, ainsi qu'un système de fichiers virtuel. Les programmes doivent désormais être fermés explicitement quand un outil en a fini avec eux. Chaque outil a encore besoin de sa propre mise à jour avant que les équipes puissent laisser la 6.0 derrière elles.

Des mappeurs de contenu pour Vue, Svelte et Astro

De nombreux frameworks gardent leur code dans leurs propres types de fichiers, comme les fichiers .vue qui mélangent HTML, JavaScript et CSS. Un mappeur de contenu est un plugin qui transforme un tel fichier en TypeScript virtuel, avec une correspondance vers les lignes d'origine. L'éditeur peut alors y vérifier les types et sauter aux définitions.

Les mappeurs se déclarent dans tsconfig.json, sous contentMappers. Comme ce sont des programmes que TypeScript exécute, ils ne fonctionnent qu'avec l'option --runExternalCode. Dans VS Code, ils exigent aussi un espace de travail approuvé et le paramètre js/ts.contentMappers.enabled. L'article renvoie vers les premiers mappeurs pour Vue, Svelte, Astro, MDX, Ember et CSS Modules.

Nouvelles fonctionnalités du langage

La bêta ajoute aussi des fonctionnalités issues des nouveaux standards JavaScript :

FonctionnalitéCe qu'elle fait
Attributs d'import dans les modules ambiantsdeclare module "*" with { type: "css" } type un import selon son attribut, et non selon son nom de fichier
Imports en phase sourceimport source charge un module sans l'exécuter, par exemple un WebAssembly.Module
Cible et lib es2026Ajoute Math.sumPrecise(), Error.isError(), Array.fromAsync(), Map.prototype.getOrInsert() ainsi que des méthodes base64 et hexadécimales sur Uint8Array
Nouvelles méthodes esnextPromise.allKeyed, Iterator.zip et Iterator.prototype.chunks, entre autres

Deux changements peuvent casser du code existant. Les vérifications des types conditionnels distributifs sont plus strictes, ce qui peut provoquer des erreurs comme « Type 'B' does not satisfy the constraint 'A'. » Des définitions de types DOM mises à jour peuvent aussi modifier les résultats.

Vitesse et mémoire face à la 7.0

Microsoft a mesuré cinq bases de code réelles avec quatre threads de vérification des types et sans fichiers de sortie. Toutes ont tourné plus vite et utilisé moins de mémoire qu'avec TypeScript 7.0 :

Base de codeTemps 7.0Temps 7.1 BetaMémoire économisée
mui-docs22,2 s11,9 s49,6 %
t3code-server26,5 s19,1 s24,6 %
sentry19,6 s15,1 s20,8 %
vscode21,6 s17,7 s17,2 %
bluesky4,48 s3,89 s15,8 %

Installez-le avec npm install -D typescript@beta. La release GitHub indique la version npm 7.1.0-beta. Microsoft prévoit une release candidate dans « environ un mois », puis la version finale peu après. NT Compatible avance les dates prévues du 10 et du 24 novembre. Bun a pris une autre voie ce mois-ci : sa version 1.4.3 a ajouté bun check, son propre vérificateur de types TypeScript.

Ce que cela signifie pour les développeurs

Pour de nombreuses équipes, la 7.1 est la version qui rend possible l'abandon de TypeScript 6.

  • Surveillez vos fournisseurs d'outils. Si Volar, le service de langage de Svelte, typescript-eslint ou Angular vous retient sur la 6.0, suivez leurs gestionnaires de tickets pour la prise en charge de l'API 7.1. Votre mise à niveau attend la leur.
  • Testez la bêta dans une branche dès maintenant. Installez typescript@beta et vérifiez les types de votre projet. Cherchez les nouvelles erreurs dues aux règles plus strictes sur les types conditionnels avant la version finale.
  • Traitez --runExternalCode comme une décision de dépendance. Les mappeurs de contenu exécutent du code pendant la vérification des types. Ne l'activez que pour des paquets de mappeurs de confiance, et contrôlez cette option dans la CI.
  • Mesurez votre propre gain de vitesse. Les gains de 1,2 à 1,9 fois proviennent de cinq bases de code. Chronométrez tsc --noEmit sur la vôtre, avant et après.

Sources

  1. Announcing TypeScript 7.1 Beta - Microsoft DevBlogs
  2. TypeScript 7.1 Beta - GitHub
  3. TypeScript 7.1 Beta Released: New API Unblocks Vue, Svelte, and Angular Tooling - NT Compatible

Articles liés