TypeScript 5.7, la dernière version de la variante JavaScript de Microsoft avec syntaxe pour les types, est désormais disponible pour la production. Avec cette itération, le système de types du langage est à présent capable de signaler des erreurs quand des variables n'ont jamais été initialisées. Avec les vérifications pour les variables jamais initialisées, l'équipe de TypeScript a résolu une situation où les vérifications du langage pour les variables non initialisées ne fonctionnaient pas toujours. Par exemple, en cas d’accès à une variable non encore initialisée dans une fonction séparée, le système de type ne savait pas quand la fonction serait appelée, estimant plutôt de manière optimiste que la variable serait initialisée. Même si TypeScript 5.7 reste indulgent à l'égard des variables qui ont pu être initialisées, le système de types peut dorénavant signaler des erreurs quand les variables ne l’ont jamais été.
TypeScript 5.7 propose également une autre option de compilation, --rewriteRelativeImportExtensions. Lorsqu'un chemin d'importation est relatif et se termine par une extension TypeScript (.ts, .tsx, .mts, .cts), et qu'il s'agit d'un fichier sans déclaration, le compilateur réécrira le chemin vers l'extension JavaScript correspondante (.js, .jsx, .mjs, .cjs). Cela permet d'écrire du code TypeScript qui exécutable sur place et compilé en code JavaScript lorsqu'il est prêt.
Les autres fonctionnalités
Parmi les autres fonctionnalités de TypeScript 5.7 on peut citer :
- le support de --target es2024 pour le ciblage des runtimes ECMAScript 2024.
- le support de la mise en cache de la compilation V8 dans Node.js.
- un comportement plus cohérent pour les méthodes dans les classes lorsque celles-ci sont déclarées avec des noms de propriétés calculés non littéraux.
- une erreur implicite any sous noImplicitAny, en dehors de strictNullChecks, quand une expression de fonction est typée contextuellement par une signature renvoyant un type générique
- la recherche du fichier tsconfig.json propriétaire pertinent lors du chargement d’un fichier TypeScript dans un éditeur utilisant TSServer (comme Visual Studio ou Visual Studio Code).
- l’application systématique de certaines règles pour éviter les erreurs d'exécution lors de l'importation à partir d'un fichier .json sous --module nodenext.
TypeScript 5.7 fait suite à la publication en septembre de la version 5.6, avec des fonctionnalités telles que l'interdiction des vérifications null et true pour les syntaxes qui ne varient jamais en termes de nullité ou de véracité.
La disponibilité générale de TypeScript 5.7 a été annoncée le 22 novembre, après la sortie d’une version candidate le 8 novembre et d’une bêta le 9 octobre. L’édition de production peut être installée via NPM à l'aide de la commande npm install -D typescript.