Excluir APIs
Objetivo
Sección titulada «Objetivo»Evitar que el CLI de Catalyst emita operaciones o archivos que no quieres — ya sea una operación CRUD completa en todas las capas, o un archivo específico que choca con uno escrito a mano.
Antes de empezar
Sección titulada «Antes de empezar»- Tienes un proyecto Catalyst con al menos un módulo backend ya scaffoldeado.
- Conoces el bounded context y el nombre del módulo (por ejemplo,
iam/role). - Puedes ejecutar
catalyst load back module --forceen tu entorno.
-
Localiza la YAML del módulo. Vive en
cliter/<bounded-context>/<module>.aurora.yaml. Paraiam/role, eso escliter/iam/role.aurora.yaml. -
Elige la granularidad que necesitas.
- Para sacar una operación completa — sin controller, sin resolver, sin handler, sin service, sin DTO, sin fragmento de GraphQL — usa
excludedOperations. - Para mantener la operación pero omitir un archivo específico (porque lo escribiste a mano o choca con un archivo de
additionalApis), usaexcludedFiles.
- Para sacar una operación completa — sin controller, sin resolver, sin handler, sin service, sin DTO, sin fragmento de GraphQL — usa
-
Edita la YAML en su nivel superior. Las dos claves viven junto a
aggregatePropertiesyadditionalApis. Los nombres que puedes listar enexcludedOperationsson los de la tabla de operaciones.cliter/iam/role.aurora.yaml additionalApis:- path: iam/role/inherit-permissions-roleresolverType: mutationhttpMethod: postexcludedOperations:- count- getRaw- max- min- sum- updateAndIncrement- upsertexcludedFiles:- backend/src/@app/iam/role/application/upsert/iam-upsert-role.handler.ts -
Regenera.
Ventana de terminal catalyst load back module --name=iam/role --force -
Borra los archivos huérfanos a mano. Si acabas de excluir una operación que antes se generaba, los archivos que el CLI emitió previamente siguen en disco — el CLI nunca borra. Elimínalos manualmente, commitea y vuelve a ejecutar
catalyst load …para confirmar que la salida quedó consistente.
Verifica que funcionó
Sección titulada «Verifica que funcionó»-
Vuelve a correr con
--verbosey confirma que la operación excluida no aparece entre las rutas emitidas:Ventana de terminal catalyst load back module --name=iam/role --force --verbose -
Para
excludedFiles: confirma que la ruta que listaste no aparece en el log de salida. -
Ejecuta tu build de backend habitual (
pnpm back:buildo el equivalente de tu proyecto) para detectar imports colgantes que referenciaban al artefacto removido.
Solución de problemas
Sección titulada «Solución de problemas»La operación no reapareció después de sacarla de excludedOperations.
Revisa si hay errores de tipeo. Los nombres son sensibles a mayúsculas/minúsculas y deben coincidir exactamente con el conjunto soportado. Vuelve a correr con --force --verbose para ver cada archivo que el CLI consideró.
Aparecieron archivos .origin en operaciones que no toqué.
Eso significa que los archivos en disco tienen ediciones manuales cuyo SHA-1 ya no coincide con el del lockfile. No tiene relación con la exclusión — mira Scaffolding de un módulo backend → Lockfile y archivos .origin. Resuelve cada .origin, o pasa --noReview si quieres atenderlos después.
Excluí una operación pero el esquema GraphQL todavía la referencia.
Los tipos de GraphQL se regeneran después del load del módulo. Si omitiste ese paso con --noGraphQLTypes, ejecuta pnpm back:graphql:types a mano para refrescar los exports.
Relacionado
Sección titulada «Relacionado»- Scaffolding de un módulo backend — el concepto detrás de qué se emite y por qué.
- Referencia de
catalyst load— cada flag y argumento.