Вийшов Node.js 16, у якому тепер є вбудовані бінарні файли Apple Silicon та нова версія (9.0) механізму JavaScript V8.
Node.js 16 буде основним поточним релізом протягом 6 місяців, тоді, в жовтні 2021 року, перейде у статус LTS (ось тут можна переглянути графік релізів).
Це перший випуск Node.js, який має вбудовані бінарні файли для Apple Silicon. Тож інсталятор Mac буде постачатись як двійковий файл з архітектурами Intel (darwin-x64
) і ARM (darwin-arm64
).
Також тут діє версія 9.0 рушія JavaScript V8 і підтримка нових функцій. Розробники тепер можуть використовувати API Timers Promises, індекси RegExp Match та інші корисності, серед яких:
- Експериментальна реалізація стандартного Web Crypto API.
- npm 7 (v7.10.0 у Node.js v16.0.0).
- восьма версія Node-API.
- Стабільна реалізація
AbortController
на базі AbortController Web API. - Стабільні Source Maps v3.
- Реалізації atob (
buffer.atob(data)
) і btoa (buffer.btoa(data)
) для сумісності зі застарілими Web API.
Як щодо модулів ES6 та CommonJS
Видання The Register також запитало команду Node.js про прогрес у підтримці модулів ES6. Однією з проблем JavaScript-розробки є те, що деякі бібліотеки та інструменти використовують CommonJS, який імпортує модулі з оператором require
, а інші — стандарт ES6, або ESM, що використовує оператор імпорту. Під час виконання ці системи поводяться по-різному, до того ж ESM-модулі підтримуються у браузерах, а CommonJS — ні.
До речі, нещодавно ми писали, як створити гібридний NPM-модуль для ESM і CommonJS та обійтись без двох кодових баз.
Розробники кажуть, що Node.js зараз рухається в бік модулів ES6. Зараз оновлюються зразки коду в документації API, щоб були приклади з ESM. Однак CommonJS і сумісність з ним теж залишаться важливими у найближчому майбутньому.
Вже відкриті пул-запити для того, щоб покращити стабільність ESM у версіях Node.js 12 і 14. Наприкінці цього місяця припинить діяти Node.js 10 і вийдуть оновлення для LTS-релізу — імовірно, тоді ж основна реалізація ESM буде стабільною у всіх гілках Node.js, які зараз підтримуються (щоправда, деякі ESM API залишаться експериментальними, зокрема Loaders API).
Детальніше про всі оновлення Node.js можна дізнатись на сторінці релізу.
Ще немає коментарів