Librerías
Referencia completa de dependencias del package.json.
Dependencias de producción
NestJS Core
| Paquete | Versión | Uso |
|---|---|---|
@nestjs/common | 11.0.1 | Decoradores, pipes, guards, módulos |
@nestjs/core | 11.0.1 | Framework core |
@nestjs/platform-express | 11.0.1 | Adapter HTTP (Express) |
@nestjs/config | — | ConfigModule con Joi validation |
@nestjs/swagger | — | Generación automática de OpenAPI |
@nestjs/websockets | — | WebSocket support |
@nestjs/platform-socket.io | — | Adapter Socket.IO |
Base de datos
| Paquete | Versión | Uso |
|---|---|---|
@nestjs/mongoose | — | Integración Mongoose con NestJS |
mongoose | 9.4.1 | ODM para MongoDB |
Autenticación
| Paquete | Uso |
|---|---|
@nestjs/jwt | Generación y verificación de JWT |
@nestjs/passport | Integración Passport.js |
passport | Framework de autenticación |
passport-jwt | Estrategia JWT |
passport-local | Estrategia local (email/password) |
bcrypt | Hash de passwords y API keys |
Validación
| Paquete | Uso |
|---|---|
class-validator | Decoradores de validación en DTOs (@IsString, @IsEmail, etc.) |
class-transformer | Transformación de clases (plainToClass, @Exclude) |
joi | Validación del esquema de variables de entorno |
Almacenamiento
| Paquete | Uso |
|---|---|
@aws-sdk/client-s3 | Cliente S3 v3 para subir/descargar archivos en MinIO |
multer | Middleware para multipart/form-data (subida de archivos) |
Colas y caché
| Paquete | Uso |
|---|---|
bull | Gestión de colas de trabajo (jobs asincrónicos) |
bullmq | Versión moderna de Bull |
ioredis | Cliente Redis para caché y pub/sub |
Otros
| Paquete | Uso |
|---|---|
socket.io | WebSocket server |
dotenv | Carga de .env en bootstrap/load-env.ts |
uuid | Generación de UUIDs para los identifier de entidades |
rxjs | Observables (requerido por NestJS internamente) |
reflect-metadata | Decoradores TypeScript (requerido por NestJS) |
Dependencias de desarrollo
| Paquete | Uso |
|---|---|
typescript | 5.7.3 |
ts-jest | Ejecutar tests TypeScript con Jest |
jest | Framework de testing |
@nestjs/testing | Utilidades de test para NestJS (Test.createTestingModule) |
eslint | Linting |
prettier | Formateo de código |
@types/... | Tipos TypeScript para librerías JS |
supertest | HTTP assertions en tests E2E |
Scripts npm
npm run start # Producción
npm run start:dev # Desarrollo con watch (nodemon)
npm run start:debug # Debug mode
npm run build # Compila a dist/
npm run test # Tests unitarios
npm run test:watch # Tests en modo watch
npm run test:cov # Cobertura
npm run test:e2e # Tests E2E
npm run lint # ESLint
npm run format # Prettier