- Create .prettierrc for Prettier configuration - Add eslint.config.js for ESLint setup with TypeScript support - Update package.json to include linting and formatting scripts - Refactor generate.ts and generate.js for improved readability and error handling - Enhance QUICKSTART.md and README.md with formatting and clarity improvements
2.9 KiB
2.9 KiB
🚀 Guía de Inicio Rápido
Instalación en 3 pasos
1. Instalar dependencias
npm install
2. Instalar OpenAPI Generator CLI
npm run setup
# O manualmente:
npm install -g @openapitools/openapi-generator-cli
3. Probar con el ejemplo incluido
node generate.js -i example-swagger.yaml -o ./test-output --dry-run
Uso con tu API
Paso 1: Copia tu archivo Swagger/OpenAPI
cp /ruta/a/tu/api.yaml ./swagger.yaml
Paso 2: Genera el código
node generate.js -i swagger.yaml -o ./src/app
Paso 3: Revisa los archivos generados
ls -la ./src/app/data/
ls -la ./src/app/domain/
ls -la ./src/app/di/
Opciones Comunes
Generar en otra carpeta
node generate.js -i swagger.yaml -o ./frontend/src/app
Usar templates personalizados
# Edita los archivos en ./templates/
# Luego ejecuta:
node generate.js -i swagger.yaml -t ./templates
Modo de prueba (sin generar archivos)
node generate.js -i swagger.yaml --dry-run
Integración con tu proyecto Angular
1. Registra los providers
En app.config.ts o app.module.ts:
import { UserRepositoryProvider } from '@/di/repositories/user.repository.provider';
import { UserUseCasesProvider } from '@/di/use-cases/user.use-cases.provider';
export const appConfig: ApplicationConfig = {
providers: [
// ... otros providers
UserRepositoryProvider,
UserUseCasesProvider
]
};
2. Configura los path aliases
En tsconfig.json:
{
"compilerOptions": {
"paths": {
"@/*": ["src/app/*"],
"@environment": ["src/environments/environment"]
}
}
}
3. Usa en tus componentes
import { Component, inject } from '@angular/core';
import { USER_USE_CASES } from '@/domain/use-cases/user/user.use-cases.contract';
@Component({
selector: 'app-users',
template: `...`
})
export class UsersComponent {
#userUseCases = inject(USER_USE_CASES);
ngOnInit() {
this.#userUseCases.getUsers().subscribe((users) => {
console.log(users);
});
}
}
Troubleshooting
❌ Error: openapi-generator-cli: command not found
Solución:
npm install -g @openapitools/openapi-generator-cli
❌ Error: Cannot find module 'commander'
Solución:
npm install
❌ Los archivos no se generan
Solución: Verifica que el directorio de salida existe o usa --dry-run para ver qué pasaría:
node generate.js --dry-run
Próximos pasos
- ✅ Genera el código desde tu Swagger
- 📝 Ajusta los templates según tus necesidades
- 🔧 Configura los path aliases en tu tsconfig.json
- 📦 Registra los providers en tu módulo Angular
- 🚀 ¡Usa el código generado en tus componentes!
¿Necesitas ayuda?
Consulta el README.md completo para documentación detallada.