TypeScript 5.0 est sorti : ce qu'un développeur doit savoir
L'équipe TypeScript a présenté la version 5.0 — la première mise à jour majeure dans le nouveau système de numérotation. Au lieu des habituelles 4.x, les développeurs ont décidé de passer à la 5.0, soulignant l'ampleur des changements internes. La nouveauté apporte plusieurs fonctionnalités très attendues, ainsi qu'une accélération significative du compilateur. Passons en revue les principaux changements à intégrer dès aujourd'hui dans vos projets.
Principales nouveautés de TypeScript 5.0
- Décorateurs (compatibles ECMAScript) — désormais TypeScript prend en charge les décorateurs standards, conformes à la proposition TC39. Les anciens décorateurs expérimentaux restent disponibles pour la rétrocompatibilité, mais il est recommandé aux nouveaux projets de passer à la nouvelle syntaxe.
- const type parameters — il est désormais possible de déclarer des génériques avec le modificateur
const. Cela permet d'inférer plus précisément les types de littéraux, notamment lors du travail avec des tableaux et des tuples. Par exemple,const tuple = <const T,>(...args: T) => argspréservera la longueur exacte du tuple. - Amélioration des performances — TypeScript 5.0 est plus rapide grâce à l'optimisation des structures de données internes et à la réduction de la charge sur le ramasse-miettes. Dans certains projets, la vitesse de compilation a augmenté de 10 à 25 %.
- Prise en charge de plusieurs configurations dans un même projet — il est désormais possible de spécifier plusieurs
tsconfig.jsondans la sectionreferencessans dupliquer les paramètres. Cela simplifie les monorepos et les architectures de microservices. - Gestion améliorée des enums — toutes les valeurs d'enum sont désormais des unions de types littéraux. Cela améliore la vérification des types et l'autocomplétion dans les éditeurs de code.
- JSDoc imports — dans les fichiers JavaScript utilisant
@typeet@param, il est désormais possible d'importer des types depuis d'autres fichiers viaimport('./types').SomeType. Cela rend la typification JSDoc considérablement plus puissante.
Ce qui a changé dans la syntaxe et la compatibilité
La version TypeScript 5.0 ne contient pas de changements cassants pour le code écrit en TypeScript 4.9. Cependant, il convient de prêter attention à quelques points :
- Suppression de la prise en charge de l'ancien système de décorateurs (si vous n'utilisez pas le flag expérimental
experimentalDecorators). - Les fichiers avec l'extension
.tspeuvent désormais contenir un export par défaut pour les fonctions asynchrones sans wrappers supplémentaires. - Amélioration de l'intégration avec Node.js ESM — TypeScript 5.0 gère correctement les extensions
.mtset.cts.
Comment mettre à jour vers TypeScript 5.0
La mise à jour ne nécessite pas d'efforts importants. Il suffit d'exécuter dans le terminal :
npm install typescript@latest --save-devAprès l'installation, il est recommandé de vérifier le projet pour détecter d'éventuelles erreurs à l'aide de la commande tsc --noEmit. Si vous utilisez d'anciens décorateurs, ajoutez le flag "experimentalDecorators": true dans tsconfig.json pour préserver la compatibilité.
Conclusion
TypeScript 5.0 est un pas en avant significatif pour l'écosystème. Les nouveaux décorateurs, les const type parameters et les performances améliorées en font l'une des versions les plus importantes