Il team di NodeJS, popolare JavaScript runtime basato sull'engine V8 di Chrome, ha rilasciato un nuovo major update che introduce diverse novità interessanti. In questo aggiornamento è stato incluso, ad esempio, il supporto a TLS 1.3 ed è stata inserita una nuova implementazione dello stndard ES6 Modules.
Bethany Griggs, NodeJS runtime developer di IBM, e Michael Dawson, IBM community lead per NodeJS, hanno pubblicato un post dedicato dove illustrano le nuove feature chiave del progetto:
I cambiamenti introdotti in NodeJS 12 includono un miglior supporto per i moduli nativi e le nuove N-API 4, che rendono più semplice usare i propri thread per le funzioni asincrone native
v8 7.4 e debug
In NodeJS 12 è stata adottata una nuova versione del JavaScript engine v8, ovvero la 7.4. Tale release dispone del supporto all'async stack trace (opzione --async-stack-traces
), una feature che consente di ottenere migliori informazioni per il debug delle applicazioni, permettendo quindi agli sviluppatori di rilevare errori e imperfezioni in modo più immediato.
heap limit
Sempre grazie alla nuova versione di V8 è ora possibile configurare degli heap limit, il JavaScript engine andrà a regolare i propri task in base alla memoria disponibile sul sistema. Grazie ai nuovi heap limit è quindi possibile garantire una gestione della memoria del sistema migliore ed evitare che i processi di NodeJS sottraggano risorse ad altri servizi o che cerchino di sfruttare memoria non disponibile.
Il parser llhttp
NodeJS 12 beneficia anche di un nuovo parser scritto in Typescript, ovvero llhttp, per la lettura dei messaggi HTTP. Arrivato anche un nuovo sistema, per il momento in fase sperimentale, di Diagnostic report che consente agli sviluppatori di creare report in tempo reale o quando si verifica un determinato evento.