Разработчики Node.js сообщили о выпуске версии 21, в которой обновили JavaScript-движок V8 до 11.8, включили стабильные версии fetch и WebStreams. В конце октября Node.js станет единственной актуальной версией, а Node.js 20 перейдёт в LTS. Планируется, что 21 версия будет поддерживаться следующие шесть месяцев.
Основные нововведения:
-
модули fetch и WebStreams получили статус стабильных после недавнего обновления. Это затрагивает модули WebStreams, FormData, Headers, Request, Response, и fetch, разработчикам следует обратить внимание;
-
добавили экспериментальную имплементацию WebSocket, которую можно активировать с помощью флага --experimental-websocket;
-
включили JavaScript-движок V8, который обеспечивает поддержку новых функций и улучшенную производительность;
-
во время запуска тестов теперь можно использовать glob-выражения в параметрах
--test. Это позволяет выполнять тесты более гибко и удобно. К примеру, все файлы .test.js в нескольких директориях проекта можно запустить с помощью команды node --test **/*.test.js; -
появился экспериментальный флаг --experimental-default-type, с помощью которого можно изменить систему модулей по умолчанию. Важно отметить, что модули ES и CommonJS с явно определённым типом не затрагиваются. Под флаг попадают только модули CommonJS с неявным определением, которое по умолчанию будут интерпретироваться как ES;
-
если передать флаг --experimental-wasm-modules, то файлы без расширений будут восприниматься как WebAssembly, если они начинаются на asm;
-
удалили поддержку globalPreload, вместо этого рекомендуется использовать initialize для установки связи между потоками и register для отправки данных из потока приложения;
-
иногда при записи данных в файл они могут некоторое время оставаться доступными для последующих операций. В этом выпуске добавили опцию flush в семейство функций fs.writeFile, которая принудительно очищает файлы;
-
оптимизировали потоки Writable и Readable путём удаления лишних проверок и более эффективной системы планирования обратных вызовов.
Источник: habr.com