Node.js Digest #18: Deno vs Oracle, Fluid computing, Bun 1.2, Deno 2.2, Nest.js 11

Привіт, спільното! На зв’язку Олександр Зіневич та команда Avenga. Зустрічайте новий місяць та новий Node.js Digest.

Коротко про головне

🔹 Node.js 18 більше не буде підтримуватись у Builds та Functions на платформі Vercel, хоча на теперішні деплойменти на Srverless Functions це не вплине.

🔹 Нова версія Typescript v5.8 RC готова до використання, а на момент виходу дайджесту вже може буде навіть повноцінний реліз.

🔹 Чергові LTS-оновлення Node.js — v.20.18.3, v22.14.0, v18.20.7.

🔹 Нова версія Nest.js v11, де нам звезли значні покращення до логування, підтримку останніх версій Express та Fastify та трохи гнучкості в роботі з такими сервісами, як Redis, Kafka тощо, за допомогою методу unwrap.

🔹 Нові можливості для роботи з monorepo від nx.

🔹 Deno 2.2, де як завжди багато всього, а головне — краща сумісність з Node.js.

🔹 Оновлення Prisma, Mongoose, pnpm.

Deno vs Oracle, eп.3

Звісно, одним з основних топіків останніх дайджестів є двобій між Oracle та усією JavaScript-спільнотою, на чолі якої стоїть Ryahn Dahl та Deno. Якщо вам цікавіший відеоформат, то ось тут якраз невеличкий стрім, де можна почути всі останні деталі того, що відбувається:

Або ось тут почитати.

Oracle очікувано вирішив боротися за торгову марку, проте у досить цікавий спосіб. Нагадаю, що для підтвердження своїх прав на торгову марку Oracle надавали кілька підтверджень належного використання, одним з яких був скріншот Node.js, який, звісно, був наданий без будь-яких погоджень з Ryahn Dahl і командою. Дочекавшись останнього можливого дня для відповіді, Oracle намагаються зосередити основну увагу на розборі саме цього кейсу, а не обговоренні, власне, суті — власності на торгову марку.

Попереду на нас чекають довгі юридичні баталії, але ми можемо допомогти зробити JavaScript вільним, підписавши ось цю петицію (якщо ви ще цього не зробили), яку команда Oracle дуже б хотіла відкликати.

Kill switch в NPM

Ви всі знаєте, наскільки небезпечна екосистема npm. Щодня випускаються десятки або навіть сотні шкідливих пакетів, і їхні автори чекають на ваші особисті дані.

Цього місяця команда Socket поділилася деякими деталями про важливість обережності з npm і постійної перевірки правильності npm-пакетів, які ви використовуєте. У своєму блозі команда Socket поділилася деякими деталями про пакети chokidar і chalk, які були підроблені поганим хлопцем і доповнені кодом «kill switch». Змінений пакет не просто видалить код, але й надішле його на якусь підозрілу URL-адресу.

Як завжди, потрібно пам’ятати, що погані хлопці чекають на ваші дані, тому важливо бути обережним із пакетами, які ви використовуєте.

Bun — новий реліз

Bun продовжує свій рух у бік єдиного JavaScript-інструменту для всього, а також заміни для будь-якого JavaScript-пакету, який ви коли-небудь використовували.

Можливо, саме тому навіть випуск версії 1.2 заслуговує на окреме відео:

І величезну, величезну публікацію у блозі.

У цій версії Bun зробив великий крок у напрямку кращої сумісності з Node.js. Замість того, щоб просто реагувати на повідомлення про помилки в GitHub, вони почали запускати тестові набори Node.js, що звучить справді розумно.

На цю мить були додані/покращені:
node:http2, node:cluster та сумісність інших API.
Bun тепер підтримує S3 прямо «з коробки».
Express працює в 3 рази швидше, ніж у Node.js.
Додано підтримку PostgreSQL на додачу до SQLite.
Починаючи з версії 1.2, можна використовувати bun install замість npm install — як завжди, швидше, ніж у Node.js.

Продуктивність команди Bun неймовірна. Схоже, що команда не їсть і не спить, а просто працює над Bun і перетворює його на «швейцарський ніж» сучасного JavaScript.

Fluid Computing

Нещодавно Vercel оголосили про реліз штуки, яка вже давно лежала на поверхні й звучить як щось очевидне. Ця штука дістала назву Fluid Computing. Про це, як вже заведено у світі розробки, є спеціальне відео, де обговорюють, як прийшли до такого рішення.

Загалом рішення очевидне, спочатку були сервери, потім Serverless, а зараз Vercel почали намагатись додати багатопоточності у Serverless і саме так отримали те що назвали Fluid Computing. Лише один тогл на користувацькому інтерфейсі, й ви отримаєте усі переваги Serverless та ще трошки в додачу:

Обіцяють, що поступово все будуть переводити саме на Fluid Computing, але то з часом.

Щось почитати

🔹 Розповідь Evan Hahn про його наполеонівський план зменшити усі npm-пакети на 5%, і як йому це не вдалось. Уявіть, як би вдалось? Звісно, для нас з вами нічого б не змінилось, але в цілому це була б класна технічна доповідь на якусь з конференцій.

🔹 Трішки статистики про те, що популярно в AI-світі, й що для цього використовують від Cloudflare. А тут навіть якісь трішки графіки є.

🔹 Чому —eraseSyntaxOnly важливий, розповідає Matt Pocock у своєму блозі.

🔹 Трохи про те, як структурувати код від Swizec Teller.

🔹 Matteo Collina розповів у своєму блозі, чому не варто використовувати URLPattern.

🔹 Як працює Prisma Postgres з картинками, графіками та скріншотами дашбордів. Дуже цікаво та гарно 🙂

🔹 Якщо ви ще не повністю перейшли на ESM, то тут Anthony Fu пише про те, чому вартує переходити повністю вже сьогодні.

🔹 Парсінг PDF — це та задача, яка досить часто (з мого досвіду) зустрічається у світі Node.js розробки. Liran Tal розповів, як це можна зробити безболісно.

🔹 Ви всі знаєте, що таке Copilot, а багато хто з вас користується навіть Cursor. Але якщо про рефакторинг з використанням Copilot пишуть у блозі Github, це вартує уваги.

Щось подивитись

🔹 Цікаве інтерв’ю та бесіда із засновником Vercel

🔹 Чи знаєте ви, коли вартує використовувати Redis? На каналі Interview Pen розповідають про цей інструмент та його використання.

🔹 Якщо маєте більше 5 годин вільного часу, то можете послухати ефір Ryan Carniato про Signals.

🔹 Тут Fireship розповідає про те, чому програмістам вартує ще трішки сильніше напружитись через розвиток теперішніх AI-інструментів.

🔹 Theo Browne розповідає про свій пошук бази даних, яка б задовільняла усі потреби для побудови t3chat.

🔹 Про те, як будувати Rag-застосунки з використанням MongoDB, розповів у своїй доповіді Ben Flast.

🔹 І ще трохи про AI й про, те як використання AI-інструментів впливає на якість коду, який ми створюємо. Дуже цікава бесіда на каналі ThePrimeTime.

Бібліотека місяця

Цього місяця мою увагу привернула бібліотека faker, яка хоч і багато кому знайома, але вийшла її нова версія, то я і згадав :) Якщо вам потрібно згенерувати рандомні імена для користувача, поштові адреси, дати народження тощо, то faker — це те, що виконає цю роботу ідеально.

На цьому все, крайній зимовий дайджест року добіг свого кінця. Пишіть запитання, лишайте коментарі та до зустрічі у березні ;)

Подобається дайджест? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі