Об этом проекте
TundraLibs предлагает обширную коллекцию независимых TypeScript-пакетов с минимальными зависимостями, разработанных для бесшовной работы в различных средах выполнения JavaScript, включая Deno 2.0+, Bun 1.0+, Node.js 22+, Cloudflare Workers и веб-браузеры. Набор библиотек покрывает основные потребности бэкенд-разработки через специализированные модули:
- **Данные и базы данных**: `NORM` — типизированная ORM с поддержкой PostgreSQL, MariaDB, SQLite, MongoDB и других через `OQL` (Object Query Language). `Drivers` предоставляет обработчики подключений для SQL, NoSQL и кэш-хранилищ, таких как Redis и Memcached.
- **Аутентификация и безопасность**: `Pact` реализует RBAC, JWT, WebAuthn/FIDO2 и OAuth2/OIDC. `Crypt` предлагает хеширование, шифрование, подписывание и генерацию криптографически стойких случайных чисел.
- **Наблюдаемость**: `Slogger` управляет структурированным логированием, `Tracer` реализует распределённую трассировку с W3C Trace Context, а `MetroMan` предоставляет метрики, совместимые с Prometheus.
- **Инфраструктура**: `Doctor` обеспечивает лёгкую инъекцию зависимостей; `Cacher` унифицирует кэширование в памяти, Redis и Memcached; `Cronus` управляет запланированными задачами; `Ambient` управляет контекстом, привязанным к запросу.
- **Сетевое взаимодействие**: `RadRouter` предлагает высокопроизводительный HTTP-маршрутизатор, `Restler` создаёт типизированные API-клиенты, а `RPC` обеспечивает удалённые вызовы процедур на основе WebSocket.
- **Утилиты**: `Guardian` обеспечивает валидацию схем, `ID` генерирует различные уникальные идентификаторы, а `Compat` сглаживает различия между средами выполнения.
Каждый пакет публикуется в JSR под областью `@tundralibs` и может использоваться как отдельно, так и в составе фреймворков, таких как `Rapid`. Документация для каждого компонента доступна в соответствующем файле README.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.