Nodejs 17.0

Par:
fredericmazue

mer, 20/10/2021 - 11:53

Nodejs vient de sortir en version  17.0. Node.js inclut désormais OpenSSL 3.0, sorti fin septembre, en particulier quictls/openssl qui fournit le support QUIC. Avec OpenSSL 3.0, la prise en charge de FIPS est à nouveau disponible à l'aide du nouveau module FIPS. Il est précisé qu'alors que les API OpenSSL 3.0 devraient être pour la plupart compatibles avec celles fournies par OpenSSL 1.1.1, les responsables du projet Node.js prévoient un certain impact sur l'écosystème en raison des restrictions plus strictes sur les algorithmes autorisés et les tailles de clé.

Si vous rencontrez une erreur ERR_OSSL_EVP_UNSUPPORTED dans votre application avec Node.js 17, il est probable que votre application ou un module que vous utilisez tente d'utiliser un algorithme ou une taille de clé qui n'est plus autorisé par défaut avec OpenSSL 3.0. Une option de ligne de commande, --openssl-legacy-provider, a été ajoutée pour revenir au fournisseur hérité comme solution de contournement temporaire pour ces restrictions renforcées.

Le moteur JavaScript V8 est mis à jour vers V8 9.5. Cette version est livrée avec des types supplémentaires pris en charge par l'API Intl.DisplayNames

Enfin, en ce qui concerne l' API de promise Readline, le module readline fournit une interface pour lire les données d'un flux lisible (comme process.stdin) une ligne à la fois.

L'exemple ci-dessous illustre l'utilisation de base du module readline :

import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();