routier
v0.1.2
Published
Analizador de rutas para Next.js y GraphQL que exporta a Postman e Insomnia
Maintainers
Readme
Routier
Routier es una CLI que analiza proyectos Next.js (App Router y Pages Router), detecta endpoints REST y operaciones GraphQL, y genera colecciones importables en Postman e Insomnia.
Instalación
npm install -g routiero con pnpm:
pnpm add -g routierUso Rápido
Escanear un proyecto
routier scan --cwd /ruta/a/proyecto-nextDetecta y lista:
- ✅ Endpoints REST/HTTP (
GET,POST,PUT,PATCH,DELETE) - ✅ Operaciones GraphQL (
Queries,Mutations) - ⚠️ Warnings si hay problemas de parseo
Exportar a Postman e Insomnia
routier export --cwd /ruta/a/proyecto-next --format all --group-by type --sort alphaGenera dentro del proyecto:
routier-exports/
├── routier-postman.json # Colección Postman v2.1
└── routier-insomnia.json # Workspace Insomnia export format 4Luego importa los archivos en:
- Postman: File → Import → Select file
- Insomnia: File → Import from file
Ejemplos
Scan básico
routier scan --cwd ./myappExport con agrupación y orden
routier export \
--cwd ./myapp \
--format all \
--group-by type \
--sort alpha \
--base-url http://localhost:3000Export solo Postman, salida plana
routier export \
--cwd ./myapp \
--format postman \
--group-by noneCon schema GraphQL externo
routier export \
--cwd ./myapp \
--graphql-schema ./schemas/api.graphql \
--format allOpciones
| Opción | Descripción | Defecto |
|--------|-------------|---------|
| --cwd <path> | Ruta del proyecto a analizar | . |
| --format <fmt> | Formato: all, postman, insomnia | all |
| --out <path> | Carpeta de salida | ./routier-exports |
| --base-url <url> | URL base para requests | {{baseUrl}} |
| --group-by <mode> | Agrupar por: type, method, path, none | type |
| --sort <order> | Orden: alpha, none | alpha |
| --graphql-schema <path> | Schema GraphQL externo (.graphql o .gql) | Auto-detecta |
| --framework <fw> | Framework: next | next |
Características
🎯 Detección automática
- Next.js App Router: Rutas en
app/**/route.ts - Next.js Pages Router: Rutas en
pages/api/**/*.ts - GraphQL: Schemas
.graphql,.gqlygql/typeDefsestáticos en TypeScript
📁 Normalización de rutas
- Rutas dinámicas Next.js (
[id],[...slug]) → formato de parámetro (:id,:slug) - Route groups (
(admin)) → invisibles en la ruta final
🎨 Agrupación visual
- Por tipo:
RESTyGraphQLcomo carpetas principales - Por método:
GET,POST,PUT, etc. - Por ruta: Agrupación jerárquica de paths
- Plana: Sin agrupación, lista lineal
📊 Exportadores nativos
- Postman Collection v2.1: Importable directamente
- Insomnia export format 4: Con workspace y environment predefinido
Roadmap
- ✅ MVP: Next.js + GraphQL + Postman/Insomnia
- 🔮 Próximas versiones:
- Soporte para Express, Fastify, NestJS
- Inferencia de auth headers
- Configuración persistente (
routier.json) - CI/CD integration
Licencia
Contribuyendo
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama (
git checkout -b feature/amazing-feature) - Commit tus cambios (
git commit -m 'Add amazing feature') - Push a la rama (
git push origin feature/amazing-feature) - Abre un Pull Request
Soporte
Para reportar bugs o solicitar features, abre un issue en GitHub.
Made with ❤️ by FHX23
