Node.js 22

Par:
fredericmazue

jeu, 02/05/2024 - 10:00

L'équipe Node.js a publié Node.js 22 qui devient la 'version actuelle' selon la terminologie de l'équipe. Node.js 22 entrera en support à long terme (LTS) en octobre. Node.js 22 s'appuie sur le moteur JavaScript V8 de Google version 12.4. Le compilateur Maglev de V8 est désormais activé par défaut sur les architectures prises en charge Maglev améliore les performances des programmes CLI de courte durée, selon l'équipe de Node.js.

A remarquer, Node.js 22 ajoute la prise en charge des graphiques ESM synchrones. Pour cela le draperau --experimental-require-module doit être positionné. Lorsque --experimental-require-module est activé et que le module ECMAScript chargé par require() répond aux exigences suivantes :

  • Explicitement marqué comme module ES avec un champ "type": "module" dans le package.json ou une extension .mjs le plus proche.
  • Entièrement synchrone (ne contient aucune attente de niveau supérieur).

require() chargera le module demandé en tant que module ES et renverra l'objet d'espace de nom du module. Dans ce cas, le comportement est similaire à import() dynamique mais est exécuté de manière synchrone et renvoie directement l'objet d'espace de noms.

Cette fonctionnalité sera ativé par défaut dans des versions ultérieures de Node.js.

On remarque encore, dans cette version, une  nouvelle fonctionnalité expérimentale pour l'exécution de scripts du  package.jsonavec le drapeau cli node --run <script-in-package-json>. Node.js 22 prend également en charge node --run test qui provoque l'exécution de la commande test dans les scripts package.json.