import { ConfigService } from "@nestjs/config"; import { NestFactory } from "@nestjs/core"; import { ExpressAdapter } from "@nestjs/platform-express"; import cookieParser from "cookie-parser"; import express from "express"; import { ZodValidationPipe } from "nestjs-zod"; import { configureCors } from "./config/cors.configuration"; import { DomainExceptionFilter } from "./config/exception-to-http.pipe"; import { AppModule } from "./modules/app.module"; import { GraphQLExceptionFilter } from "./modules/base/graphql-exception.filter"; async function bootstrap(): Promise { const app = await NestFactory.create(AppModule, new ExpressAdapter()); const configService = app.get(ConfigService); app.use(express.json({ limit: "15mb" })); app.use(cookieParser()); configureCors(app); app.useGlobalPipes(new ZodValidationPipe()); app.useGlobalFilters( new DomainExceptionFilter(), new GraphQLExceptionFilter(), ); const port = configService.getOrThrow("PORT"); await app.listen(Number(port)); } bootstrap();