Node.JS [ru] | Серверный JavaScript
11.3K subscribers
92 photos
5 videos
25 files
3.28K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
Вышел TypeScript 4.0

Что нового:

Вариадические типы кортежей

Элементы кортежа с метками (например [state: number, set: (x: number) => void])

Вывод свойств класса из конструкторов

Сокращённые операторы присваивания (например x /= 2)

тип unknown вместо any для переменной ошибки у catch

Кастомные jsxFactory и jsxFragmentFactory

Автоматическое конвертирование в optional chaining в редакторах

Поддержка @deprecated

Больше подробностей можно прочитать в посте, ссылка на который находится выше

#jsarticle #typescript
Promise.all vs Promise.allSettled в JavaScript

В ES2020 был добавлен новый метод allSettled у Promise. Статья рассказывает о том, что делает этот метод и как он отличается от Promise.all

#javascript #jsarticle #es2020 #promise
Prefresh, HMR для Preact

Статья от одного из создателей Preact об опыте написания своего аналога React Refresh для Preact — Prefresh. В тексте описан процесс работы HMR, и как он устроен внутри (с примерами кода).

#jsarticle #javascript #preact #react #frontend #webdev
​​Embla Carousel - гибкая библиотека для карусели с высокой точностью прокрутки

Не имеет сторонних зависимостей

Не привязана к библиотеке (но имеет React интеграцию)

Поддерживается во всех современных браузерах (и даже в IE11)

Написана на TypeScript

#jslib #javascript #frontend #webdev #react #typescript #carousel
Prisma - набор инструментов для управления БД через Node.js и TypeScript

Prisma состоит из 3 компонентов - Prisma Client, Prisma Migrate и Prisma Studio

Prisma Client может использоваться в любом backend приложении на JS/TS и поддерживает REST, GraphQL и gRPC (и любое другое API, которое использует БД) для API, и любую SQL БД

Prisma Migrate - это инструмент миграций БД схем, который хранит историю всех миграций и позволяет отменить любую из них

Prisma Studio - GUI среда разработки для баз данных, с возможностью просмотра и редактирования данных

В целом Prisma помогает облегчить управление БД и разработку backend приложений на JavaScript / Typescript

#jslib #prisma #database #backend #javascript #typescript #webdev #sql #graphql #rest #grpc
​​Вышел Deno 1.3

Что нового:

Добавлен FileReader API

У deno lint появились флаги --json и --ignore

У deno bundle и deno info появился флаг --reload

Добавлен util.inspect

Полный список обновлений можно найти в ссылке на релиз, написанной выше

#jsrelease #javascript #deno #backend
​​tinyhttp - современный и быстрый веб-фреймворк для Node.js, являющийся альтернативой Express

Основные преимущества:

Не зависит от легаси модулей по типу object.assign

Совместим с промежуточными обработчиками для Express

Есть поддержка ассинхронных обработчиков

Существует готовый набор обработчиков для общих задач по типу логгирования и парсинга кук

Написан на TypeScript и как следствие есть типизация из коробки

Фреймворк находится в ранней разработке, поэтому не весь функционал из Express до конца перенесён.

P.S. Создателем фреймворка является автор канала (@talentless_guy), если есть фидбек по поводу tinyhttp, то пишите в личку (или в наш чат) :D

#backend #webdev #javascript #typescript #tinyhttp #express #nodejs
​​cashify - маленькая JavaScript библиотека для перевода валют

Как написано в README, cashify является потомком money.js.

Из фич:

Простое API

Нет зависимостей

Активно поддерживается (у money.js последний коммит был ~6 лет назад)

Библиотека написана на TypeScript

Хорошо протестирована

#jslib #javascript #currency
Анатомия подозрительного пакета в npm

Статья разбирает то, каким образом устроены уязвимые пакеты. На примерах показываются простой вирус на C, засунутый в postinstall скрипт, удалённое исполнение программы и вытаскивание паролей из .env файлов.

#jsarticle #javascript #npm #backend #nodejs
Todo-лист для CLI на Deno

Автор статьи испытывает Deno на практике, пробуя написать на нём простое Todo приложение, и описывает каждый этап (с кодом и пояснениями)

Будет интересно для тех, кто много раз слышал о Deno, но не было причин попробовать написать что-то на нём

#deno #backend #jsarticle #javascript
wouter - минималистичный роутер для Preact и React, основанный на хуках

Поддерживает как React, так и Preact

Весит 1308B вместо 11KB у React Router

Имеет хуки (useRouter, useLocation и т.д.) и компоненты (<Switch />, <Link /> и т.д.) для работы с роутингом

Поддерживает серверный рендеринг

#jslib #javascript #react #frontend #webdev #router #preact
Urban Bot - библиотека, которая адаптирует React для написания чат-ботов

Позволяет легко создавать чат-ботов из готовых компонентов и запускать сразу во всех мессенджерах

Есть поддержка Telegram, Facebook, Slack, и возможность интегрировать любой месенджер

Предоставляет легкую работу с навигацией и возможность создавать диалоги любой сложности

Совместима с React экосистемой, будь то Redux, Mobx, или Apollo и позволяет шарить логику между вашими web и react native приложениями

Для более детального ознакомления можно прочитать статью на хабре

Прислал подписчик - @ledamint

#jslib #javascript #react #chatbot #telegram
Записи (Records) и кортежи (Tuples) в React

Статья рассказывает о том, что такое записи и кортежи, в чём их преимущества, и как использовать их в React коде

#jsarticle #javascript #react #frontend #webdev
TSTL - реализация стандартной шаблонной библиотеки в TypeScript

Реализует STL, перенесённый из C++ в TypeScript

Имеются реализации container, algorithm и functor из C++

TSTL может быть полезным как дополнение стандартной библиотеке TypeScript'а

#jslib #typescript