À propos du projet

TundraLibs propose une collection complète de packages TypeScript indépendants et légers en dépendances, conçus pour fonctionner de manière transparente sur plusieurs runtimes JavaScript, notamment Deno 2.0+, Bun 1.0+, Node.js 22+, Cloudflare Workers et les navigateurs web. La suite de bibliothèques couvre les besoins essentiels du développement backend via des modules spécialisés : - **Données et bases de données** : `NORM` sert d'ORM typé prenant en charge PostgreSQL, MariaDB, SQLite, MongoDB et plus encore via `OQL` (Object Query Language). `Drivers` fournit des gestionnaires de connexion pour SQL, NoSQL et les stores de cache comme Redis et Memcached. - **Authentification et sécurité** : `Pact` gère RBAC, JWT, WebAuthn/FIDO2 et OAuth2/OIDC. `Crypt` offre hachage, chiffrement, signature et génération aléatoire sécurisée. - **Observabilité** : `Slogger` gère la journalisation structurée, `Tracer` implémente le tracing distribué avec W3C Trace Context, et `MetroMan` expose des métriques compatibles Prometheus. - **Infrastructure** : `Doctor` fournit une injection de dépendances légère ; `Cacher` unifie le caching mémoire, Redis et Memcached ; `Cronus` gère les tâches planifiées ; `Ambient` gère le contexte à portée de requête. - **Réseau** : `RadRouter` offre un routeur HTTP haute performance, `Restler` construit des clients API typés, et `RPC` permet des appels de procédure distants basés sur WebSocket. - **Utilitaires** : `Guardian` assure la validation de schéma, `ID` génère divers identifiants uniques, et `Compat` lisse les différences entre runtimes. Chaque package est publié sur JSR sous le scope `@tundralibs` et peut être utilisé individuellement ou combiné au sein de frameworks comme `Rapid`. La documentation de chaque composant est disponible dans son fichier README respectif.