Des API REST TypeScript orientées contrat et sûres par défaut, pensées pour les équipes qui développent avec l’IA
DaloyJS fournit des réglages sûrs par défaut, refuse de démarrer en production face aux erreurs de configuration qu’il connaît et fonctionne sans aucune dépendance d’exécution, avec une chaîne de publication renforcée et signée avec provenance. Aucun framework ne rend une application totalement sûre ni n’arrête toutes les attaques sur la chaîne d’approvisionnement : la documentation indique donc ce qui est activé par défaut, ce que vous activez vous-même et les risques qui subsistent.
Les premiers pas, l’installation, le tutoriel et les guides essentiels (routage, validation, erreurs, OpenAPI, client typé, sécurité) existent en français ; le reste de la documentation et le blog sont en anglais.
$ pnpm create daloy@latest my-api- Plus de 3000 tests du framework au vert
- Seuils de couverture : ≥90 % lignes et fonctions, ≥92 % branches
- 0 dépendance d’exécution
- Node 24 LTS, Node 26+, Bun, Deno, Cloudflare
- Licence MIT
Sécurité et chaîne d’approvisionnement
Sûr par défaut : la couche de défense pour le code généré par l’IA
Quand un modèle d’IA écrit le code, la vitesse de frappe du développeur n’est plus le goulot d’étranglement : ce qui compte, c’est la sécurité à l’exécution et l’intégrité de la chaîne d’approvisionnement. DaloyJS applique des garde-fous au niveau de l’exécution : limites de taille du corps des requêtes, délais d’expiration, protection contre la pollution de prototype, masquage des détails des erreurs 5xx et refus de démarrer sur une configuration erronée, sans aucune dépendance transitive à exploiter.
Réglages d’exécution sûrs par défaut
Zéro dépendance d’exécution
Modèles renforcés pour la chaîne d’approvisionnement
Des modèles conçus pour l’IA
Streaming et observabilité
Portable entre les runtimes
Orienté contrat dès la conception
Clients typés avec Hey API
Tout est fourni
Benchmarks et performances
Les chiffres, avec les astérisques
Quand des agents d’IA enchaînent les outils et envoient des requêtes à forte concurrence, le débit et la latence de démarrage à froid deviennent critiques. DaloyJS active les contrôles de sécurité par défaut, et ces benchmarks mesurent les performances avec toutes les protections en place.
Comment DaloyJS se compare
Dépendances transitives installées
Chaque paquet tiré par l’installation est une surface d’attaque à laquelle quelqu’un doit faire confiance. DaloyJS et Hono sont les deux seuls à n’en ajouter aucune.
Ce que cela signifie pour vous : Moins de paquets à qui faire confiance, c’est moins de CVE et aucun script postinstall inattendu. Zéro dépendance signifie que le framework n’ouvre aucune porte de son côté dans la chaîne d’approvisionnement ; le reste de votre arbre de dépendances reste à vérifier par vos soins.
À retenir : DaloyJS installe 0 dépendance transitive, à égalité avec Hono pour la plus petite surface d’exposition de la chaîne d’approvisionnement, alors qu’une application NestJS sécurisée en embarque 86.
Apple M3 Max · 16 cores · Node v26.4.0 · octobre 2026 · @daloyjs/core 1.5.4 · code dans bench/cross-framework
Pourquoi on compare des pommes et des oranges
- Des pommes et des oranges, pas une comparaison à armes égales. Ce sont des outils différents qui font des quantités de travail différentes. À chaque requête, DaloyJS valide le corps contre votre schéma Zod ou Valibot et applique des en-têtes sécurisés, un identifiant de requête, des limites de taille du corps et des délais d’expiration, le tout par défaut. Les applications « minimales » des autres frameworks n’en font presque rien, et même la « parité de sécurité » l’égale rarement point par point. Une partie de chaque chiffre de DaloyJS correspond donc à de la sécurité et de la validation que vous devriez sinon construire vous-même.
- La méthode de mesure de la taille diffère : DaloyJS est un paquet unique sans dépendances, tandis que les autres résolvent des arbres transitifs dont la taille exacte dépend de la date de génération du lockfile.
- Le débit dépend de la charge : avec une pile de middlewares comparable des deux côtés, DaloyJS devance Hono d’environ 27 % sur ces routes GET et d’environ 58 % sur la route POST avec corps, et DaloyJS valide en plus ce corps avec Zod. Les services réels sont généralement limités par la base de données et les entrées/sorties, pas par le dispatch du framework : ces micro-chiffres prédisent donc rarement la production.
- Des environnements d’exécution cibles différents : certains frameworks (par exemple Elysia) sont optimisés pour Bun, mais sont mesurés ici avec leurs adaptateurs Node pour disposer d’une base équitable sur un seul runtime.
- Une seule machine, un seul moment : un Apple M3 Max, Node v26.4.0, octobre 2026, avec @daloyjs/core 1.5.4 et une autre charge en arrière-plan sur la machine (les deux frameworks ont été mesurés l’un après l’autre, la comparaison tient donc mieux que les chiffres absolus). Votre matériel, votre runtime et vos versions feront bouger ces chiffres.
Pensé pour les machines : agents et outils d’IA
DaloyJS est prêt pour MCP
Le Model Context Protocol (MCP) est le standard ouvert qu’utilisent des agents d’IA comme Claude, Cursor et VS Code pour appeler des outils et lire de la documentation. DaloyJS le prend en charge des deux côtés : votre application peut devenir un serveur MCP, et cette documentation (en anglais) en est déjà un.
Transformez votre API en serveur MCP
DaloyJS construit des serveurs MCP avec @daloyjs/core seul, sans SDK : transport Streamable HTTP, validation des schémas d’entrée et une protection au démarrage en production qui refuse de se lancer si un endpoint MCP n’a aucun hook d’authentification dans sa chaîne. Elle vérifie que le hook est présent et, en production, qu’il s’est exécuté à chaque requête, pas qu’il refuse qui que ce soit : testez donc aussi votre authentification.
Lisez cette documentation via MCP
Un endpoint public en lecture seule, dans lequel votre agent de code peut chercher et lire sans copier-coller. Aucune clé d’API nécessaire.
Endpoint
https://daloyjs.dev/mcpsearch_docsRecherche par mots-clés dans toutes les pages de la documentation, triée par pertinence.get_docLit le texte complet d’une page à partir de sa route ou de son slug.list_docsParcourt toutes les pages de documentation disponibles en un seul appel.
Ajoutez-le à la configuration de votre client MCP
Vous utilisez un client qui ne gère que stdio ? Faites le pont avec npx -y mcp-remote https://daloyjs.dev/mcp.
Limiter le rayon d’impact
Des contrats comme enceintes de sécurité, pas comme syntaxe décorative
Dans un flux de travail centré sur l’IA, les contrats ne sont pas un luxe esthétique pour humains : ce sont des frontières que la machine fait respecter et qui empêchent des structures de données hallucinées de fuir d’un composant à l’autre. Un seul contrat de route valide strictement les requêtes, borne les réponses et produit en direct la spécification OpenAPI 3.1 et le client typé.
Référence d’API Scalar, en une ligne
Scalar est le successeur moderne de Swagger UI : rapide, épuré, avec un mode sombre natif et des requêtes d’essai intégrées. Dans DaloyJS, c’est l’interface de documentation par défaut, pas un plugin : docs: true sur le constructeur App monte automatiquement cette page sur /docs et la spécification OpenAPI 3.1 en direct sur /openapi.json.
Générée à partir des contrats de vos routes, sans code supplémentaire. Vous préférez Swagger UI ou Redoc ? Les deux sont à un champ de configuration près. Guide OpenAPI et interface de documentation →
Compromis de l’écosystème
Le meilleur de chaque concurrent, avec moins de compromis
DaloyJS ne cherche pas à gagner sur une seule case. Il cherche à supprimer le travail de colle entre les meilleures idées que les développeurs apprécient déjà.
Un renforcement portable de la chaîne d’approvisionnement pour vos applications
Réglages d’installation pnpm renforcés, lockfiles à l’origine vérifiée, SBOM + provenance npm
S’adapter au serverless / à l’edge
Cœur basé sur les standards du web, adaptateurs multi-runtime
Des opérations et une documentation Node matures
Plugins encapsulés, logs structurés, arrêt propre
Une DX moderne centrée sur TS, compatible Bun
Handlers, contexte et client typés de bout en bout
La meilleure ergonomie OpenAPI
OpenAPI 3.1 intégré à partir d’une seule définition de route
La meilleure génération de clients typés
pnpm gen → SDK fetch entièrement typé
Envie de livrer avec des réglages sûrs par défaut ?
Créez un projet en quelques secondes avec une installation renforcée pour votre gestionnaire de paquets, une CI générée qui bloque les scripts d’installation, des GitHub Actions épinglées, Dependabot, CODEOWNERS et la vérification de l’origine du lockfile. Gardez ensuite le contrat à mesure que l’application grandit : la même application tourne sur Node, Bun, Deno et Cloudflare Workers.
Soutenir le projet
Si DaloyJS vous fait gagner du temps, vous pouvez m’offrir un café
DaloyJS est gratuit et sous licence MIT. Si la documentation, les articles ou le framework lui-même vous ont aidé à livrer quelque chose avec un peu moins de drame, un café est une façon parfaitement raisonnable de faire vivre le projet.