diff --git a/src/main.ts b/src/main.ts index 9f19653..be94fdf 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,33 +8,44 @@ import { AppModule } from './app.module'; import { Logger as PinoLogger } from 'nestjs-pino'; async function bootstrap() { - const app = await NestFactory.create(AppModule, { - bufferLogs: true, - logger: ['error', 'warn', 'log', 'debug', 'verbose'], - }); - - const reflector = app.get(Reflector); - const logger = new Logger('Bootstrap'); - + const app = await NestFactory.create(AppModule, { bufferLogs: true }); const pinoLogger = app.get(PinoLogger); app.useLogger(pinoLogger); + const logger = new Logger('Bootstrap'); + const reflector = app.get(Reflector); + // Global pipes and interceptors app.useGlobalPipes( new ValidationPipe({ whitelist: true, transform: true, + forbidNonWhitelisted: true, }), ); - app.useGlobalInterceptors(new ClassSerializerInterceptor(reflector)); + app.useGlobalInterceptors( + new ClassSerializerInterceptor(reflector, { + excludePrefixes: ['_'], + }), + ); - app.enableCors(); + // Enable CORS + app.enableCors({ + origin: process.env.CORS_ORIGIN || '*', + methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', + credentials: true, + }); - const port = process.env.PORT ?? 3000; + // Start the application + const port = process.env.PORT || 3000; await app.listen(port); - logger.log(`Application is running on port: ${port}`); - logger.debug(`Debug mode is enabled`); + logger.log(`🚀 Application is running on port: ${port}`); + logger.log(`📡 Environment: ${process.env.NODE_ENV || 'development'}`); + + if (process.env.NODE_ENV === 'development') { + logger.debug('🔧 Debug mode is enabled'); + } } bootstrap().catch((err) => {