Node.js Digest #20: Deno vs Oracle епізод 3, Serverless MCP, небезпечний Node.js та State of Web Dev AI
Привіт, спільното! На зв’язку команда Avenga з нашим регулярним щомісячним дайджестом найцікавіших новин зі світу Node.js і всього, що стосується серверного JavaScript.
Якщо зовсім немає часу:
Хайп із вайбкодингом пронісся повз нас — і, на щастя, ми всі залишились при роботі! Ось короткий огляд головних новин за минулий місяць у світі backend JavaScript:
- Node.js v24 вже на підході та скоро стане «current» версією. Нижче можете почитати про те, що ж нового на нас чекає в оновленні;
- У Node.js v25, ймовірно, підтримка localStorage буде за замовчуванням — ось тут активний pull request, де йде відповідна робота.
- Node.js v18 офіційно перейшов у статус «end of life», а v23 — у статус підтримки (maintenance).
- Здається, що все навколо скоро буде AI-агентами, чи не так? Команда Bun з цим погоджується, і тому додала файл llms-full.txt, який можна скормити вашій улюбленій LLM.
- Крім цього Bun ще більше покращили сумісність з Node.js і тести для Node.js Events модуля тепер проходять на 100%.
- JSR-пакети тепер можна використовувати у pnpm та Yarn.
Deno vs Oracle, eпізод 3
Ось уже третій епізод битви «Deno vs Oracle», і, видно, протистояння триватиме й у 2026 році. Як я вже згадував у минулому дайджесті, Ryahn Dahl спіймав Oracle на використанні скріншоту Node.js для підтвердження прав на торгівельну марку JavaScript. Тепер Oracle намагається відмахнутись від цього, аргументуючи: «але ж у нас також був й інакший скріншот!», хоча й тули, про яку ніхто нічого не чув 😂
Водночас Deno прямо називає це шахрайством, адже неправомірне використання чужого проєкту — це явно не дрібна помилка в документації. TTAB (Trademark Trial and Appeal Board) тепер має розглянути цей кейс і вирішити, чи буде продовжуватись розгляд заяви про шахрайство. Протягом наступних
JavaScript усюди
Microsoft повідомляє про нову тривожну тенденцію: кіберзлочинці дедалі частіше використовують Node.js для шкідливого ПЗ. Чому? Бо з Node.js такий код легко запускати, складно виявити, і він кросплатформний — ідеальний інструмент для сучасного атакувальника.
Зловмисники пакують свої інструменти за допомогою Node.js, використовуючи його гнучкість для створення троянів з віддаленим доступом (RAT), для викрадання даних та інших шкідливих компонентів. Node.js-застосунки легко маскуються під звичайні процеси та можуть тихесенько собі працювати у фоновому режимі, часто минаючи засоби безпеки.
А ще нападники активно застосовують обфускацію та публікують npm-пакети, які, на перший погляд, не викликають жодних підозр, що ще більше ускладнює виявлення загроз.
Порада від Microsoft? Сприймайте Node.js як потужне середовище для запуску скриптів. Node.js це не лише інструмент для розробки, а й потенційне джерело атаки. Налаштуйте ефективний моніторинг, перевіряйте залежності у ваших npm-проєктах і захищайте середовище виконання.
Що нового у Node.js v24
Node.js v24, можливо, вже вийшов на момент, коли ви читаєте цей дайджест, тож давайте зануримось у найцікавіше з нового улюбленої платформи!
Одна з найпрактичніших змін — це управління ресурсами за допомогою нових конструкцій using та await using. Ресурси, оголошені таким чином, автоматично звільняються після завершення їхнього використання і виходом зі скоупу, що робить ваш код безпечнішим та кращим з боку developer experience. Тепер Node.js ще більше буде схожим на C#, наприклад, де така конструкція була вже досить давно.
Також URLPattern тепер став глобальним об’єктом, нарешті без додаткового імпорту.
Ще одна корисна функція — метод Error.isError(), який дозволяє надійно перевіряти, чи є об’єкт помилкою, навіть між різними realms.
Серед інших покращень:
- Оновлення рушія V8.
- Permissions-модель трохи набрала стабільності.
- Оновлена версія npm.
- І ще багато всього іншого!
Повний список змін дивіться тут.
Continuous Integration, але проблеми з безпекою
У березні 2025 року команда Node.js мала безпековий інцидент. Зловмисникам вдалося досягнути виконання несанкціонованого коду на
Цей інцидент ще раз нагадує: навіть найбезпечніші системи можуть бути вразливими до соціальної інженерії та зловживання механіками, які на перший погляд виглядають безпечними. Команда Node.js відреагувала оперативно, переглянувши політики доступу та посиливши перевірки в
State of Web Dev AI
Рекомендуємо ознайомитись із результатами опитування State of Web Dev AI. Як завжди доволі багато просто статистичних даних про те, якими інструментами користуються респонденти:
- одними з найпопулярніших інструментів є ChatGPT та Claude (очікувано);
- найбільшими проблемами у роботі з
LLM-моделями є галюцинації та обмеження у контексті, які модель може тримати;
- Cursor — лідер серед орієнтованих на ШІ IDE, але і про VS Code респонденти не забувають;
- Github Copilot — лідер серед Coding Assistant інструментів, але є всі ознаки того, що Supermaven може стати його конкурентом.
Особливої уваги заслуговує категорія Opinions, де ставили розгорнуті питання. Так, наприклад, більшість респондентів погодились, що інструменти ШІ негативно впливають на загальний рівень експертності в індустрії, а також у більшості є побоювання стосовно Job Security та частково навіть впливу ШІ на майбутнє людства.
Щось почитати
- Команда Platformatic у своєму блозі розповіли про те, як тонке налаштування Grabage Collection (GC) та керування памʼяттю у V8 може суттєво покращити швидкодію Node.js.
- Liran Tahl розповідає, як можна менше використовувати npm install, а більше спиратись на нативні наявні в Node.js модулі.
- Останнім часом про MCP та їх використання не говорить хіба лінивий. На цій хвилі команда Serverless представила власний Serverless MCP Server, який виглядає цікаво на демовідео, але ми всі розуміємо, що в реальному житті все не так ідеально)
- Доволі глибокий розбір того, як Netflix досягають тієї якості відеострімінгу за яку ми всі любимо цей сервіс.
- Як зробити внесок в Open Source не просто звичкою, а місією? Цікаве дослідження про те, як команда Forward Email втілює цей підхід на практиці.
- Трішки роздумів на тему, чому Typescript переходять на Go.
- Просто для ознайомлення, бо сподобалась назва bhvr (Bun, Hono, Vite, React) 😂 Такий собі «спрощувач» старту проєкту. Хоча що може спростити більше за Cursor?
- Про новий тим масивів у Javascript — Float16Array, від Travor I. Lasn.
- Всі ми знаємо про CORS, але ніколи не завадить нагадати, чому з ним варто бути обачним, особливо коли про це пишуть у блозі Github.
- OWASP-у ніколи не буває замало, тому ось вам рекомендації по роботі із npm-пакетами.
Щось подивитись
Цього місяця слід звернути увагу на відео від Matt Pocock:
Де автор трішки корегує свою позицію стосовно використання чи не використання типів та інтерфейсів:
https://www.youtube.com/watch?v=e0AIkYrXAYE
Чому, якщо ви ще не звертали увагу, то от цього разу дійсно вартує звернути увагу на бібліотеку Zod, де вийшла вже четверта версія:
А також про те, як може виглядати вайбкодинг здорової людини:
Завжди цікаво послухати розмову двох розумних людей, цього разу бесіда Stefan Baumgartner з автором Typescript Cookbook Peter Kröner:
Чи знали ви що, у Google є вбивця Git? Якщо ні, то саме час познайомитись з тим, що вже завтра можна почати інтегрувати на ваших проєктах:
Якщо ви працюєте з event-driven системами, то Outbox pattern може бути чимось, що ви використовуєте вже, а якщо ні, то на своєму каналі Software Developers Diaries автор розповідає про переваги цього підходу:
Оновлення/Релізи
- Середовища: Node v22.15.0, Node.js v20.19.1, Deno v2.3, Bun v1.2.12;
- Фреймворки: Koa v3.0, Nest.js v11.1.0;
- Бібліотеки: Prisma v6.7.0, Zod v4 beta.
Ще трішки цікавого
Тут можна почитати про архітектуру WatsApp, яка дозволяє витримувати навантаження у 40 мільярдів повідомлень за день.
Якщо слово «паркет» не лише натякає на роботу після того, як програмістів замінить АІ, а ще й нагадує про Parquet формат даних, то можливо ви чули про Apache Iceberg:
Багато з вас чули про те, що Bun написаний на Zig, тут ось людина працювала із цією мовою цілих два роки й поділилась своїми враженнями:
Серед розробників на React схоже тліє розбрат, про це розповідає Fireship:
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів