Files
openapi-clean-arch-gen/QUICKSTART.md
Blas Santome Ocampo 5ff88d8cf6 first commit
2026-03-23 09:35:15 +01:00

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

  1. Genera el código desde tu Swagger
  2. 📝 Ajusta los templates según tus necesidades
  3. 🔧 Configura los path aliases en tu tsconfig.json
  4. 📦 Registra los providers en tu módulo Angular
  5. 🚀 ¡Usa el código generado en tus componentes!

¿Necesitas ayuda?

Consulta el README.md completo para documentación detallada.