Dans un article de blog publié le 2 décembre, Microsoft a fourni des informations sur la version 7.0 de TypeScript, également connu sous le nom de Project Corsa, une initiative révélée en mars et basée sur le langage Go de Google. « Même si l’effort a été considérable, de grands progrès ont été réalisés », a fait remarquer l'auteur de l'article, Daniel Rosenwasser, chef de produit principal chez Microsoft pour TypeScript. L’éditeur prévoit de lancer la version 6.0 et 7.0 au début 2026. A noter que l’itération 6.0 sera la dernière version basée sur JavaScript et assurera la liaison entre les déclinaisons 5.9 et 7.0.

Le code est public et disponible dans le référentiel GitHub TypeScript-go. « En ce qui concerne le service de langage, la plupart des fonctionnalités qui composent l'expérience d'édition existante sont implémentées et fonctionnent bien dans TypeScript 7.0, même si certaines fonctions sont encore en cours de portage », a déclaré M. Rosenwasser. Certaines parties du service de langage ont été repensées afin d'améliorer la fiabilité tout en tirant parti du parallélisme de la mémoire partagée. La dernière préversion du service de langage pour Visual Studio Code est accessible depuis la place de marché de Visual Studio Code.

Plusieurs progrès significatifs

Le portage natif du compilateur TypeScript a également fait des progrès significatifs, la vérification des types pour la version 7.0 étant presque terminée. « Une question qui revient souvent, est de savoir s'il est « sûr » d'utiliser cette itération pour valider une compilation », a demandé le chef de produit, ou en d'autres termes, si le compilateur de TypeScript 7.0 détecte de manière fiable les mêmes erreurs que celui en 5.9. « La réponse est oui », a-t-il répondu. Pour contextualiser, il y a eu environ 20 000 cas de test du compilateur, dont environ 6 000 produisent au moins une erreur dans TypeScript 6.0. Ce n’est le cas que pour 74 dans les cas testés avec la version 7.0 du langage.  « Les développeurs peuvent aujourd'hui l’utiliser en toute confiance pour vérifier les erreurs de typage d'un projet », a affirmé Daniel Rosenwasser. Au-delà de la vérification de type en un seul passage/projet, le compilateur en ligne de commande a également atteint une parité importante. Des fonctionnalités telles que --incremental, la prise en charge des références de projet et le mode --build ont toutes été portées et fonctionnent.

TypeScript 7.0 supprimera les comportements et les indicateurs dont l'obsolescence était prévue dans l’itération 6.0. La liste des fonctionnalités qui seront obsolètes dans TypeScript 6.0 est disponible dans le suivi des problèmes. Pour les fonctionnalités emit, --watch et API, le pipeline JavaScript n'est pas encore tout à fait au point. « Les développeurs qui n'ont pas besoin de JavaScript emit depuis TypeScript peuvent utiliser tsgo pour la compilation, cela fonctionnera très bien », a déclaré le responsable. De plus, le projet Corsa ne prendra pas en charge l'API Strada existante. L'API Corsa est encore en cours de développement. Microsoft ne prévoit pas de produire une version 6.1 de TypeScript, même s’il pourra y avoir des versions de correctifs pour TypeScript 6. « On peut considérer la déclinaison 6.0 comme une version « passerelle » entre la 5.9 et 7.0 », a expliqué M. Rosenwasser. « La version 6.0 dépréciera certaines fonctionnalités afin de s'aligner sur la version 7.0, et sera hautement compatible en termes de comportement de vérification des types. » L'objectif est de garantir que TypeScript 6.0 et 7.0 soient aussi compatibles que possible.