Pigeon: Streamlining API Client Integration for NestJS Projects
Brief
Pigeon est un CLI Node.js qui scanne un projet NestJS, détecte les contrôleurs et génère des exports prêts à importer dans Insomnia ou Postman.
Sommaire
Dans le développement web moderne, une gestion efficace des API est essentielle. Intégrer des routes API dans des outils clients comme Insomnia ou Postman peut devenir fastidieux, surtout sur de gros projets NestJS.
Technologies principales
- Node.js : Pigeon est construit sur Node.js, ce qui assure compatibilité multiplateforme et bonnes performances.
- NestJS : pensé spécifiquement pour les applications NestJS, en exploitant ses décorateurs et sa structure.
- TypeScript : développé en TypeScript pour la sûreté de typage et une meilleure expérience développeur.
Fonctionnalités clés ✅
- Détection automatique des routes : scanne tout le projet NestJS pour détecter toutes les routes
@Controller(). - Groupement organisé : regroupe les routes par contrôleur pour une lecture plus claire dans les clients API.
- Recherche récursive : trouve les contrôleurs récursivement dans toute l’arborescence du projet.
- Options d’export : exporte les mappings en
insomnia.jsonoupostman.jsonpour un import rapide. - Utilisation CLI simple : une seule commande suffit pour obtenir le résultat.
- Choix du client : sélection entre Insomnia (par défaut) et Postman, ou sortie avec
Quit Pigeon.
Développement et défis
Le développement de Pigeon a nécessité l’analyse de la structure des projets NestJS pour identifier et mapper les routes correctement. Assurer la compatibilité avec les formats d’import d’Insomnia et de Postman a demandé une attention particulière à leurs schémas respectifs.
Accès au projet et captures 📸
🔗 GitHub Repository https://github.com/Claquettes/pigeon
📦 NPM Package https://www.npmjs.com/package/pigeon-nest-mapper
English version
Brief
Pigeon is a Node.js CLI that scans NestJS projects and generates route exports ready to import in Insomnia or Postman.
Table of contents
In modern web development, efficient API management is crucial. Integrating APIs into client tools like Insomnia or Postman can be tedious, especially for large NestJS projects.
Main Technologies Used
- Node.js: Pigeon is built on Node.js, ensuring cross-platform compatibility and performance.
- NestJS: Tailored specifically for NestJS applications, leveraging its decorators and structure.
- TypeScript: Developed in TypeScript for type safety and enhanced developer experience.
Key Features ✅
- Automatic Route Detection: Scans the entire NestJS project to detect all @Controller() routes.
- Organized Grouping: Groups routes by controller for clarity in API clients.
- Recursive Search: Recursively finds controllers throughout the project structure.
- Export Options: Exports mappings to insomnia.json or postman.json for easy import.
- Simple CLI Usage: Execute with a single command for quick results.
- Client Selection: Choose between Insomnia (default) and Postman, or exit the CLI with “Quit Pigeon”.
Development & Challenges
Developing Pigeon involved parsing NestJS project structures to accurately identify and map routes. Ensuring compatibility with both Insomnia and Postman formats required meticulous attention to their respective import schemas.
Project Access & Screenshots 📸
🔗 GitHub Repository https://github.com/Claquettes/pigeon
📦 NPM Package https://www.npmjs.com/package/pigeon-nest-mapper