import 'reflect-metadata'; import { NestFactory } from '@nestjs/core'; import { ConfigService } from '@nestjs/config'; import { ValidationPipe } from '@nestjs/common'; import { Logger } from 'nestjs-pino'; import { AppModule } from './app.module'; import { AllExceptionsFilter } from './common/filters/all-exceptions.filter'; async function bootstrap() { const app = await NestFactory.create(AppModule); const logger = app.get(Logger); const configService = app.get(ConfigService); app.useLogger(logger); app.useGlobalFilters(new AllExceptionsFilter(logger)); app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true, transformOptions: { enableImplicitConversion: true, }, }), ); app.enableCors({ origin: '*', }); const port = configService.get('APP_PORT', 8000); const host = configService.get('APP_HOST', '127.0.0.1'); app.enableShutdownHooks(); await app.listen(port, host); logger.log(`Server running on http://${host}:${port}`); } bootstrap();