JavaScript-Runtime Node.js 21 bringt experimentellen Modulsystemwechsel
Das Release stabilisiert bestehende Module, führt ein Flag für den Wechsel des Standardmodulsystems ein und wird Node.js 20 als Current-Version ablösen.
Die quelloffene JavaScript-Runtime Node.js hat Version 21 erreicht. Sie ĂĽberfĂĽhrt zwei Module in den stabilen Zustand, bringt ferner eine experimentelle WebSocket
-Implementierung und präsentiert ein experimentelles Flag zum Umstellen des Standardmodulsystems. Zudem aktualisiert das Release die JavaScript-Engine V8 auf Version 11.8, die neue Performance- und Sprachfeatures enthält.
Stabilisierte und experimentelle Features
Vor rund 1,5 Jahren fĂĽhrte Node.js 18 die experimentelle Fetch-API ein. Nun liegen sowohl das Fetch- als auch das WebStreams
-Modul im stabilen Zustand vor. Die Ă„nderung betrifft somit WebStreams
, FormData
, Headers
, Request
, Response
und fetch
.
Experimentelle Features bringt Node.js 21 ebenfalls mit. Dazu zählt eine Browser-kompatible WebSocket
-Implementierung. Sie lässt sich durch das Flag --experimental-websocket
aktivieren. Die dann verfĂĽgbare globale WebSocket
-Implementierung basiert auf dem Standard der Web Hypertext Application Technology Working Group (WHATWG).
Am 30. November 2023 richten iX und dpunkt.verlag den Advanced Angular Day aus. Die Online-Konferenz wirft einen tieferen Blick auf das Webframework – von Performance über Accessibility und Testing bis hin zu den neuen Angular Signals. Das Programm bietet sechs Vorträge sowie drei Ganztages-Workshops am 20. November, 1. und 4. Dezember.
Experimentelles Flag fĂĽr Modulsystemwechsel
Um zwischen den Modulsystemen ECMAScript Modules und CommonJS zu wechseln, stellt Node.js 21 das neue experimentelle Flag --experimental-default-type
bereit. Es wechselt das Standardmodulsystem, wovon allerdings solcher Input unberĂĽhrt bleibt, der explizit als ECMAScript-Module oder CommonJS definiert ist.
Was derzeit implizit als CommonJS verstanden wird, wĂĽrde nach dem Einsatz des Flags --experimental-default-type=module
als ECMAScript-Module verstanden. Dateien ohne Dateiendung interpretiert Node.js mit dem Flag --experimental-wasm-modules
als WebAssembly, sofern die Dateien mit der WebAssembly-Präambel \0asm
beginnen.
Das Node.js-Team arbeitet zudem an einer Erkennung der ECMAScript-Modul-Syntax, damit Node.js Dateien entsprechend interpretiert. Langfristig soll Node.js diese Syntax standardmäßig und mit minimalen abwärtsinkompatiblen Änderungen (Breaking Changes) unterstützen.
Long-Term Support fĂĽr Node.js 20
Die im April erschienene Major-Version Node.js 20 soll Ende des Monats in den Long-Term Support (LTS) übergehen. Dann soll Node.js 21 sie als Current Release ersetzen und planmäßig für sechs Monate – bis April 2024 – diesen Status beibehalten, wenn der Erscheinungstermin für Node.js 22 vorgesehen ist. Weitere Informationen zum Support von Node.js-Versionen bietet die offizielle Dokumentation.
Alle Details zum neuen Release finden Interessierte in einem Blogeintrag.
(mai)