프로젝트 소개

TundraLibs는 Deno 2.0+, Bun 1.0+, Node.js 22+, Cloudflare Workers, 웹 브라우저 등 여러 JavaScript 런타임에서 원활하게 작동하도록 설계된 독립적이고 의존성이 적은 TypeScript 패키지의 포괄적인 모음을 제공합니다. 이 라이브러리 제품군은 전문 모듈을 통해 필수 백엔드 개발 요구 사항을 충족합니다: - **데이터 및 데이터베이스**: `NORM`은 `OQL`(Object Query Language)을 통해 PostgreSQL, MariaDB, SQLite, MongoDB 등을 지원하는 타입 지정 ORM 역할을 합니다. `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`은 런타임 차이를 완화합니다. 각 패키지는 `@tundralibs` 스코프 아래 JSR에 게시되며 개별적으로 사용하거나 `Rapid`와 같은 프레임워크 내에서 결합하여 사용할 수 있습니다. 각 구성 요소에 대한 문서는 해당 README 파일에서 확인할 수 있습니다.