Microsoft lance TypeScript 6.0, la dernière version JavaScript avant la réécriture en Go

Microsoft a officiellement publié TypeScript 6.0, marquant la fin d'une ère. Il s'agit de la dernière version du compilateur TypeScript construite sur JavaScript, alors que l'équipe se prépare à basculer vers un compilateur entièrement réécrit en Go pour TypeScript 7.0.
Un pont entre deux ères
TypeScript 6.0, annoncé le 23 mars par Daniel Rosenwasser, Principal Product Manager, est conçu comme une version de transition. Son objectif principal est d'aider les développeurs à préparer leurs bases de code pour le futur compilateur natif basé sur Go, connu en interne sous le nom de Project Corsa.
Le compilateur TypeScript 7.0 en Go est décrit comme "extrêmement proche de son achèvement" avec une adoption interne large chez Microsoft. Les premiers benchmarks montrent des améliorations des temps de compilation allant jusqu'à 10 fois pour les grandes bases de code, accompagnées d'une réduction significative de la consommation mémoire.
Les nouveautés de TypeScript 6.0
Nouvelle configuration par défaut
TypeScript 6.0 embarque des paramètres par défaut modernisés qui reflètent les bonnes pratiques actuelles :
strict: trueest désormais activé par défaut, encourageant un code plus sûr dès le départmodule: esnextremplace l'ancien défautcommonjstarget: es2025suit une stratégie de ciblage basée sur l'année en courstypes: []désactive le scan automatique des packages@types, améliorant les temps de build de 20 à 50 % dans de nombreux projets
Support ECMAScript 2025
Cette version ajoute un support complet des fonctionnalités ES2025, notamment les types de l'API Temporal, RegExp.escape() et les méthodes upsert pour Map et WeakMap (getOrInsert, getOrInsertComputed).
Amélioration de l'inférence de types
Les fonctions sans utilisation explicite de this ne sont plus traitées comme contextuellement sensibles, ce qui améliore l'inférence de types dans les appels génériques, particulièrement avec la syntaxe de méthodes dans les objets littéraux.
Imports de sous-chemins
Le support du préfixe #/ pour les imports de sous-chemins Node.js élimine le besoin de segments de chemin intermédiaires, simplifiant la configuration des projets.
Suppressions et changements majeurs
TypeScript 6.0 supprime plusieurs fonctionnalités historiques qui ne seront pas portées vers le compilateur natif :
- La cible ES5 est dépréciée, ES2015 devient le minimum
--moduleResolution nodeest supprimé au profit denodenextoubundler--outFiledisparaît, l'équipe recommandant l'utilisation de bundlers- Les formats de modules AMD, UMD et SystemJS ne sont plus supportés
- Les assertions d'import avec le mot-clé
assertssont remplacées par la syntaxewith
L'équipe recommande d'utiliser l'outil expérimental ts5to6 pour automatiser la migration, et de configurer "ignoreDeprecations": "6.0" comme solution temporaire si nécessaire.
Se préparer pour TypeScript 7.0
Le nouveau flag --stableTypeOrdering est un outil de diagnostic qui reproduit l'ordonnancement déterministe des types du compilateur natif. Bien qu'il puisse réduire les performances jusqu'à 25 %, il aide les développeurs à identifier et corriger le code qui dépend d'un ordonnancement non déterministe des types avant la mise à niveau.
Microsoft souligne que la résolution de tous les avertissements de dépréciation de TypeScript 6.0 est essentielle, car les fonctionnalités dépréciées seront entièrement supprimées dans la version native.
Ce que cela signifie pour les développeurs
TypeScript 6.0 constitue un signal clair de Microsoft sur l'avenir du langage. La réécriture en Go n'est pas une simple optimisation, mais un changement architectural fondamental qui rendra TypeScript nettement plus rapide et plus économe en mémoire. Les développeurs devraient commencer à mettre à jour leurs projets dès maintenant pour garantir une transition fluide lors de l'arrivée de TypeScript 7.0.
Source : Microsoft Developer Blog
Discutez de votre projet avec nous
Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.
Trouvons les meilleures solutions pour vos besoins.