Node.JS [ru] | Серверный JavaScript
11.2K subscribers
95 photos
5 videos
25 files
3.29K 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
​​Snarkdown – Markdown парсер размером 1KB

Прост в использовании

Малый размер (1KB ES3 кода)

Имеет Native ESM модуль

#jslib #javascript #markdown #parsing
👍1
​​Colorette – маленькая библиотека для цветов в консоли

~1.5x быстрее альтернатив

Автоматическое обнаружение поддержки цветов

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

Учитывает NO_COLOR

Имеет Native ESM модуль

#jslib #javascript #nodejs #cli
​​Airgram – Telegram клиент для JavaScript, основанный на TDLib

Airgram упрощает разработку Telegram приложений на JS/TS

Из фич:

Проверка типов

Все методы TDLib имеют удобные обёртки и задокументированы

Гибок в использовании, т.к. Airgram использует промежуточные обработчики запросов

Работает как в браузере, так и на сервере (Node.js)

#jslib #javascript #typescript #telegram #nodejs
Вышел 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