La v7 avait introduit une rupture technologique majeure avec l’intégration de Go au cœur de l’architecture du langage.Aujourd’hui, l’équipe annonce la phase bêta de la version 7.1.

Pour l’installer, pour évaluation uniquement : npm install -D typescript@beta
Quelques nouveautés prévues pour cette version :
1 / support des Import Attributes dans Ambient Modules
Les attributs Import sont des métadonnées attachées aux états d’importation, par exemple, des instructions runtime.
Par exemple : import myData from "./data/someData.json" with { type: "json" };
TypeScript introduit la prise en charge des attributs d’importation dans les déclarations des modules Ambient. Vous pouvez désormais déclarer les éléments suivants dans vos projets TypeScript : une erreur se produira si vous tentez d’importer un fichier sans les attributs d’importation requis, et le type correct sera obtenu en fonction de ces attributs.
2 / Source Phase Imports
Il s’agit d’une proposition d’une nouvelle fonctionnalité dans ECMAScript : cette fonctionnalité introduit un nouveau modificateur/mot-clé source qui suit le mot-clé import. Seules les importations par défaut peuvent être écrites avec import source.
L'idée est que, lorsqu'on utilise import source, on récupère un objet représentant le module après son analyse par l'environnement d'exécution, mais avant le chargement de ses importations. Cet objet est en quelque sorte « inerte » : c'est une instance de AbstractModuleSource, destiné à être importé ou instancié ultérieurement.
Pour les importations WebAssembly (wasm), cet objet sera une instance de WebAssembly.Module. L'avantage de ces objets est qu'ils peuvent être passés directement à WebAssembly.instantiate.
3/ --target es2026
TypeScript 7.1 supporte maintenant es2026 en cible et lib. Les lib apportent le plus de nouveautés, les éléments stabilisés sont : voir l’annonce
4 / Nouvelles méthodes Library
Le langage introduit plusieurs nouvelles méthodes pour lib esnext :
- Promise.allKeyed and Promise.allSettledKeyed
- Iterator.zip and Iterator.zipKeyed
- Iterator.prototype.chunks
- Iterator.prototype.join
- Iterator.prototype.includes
5 / Les API de la 7.1
Cette prochaine version propose aussi plusieurs nouvelles API. Mais pour éviter l'introduction d’un bloc, le langage propose une introduction par point d’entrée, chaque point d’entrée ayant un but spécifique, par exemple :typescript/sync = un client compilateur synchrone supportant les options du compilateur, le type checking
6 / Snapshots
Le concept de snapshot est au cœur de l’API. Un instantané est une version de tous les projets et programmes à un moment précis. Vous pouvez toujours créer un nouvel instantané contenant toutes les informations nécessaires avec api.createSnapshot, mais nous pouvons également en dériver un à partir d'un instantané précédent avec snapshot.update(/*...*/). Cela permet souvent de gagner beaucoup de temps, tant en évitant l'envoi de toutes les informations d'origine qu'en évitant la reconstruction du système par le compilateur.
7 / Les API File Systems
Par défaut, les API TypeScript opèrent sur le système de fichiers hôte. La version 7.1 apporte et étend la notion de système de fichiers virtuel.
8 / Content Mappers
La 7.1 introduit le support du plugin content mapper. Un mappeur de contenu peut être enregistré avec une extension de fichier spécifique et générer une représentation virtuelle du fichier interprétable par TypeScript.Cette représentation comporte des zones qui correspondent au fichier original, généralement celles contenant le code JavaScript ou TypeScript. Cela permet à TypeScript de fournir des messages d'erreur et des spans plus précis, ainsi que des outils pour ces zones intégrées.
Enfin, la 7.1 continuera à optimiser les performances sur de nombreux éléments pour réduire l’usage mémoire, augmenter la vitesse des builds, etc. La liste est particulièrement longue : voir l’annonce
Annonce et note complète : https://devblogs.microsoft.com/typescript/announcing-typescript-7-1-beta/
Catégorie actualité: LangagesTypeScriptImage actualité AMP: