Node.JS [ru] | Серверный JavaScript
11.5K subscribers
92 photos
6 videos
25 files
3.17K 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
next-api-decorators - коллекция TypeScript декораторов для API в Next.js

Позволяет создавать API эндпоинты в Next.js при помощи декораторов.

- Валидация запросов
- Декораторы для HTTP запросов, установки статус-кода, получения URL параметров, заголовков и содержимого запроса
- Трансформация разных типов для URL параметров и содержимого запроса (например парсинг строк в булевое значение)
- Исключения, можно создавать свои на основе HttpEexception класса

#jslib #javascript #nodejs #backend #nextjs #webdev
Ley - инструмент для миграций баз данных, не привязанный к драйверу

- Поддерживает postgres, pg, better-sqlite3, sqlite, mysql, mysql2 из коробки
- Если нужен драйвер, который не поддерживается, его можно добавить через класс Driver
- Не имеет зависимостей
- Любую миграцию можно откатить
- Не изобретает велосипед и использует интерфейс выбранного драйвера
- Можно расширять функционал Ley CLI для написания своих скриптов миграции

#jslib #nodejs #backend #webdev #migrations #pg #javascript #sqlite #mysql #sql
erc20-balance - JavaScript библиотека для получения баланса кошелька токенов на базе Ethereum

Основная фича библиотеки заключается в том, что баланс можно получить не через адрес контракта, а через название токена, например: balance({ coin: 'LINK', addr: '...' })

- Список из более чем 2000 токенов
- Поддерживает Node.js и Deno
- Библиотека написана на TypeScript

#jslib #javascript #ethereum #blockchain #erc20
​​Vuestic - UI фреймворк для Vue 3

- более 50 компонентов (с адаптивностью)
- хорошее a11y
- поддержка Chrome, Firefox, Safari 10+ и Edge

#jslib #vue #frontend #webdev #javascript
node-http - Deno HTTP сервер, похожий по API на Node.js HTTP модуль

Полезен для менее болезненного портирования серверных библиотек с Node.js на Deno, т.к. обладает похожим API.

Проект находится в активной разработке, поэтому со временем будет перенесено множество свойств из Node.js http модуля

#jslib #deno #backend #webdev #nodejs #typescript
Logux - менеджер состояния для React, Vue и Svelte от создателя PostCSS

- Весит всего 157 байт и не имеет зависимостей
- Библиотека довольно быстрая, благодаря атомарному состоянию, которое не вызывает ререндер каждого компонента
- Хорошо работает с tree-shaking
- Не использует CPU и память пока не рендерятся компоненты, подписанные на состояние
- Поддерживает TypeScript

#jslib #javascript #react #svelte #vue #frontend #webdev #typescript
Emittery - простой и современный асинхронный Event Emitter

Стандартный EventEmitter из Node.js не поддерживает синхронность, и обработка ошибок происходит через событие error вместо стандартного try ... catch

Emittery - улучшенная версия EventEmitter, которая работает асинхронно, поддерживает логгинг а также имеет хорошую поддержку TypeScript (с дженериками для более удобной типизации емиттеров)

#jslib #nodejs #backend #javascript
NHttp — HTTP/2 фреймворк для Deno наподобие Express

В отличие от остальных фреймворков, не привязан к std/http и не зависимостей

Используется только нативный Deno.serveHttp (пока ещё нестабильный API для сервера, использующий Hyper, сервер на Rust)

#jslib #deno #backend #webdev #http2
​​Gqless - GraphQL клиент, в котором не нужно писать запросы

Работает в рантайме с помощью Proxy API, который смотрит, какие поля были запрошены.

Например:

const { countries: { flag } } = useQuery()

создаст GraphQL запрос query { countries { flag } }

Из фич:

- Типы из коробки
- Работает с React, включая Suspense и хуки
- Готов к использованию в продакшене (поддерживает кэширование, SSR и т.д.)

#graphql #jslib #javascript #react #frontend #webdev
Canvg - JavaScript библиотека для парсинга SVG и рендера в Canvas

Либа полезна для отображения векторных изображений в растровом Canvas

- Работает как и в браузере, так и на сервере
- Имеет пресеты для Node.js и OffscreenCanvas
- Написана на TypeScript

#jslib #javascript #frontend #webdev #canvas
apollo-datasource-http — Оптимизированный HTTP Data Source для Apollo GraphQL сервера

- JSON по умолчанию
- поддержка HTTP/2 (нужен Node.js 15+)
- Использует got для HTTP запросов
- LRU (least recently used) кэширование для уменьшения нагрузки на сервер
- Поддержка AbortController для ручной отмены запросов
- Поддержка Apollo Cache Storage

#jslib #graphql #backend #webdev #apollo #nodejs #javascript