import { NestFactory, Reflector } from '@nestjs/core'; import { CollabAppModule } from './collab-app.module'; import { FastifyAdapter, NestFastifyApplication, } from '@nestjs/platform-fastify'; import { TransformHttpResponseInterceptor } from '../../common/interceptors/http-response.interceptor'; import { Logger } from '@nestjs/common'; import { Logger as PinoLogger } from 'nestjs-pino'; async function bootstrap() { const app = await NestFactory.create( CollabAppModule, new FastifyAdapter({ routerOptions: { maxParamLength: 1000, ignoreTrailingSlash: true, ignoreDuplicateSlashes: true, }, }), { logger: false, bufferLogs: false, }, ); app.useLogger(app.get(PinoLogger)); app.setGlobalPrefix('api', { exclude: ['/'] }); app.enableCors(); const reflector = app.get(Reflector); app.useGlobalInterceptors(new TransformHttpResponseInterceptor(reflector)); app.enableShutdownHooks(); const logger = new Logger('CollabServer'); const port = process.env.COLLAB_PORT || 3001; const host = process.env.HOST || '0.0.0.0'; await app.listen(port, host, () => { logger.log(`Listening on http://127.0.0.1:${port}`); }); } bootstrap();