@monderks/nestjs-core
v0.1.0
Published
Filtros, errores de dominio, DTOs y value objects reutilizables para microservicios NestJS.
Maintainers
Readme
Monderks NestJS Core
Librería base para proyectos NestJS que implementa arquitectura limpia (Clean Architecture) y Domain-Driven Design (DDD), con filtros globales, errores de dominio, DTOs y value objects reutilizables.
Características
- 🚨 Filtros globales para excepciones de dominio
- ⚠️ Clases de errores personalizadas (
DomainError,InvalidArgumentError, etc.) - 📦 DTOs base para casos de uso
- 🧱 Value objects reutilizables
- 🧪 Estructura coherente con DDD y microservicios
Instalación
npm install @monderks/nestjs-coreO con pnpm:
pnpm add @monderks/nestjs-coreUso
1. Registrar el filtro global de errores
// main.ts
import { DomainExceptionFilter } from '@monderks/nestjs-core';
app.useGlobalFilters(new DomainExceptionFilter());También podés usar
APP_FILTERcon inyección de dependencias en unCoreModule.
2. Extender errores de dominio
import { DomainError } from '@monderks/nestjs-core';
export class ProductAlreadyExistsError extends DomainError {
constructor(productId: string) {
super(`Producto con ID ${productId} ya existe`, 'ProductAlreadyExists');
}
}3. Usar DTOs comunes
import { UseCaseResponseDto } from '@monderks/nestjs-core';
export class GetProductResponse extends UseCaseResponseDto {
constructor(
public readonly id: string,
public readonly name: string,
) {
super();
}
}Estructura
@monderks/nestjs-core/
├── filters/ # Filtros globales como DomainExceptionFilter
├── errors/ # Clases base para errores del dominio
├── dto/ # DTOs base para casos de uso
├── value-objects/ # VOs reutilizables (ej: EmailVO, UUIDVO, etc.)
└── index.ts # Exporta todo de forma unificadaRecomendación de uso
Este paquete está diseñado para ser utilizado como base en tus microservicios NestJS, asegurando:
- Un manejo de errores consistente y tipado
- Reutilización de DTOs entre módulos
- Separación clara de dominio, aplicación e infraestructura
Licencia
MIT — © Alejo Tomás Clifton Goldney
