Introduction
yRest est un serveur REST API mock sans configuration pour les développeurs frontend. Il lit un fichier db.yml et expose automatiquement une API REST CRUD complète — incluant des relations, des paramètres de requête, la pagination, des flux SSE et des routes statiques personnalisées — sans backend nécessaire.
npx @yrest/cli serve db.yml# → REST API sur http://localhost:3070Quand l’utiliser
Section intitulée « Quand l’utiliser »- Tu construis un frontend et as besoin d’une API réaliste avant que le backend soit prêt.
- Tu as besoin d’un mock prévisible pour des tests d’intégration (Vitest, Playwright, Cypress).
- Tu veux faire une démo d’un flux UI sans maintenir un vrai serveur.
- Tu as besoin de SSE ou d’un comportement d’endpoint personnalisé que
json-serverne peut pas gérer.
Comparaison
Section intitulée « Comparaison »yRest et json-server partagent la même philosophie sans configuration — pointe-les vers un fichier de données et obtiens une API REST instantanément. La différence réside dans la distance que chacun parcourt. yRest étend le modèle avec un système de relations plus riche, des opérateurs de requête typés, des flux SSE, des scénarios mock conditionnels et une API programmatique complète. Si json-server couvre tes besoins, continue à l’utiliser. Si tu as atteint ses limites, yRest est l’étape suivante.
| Fonctionnalité | yRest | json-server |
|---|---|---|
| Base de données YAML | ||
| Zéro config | ||
| CRUD complet | ||
Opérateurs de champs (_gte, _like, _regex…) | ||
| Relations : many2one, one2one, many2many | ||
Auto-embedding (_nested: true) | ||
Projection de champs (_fields) | ||
| Mode paginable (réponse envelope) | ||
Routes personnalisées (_routes) | ||
Variables de modèle ({{}params.id}}) | ||
| Scénarios conditionnels | ||
| Fonctions handler | ||
Routes SSE (_method: SSE) | ||
| Endpoints snapshot | ||
| Export OpenAPI 3.0 | ||
| API programmatique pour frameworks de test | ||
| Types TypeScript |
Installation
Section intitulée « Installation »Ajoute yRest à ton projet en tant que dépendance de développement :
npm install -D @yrest/cliOu exécute-le directement sans installation — utile pour un premier essai :
npx @yrest/cli serve db.ymlUne fois installé, crée les fichiers de démarrage et lance le serveur :
npx @yrest/cli init # crée db.yml + yrest.config.yml dans le répertoire courantnpx @yrest/cli serve db.yml # → REST API sur http://localhost:3070Le serveur surveille les modifications de db.yml et recharge automatiquement. Consulte le Démarrage rapide pour un guide pas à pas avec un exemple concret.