TypeScript 5.7 est sorti : ce qui a changé et pourquoi c'est important
L'équipe Microsoft a officiellement présenté TypeScript 5.7 — une nouvelle mise à jour majeure du langage de programmation typé populaire. Cette nouvelle version comprend des dizaines de corrections, d'optimisations et de fonctionnalités très attendues qui simplifient le développement et rendent le code encore plus sûr. Analysons les principaux changements.
Vérification améliorée des branches avec never
L'une des principales nouveautés est une analyse plus intelligente des branches inaccessibles. Auparavant, TypeScript ne déterminait pas toujours correctement que le code après un appel de fonction avec un type de retour never n'est pas exécuté. Désormais, le compilateur suit ces cas plus précisément, ce qui réduit le nombre d'erreurs fausses et permet d'écrire des constructions plus propres :
- Les avertissements incorrects concernant le « code inaccessible » sont éliminés.
- Amélioration de la gestion des exceptions et des boucles infinies.
- Comportement plus correct lors de l'utilisation de
assertNever.
Nouvelle cible de compilation : --target ESNext
Ajout de la prise en charge du drapeau --target ESNext. Vous pouvez désormais compiler le code pour la version la plus récente d'ECMAScript sans avoir à spécifier un numéro spécifique (par exemple, ES2023). C'est particulièrement pratique dans les projets où la compatibilité avec les dernières fonctionnalités des moteurs JavaScript est importante. Il est prévu qu'ESNext soit automatiquement mis à jour à chaque nouvelle version de TypeScript.
Types utilitaires : améliorations et nouvelles fonctionnalités
Dans TypeScript 5.7, les utilitaires intégrés pour travailler avec les types ont été étendus :
- NoInfer — un nouvel alias qui empêche TypeScript de déduire automatiquement le type à partir de l'argument passé. Aide à éviter des réductions inattendues lors des surcharges.
- Amélioration du fonctionnement de
OmitetPickavec les types conditionnels et le mappage. - Ajout d'une vérification plus stricte pour les tableaux
readonlydans le contexte de l'opérateur spread.
Optimisation des performances du compilateur
Les développeurs ont travaillé sérieusement sur la vitesse de compilation incrémentielle. Selon l'équipe, le temps de construction dans les grands monorepos (par exemple, avec des milliers de fichiers) a été réduit de 10 à 15 %. Cela a été rendu possible grâce à :
- La mise en cache des résultats de vérification de type pour les modules non modifiés.
- Un algorithme amélioré de résolution des chemins (module resolution).
- L'optimisation du travail avec les types conditionnels.
Simplification du travail avec JSDoc et mises à jour de l'éditeur
TypeScript 5.7 comprend mieux les annotations de JSDoc — désormais, des modèles et des types d'union plus complexes sont pris en charge. Dans les éditeurs (VS Code, WebStorm), l'autocomplétion pour les fichiers de configuration tsconfig.json a été améliorée : les suggestions sont devenues plus précises et la description de chaque champ plus détaillée.
Autres corrections et conclusion
Cette version comprend également des corrections de dizaines de bugs liés au fonctionnement des décorateurs, des modules et des intersections de types. La mise à jour est disponible via npm :
npm install -D typescript@5.7TypeScript 5.7 est une version équilibrée qui rend le développement plus confortable sans casser radicalement la rétrocompatibilité. Si vous utilisez un typage strict dans vos projets, nous vous recommandons de mettre à jour dans les plus brefs délais.
Suivez l'actualité sur PythonLib — nous continu