Annoncée le 19 février, la dernière version du runtime Deno pour JavaScript et TypeScript publiée par Deno Land s’intéresse au monde l’observabilité. Elle embarque le projet open source OpenTelemetry de la CNCF (Cloud Native Computing Foundation).  Dans ce cadre, Deno 2.2 instrumente automatiquement les API telles que console.log, Deno.serve et fetch. Les développeurs peuvent analyser leur propre code en utilisant npm:@opentelemetry/api. Pour capturer des données d'observabilité, les utilisateurs devront fournir un point de terminaison du protocole OpenTelemetry (OTLP). Pour les environnements de développement et de test, Deno Land suggère d'utiliser l'image Docker LGTM de Grafana.

Deno 2.2 introduit par ailleurs une mise à jour majeure de deno lint, qui apporte un autre système de plugins et 15 règles particulièrement destinées aux utilisateurs de React et Preact. Les règles incluent jsx-boolean-value, jsx-button-has-type, jsx-curly-braces, jsx-key, jsx-no-children-prop, jsx-no-comment-text-nodes, jsx-no-duplicate-props, jsx-no-unescaped-entities, jsx-no-useless-fragment, jsx-props-no-spread-multi, jsx-void-dom-elements-no-childrenrenrename, no-useless-rename, react-no-danger-with-children, react-no-danger, et react-rules-of-hooks.

Optimisation de la mémoire et mise à jour des dépendances améliorée

Pour améliorer les performances, Deno 2.2 efface désormais les informations relatives à l'analyse des modules après un délai d'attente. Selon les responsables de Deno Land, cette fonction réduit la consommation de mémoire. Par ailleurs, Deno.stat et node:fs.stat sont dorénavant jusqu'à 2,5 fois plus rapides sous Windows. De plus, la résolution des modules Node.js est plus rapide en limitant les conversions entre les URL et les chemins d'accès.

« Deno 2.2 modifie l'outil obsolète deno par l’ajout d’une méthode interactive de mise à jour des dépendances », a déclaré l’éditeur. Cette version améliore un peu plus la compatibilité avec Node.js et NPM, par exemple en rendant possible la découverte des fichiers .npmrc dans le répertoire personnel et le répertoire du projet.

D’autres évolutions

Parmi les autres apports de Deno 2.2, on peut citer :

- Un module node:sqlite très demandé qui facilite le travail avec des bases de données en mémoire ou locales.

- Les améliorations qui rendent deno lsp plus rapide et plus réactif, avec des avancées majeures pour les utilisateurs de frameworks web.

- Plus de précision de L'outil deno bench, pour l'évaluation du code.

- Les outils deno check pour la vérification des types respectent désormais les balises JSDoc et permettent de configurer les options du compilateur par membre de l'espace de travail.

- Des améliorations de performance et de qualité de vie ont été apportées à deno compile, qui est maintenant plus petit et plus rapide.

- La mise à jour vers TypeScript 5.7.

- Une nouvelle implémentation de WebGPU devrait améliorer les performances des API disponibles.

Les utilisateurs actuels peuvent installer Deno 2.2 en exécutant la commande deno upgrade. Les instructions pour les nouvelles installations sont disponibles ici.