Guide de migration
Cet article fournit un ensemble de directives pour migrer de la version 9 à la version 10 de NestJS. Pour en savoir plus sur les nouvelles fonctionnalités que nous avons ajoutées dans la version 10, consultez cet article. Il y a eu quelques très mineures ruptures qui ne devraient pas affecter la plupart des utilisateurs - vous pouvez trouver la liste complète ici.
Mise à jour des paquets
Bien que vous puissiez mettre à jour vos paquets manuellement, nous recommandons d’utiliser ncu (npm check updates).
Module de cache
Le CacheModule
a été supprimé du paquet @nestjs/common
et est désormais disponible en tant que paquet autonome - @nestjs/cache-manager
.
Ce changement a été effectué pour éviter des dépendances inutiles dans le paquet @nestjs/common
. Vous pouvez en savoir plus sur le paquet @nestjs/cache-manager
ici.
Dépréciations
Tous les méthodes et modules dépréciés ont été supprimés.
Plugins CLI et TypeScript >= 4.8
Les plugins CLI de NestJS (disponibles pour les paquets @nestjs/swagger
et @nestjs/graphql
) exigeront désormais TypeScript >= v4.8,
et les versions plus anciennes de TypeScript ne seront plus prises en charge.
La raison de ce changement est que dans TypeScript v4.8 a introduit plusieurs ruptures dans son arbre syntaxique abstrait (AST) que nous utilisons pour générer automatiquement des schémas OpenAPI et GraphQL.
Suppression du support pour Node.js v12
Depuis NestJS 10, nous ne supportons plus Node.js v12, car v12 est arrivé en fin de vie le 30 avril 2022.
Cela signifie que NestJS 10 nécessite Node.js v16 ou supérieur.
Cette décision a été prise pour nous permettre de définir finalement la cible sur ES2021
dans notre configuration TypeScript, au lieu d’expédier des polyfills comme nous l’avons fait par le passé.
Désormais, chaque paquet officiel de NestJS sera compilé par défaut en ES2021
, ce qui devrait se traduire par une taille de bibliothèque plus petite et parfois même (légèrement) de meilleures performances.
Nous recommandons également fortement l’utilisation de la dernière version LTS.