import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { ValidationPipe } from '@nestjs/common'; import { BadRequestExceptionFilter } from './system/filters/bad-request-exception-filter'; import { IoAdapter } from '@nestjs/platform-socket.io'; import * as cookieParser from 'cookie-parser'; import { useContainer } from 'class-validator'; async function bootstrap() { const app = await NestFactory.create(AppModule); const prefix_version = '/api/v1'; app.enableCors({ origin: process.env.CORS.split(', ') || '*', methods: ['GET', 'PUT', 'POST', 'DELETE', 'PATCH'], allowedHeaders: 'Content-Type, Authorization', credentials: true, }); app.use(cookieParser()); app.setGlobalPrefix(prefix_version, {}); app.useWebSocketAdapter(new IoAdapter(app)); app.useGlobalFilters(new BadRequestExceptionFilter()); app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true, }), ); useContainer(app.select(AppModule), { fallbackOnErrors: true }); await app.listen(process.env.PORT); } bootstrap();