- Added pnpm-workspace.yaml to define package structure. - Created prepare-local-env.py script for local environment setup. - Introduced tsconfig.json for TypeScript configuration. - Added turbo.json for task management with Turbo.
19 lines
1.0 KiB
Markdown
19 lines
1.0 KiB
Markdown
# Composición de módulos
|
|
|
|
Cada módulo funcional tendrá un composition root explícito: construye sus dependencias y devuelve únicamente las APIs necesarias para sus consumidores.
|
|
|
|
Usar constructor injection. No usar Service Locator, contenedores DI, decoradores ni resolución implícita.
|
|
No copiar el registro dinámico del ERP: esta aplicación todavía no necesita esa capacidad.
|
|
|
|
Las rutas reciben dependencias ya construidas. No construyen repositorios, servicios de Application ni mappers de dominio.
|
|
|
|
Cuando sea necesario distinguir superficies:
|
|
|
|
- services: servicios públicos consumidos por otros módulos.
|
|
- internal: dependencias privadas necesarias para las rutas del propio módulo.
|
|
|
|
No exportar repositorios ni modelos ORM a otros módulos. No crear contratos públicos sin consumidores.
|
|
|
|
En esta entrega core expone registerCoreRoutes mediante ./module, una frontera de composición del servidor.
|
|
./common expone contratos y ./client expone la página y recursos de traducción. No hay dependencias locales del ERP.
|