Date de sortie : 16 mars 2023
Documentation officielle : Announcing TypeScript 5.0
TypeScript 5.0 est une release massive. Les décorateurs ECMAScript standard remplacent l’ancienne API expérimentale, const type parameters règlent des problèmes d’inférence frustrants, et le compilateur est 89% plus rapide. Oui, 89%.
Les nouveautés principales
Décorateurs ECMAScript
Implémentation du standard ECMAScript pour les décorateurs :
function logged<T extends (...args: any[]) => any>(
target: T,
context: ClassMethodDecoratorContext
) {
return function (...args: Parameters<T>): ReturnType<T> {
console.log(`Calling ${String(context.name)}`);
return target.apply(this, args);
};
}
class Calculator {
@logged
add(a: number, b: number) {
return a + b;
}
}
Remplace les décorateurs expérimentaux (experimentalDecorators).
const type parameters
Inférence const par défaut pour les génériques :
// Sans const : T est string[]
function getNames<T extends string[]>(names: T) { return names; }
getNames(["Alice", "Bob"]); // string[]
// Avec const : T est readonly ["Alice", "Bob"]
function getNames<const T extends string[]>(names: T) { return names; }
getNames(["Alice", "Bob"]); // readonly ["Alice", "Bob"]
extends multiple dans tsconfig
Hériter de plusieurs configurations :
{
"extends": ["./base.json", "./strict.json"],
"compilerOptions": { ... }
}
--moduleResolution bundler
Nouvelle stratégie de résolution pour les bundlers modernes :
{
"compilerOptions": {
"moduleResolution": "bundler",
"allowImportingTsExtensions": true
}
}
JSDoc @satisfies et @overload
Pour les projets JavaScript avec vérification de types :
/**
* @satisfies {Record<string, number>}
*/
const counts = { apples: 5, oranges: 3 };
/**
* @overload
* @param {string} x
* @returns {number}
*/
/**
* @overload
* @param {number} x
* @returns {string}
*/
function process(x) { ... }
Performance : 89% plus rapide — pas une faute de frappe
- Démarrage du compilateur 89% plus rapide que 4.9
- Package npm 41% plus petit (63.8 MB → 37.4 MB)
- Migration interne vers les modules ES
L’équipe TypeScript a migré le compilateur vers les modules ES et les résultats sont spectaculaires.
Autres améliorations
- Tous les enums sont maintenant des “union enums”
- --verbatimModuleSyntax pour un meilleur contrôle des imports
- Support de export type *
Échanger avec un expert TypeScript
Nous revenons vers vous sous 24h.
Chez Makersquad, nous accompagnons nos clients dans le développement d’applications robustes et maintenables grâce à TypeScript. Que ce soit pour structurer un nouveau projet, migrer un codebase existant ou améliorer la qualité et la sécurité de votre application, notre équipe met son expertise TypeScript à votre service.
À retenir
TypeScript 5.0 est une mise à jour incontournable. Les décorateurs standard ouvrent la voie à un écosystème plus unifié, et les gains de performance sont impressionnants. La migration depuis 4.x devrait être fluide pour la plupart des projets.