import { NestFactory } from '@nestjs/core'; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; import { AppModule } from './app.module'; import { ValidationPipe } from '@nestjs/common'; import { LoggerMiddleware } from './common/loggerMiddleware'; import cookieParser from 'cookie-parser'; async function bootstrap() { const app = await NestFactory.create(AppModule, { cors: process.env.CORS === 'TRUE', }); app.use(new LoggerMiddleware(), cookieParser()); // バリデーター(+型の自動変換機能)を適用 app.useGlobalPipes( new ValidationPipe({ transform: true, forbidUnknownValues: false }), ); if (process.env.STAGE === 'local') { const options = new DocumentBuilder() .setTitle('data_migration_toolsOpenAPI') .setVersion('1.0.0') .addBearerAuth({ type: 'http', scheme: 'bearer', bearerFormat: 'JWT', }) .build(); const document = SwaggerModule.createDocument(app, options); SwaggerModule.setup('api', app, document); } await app.listen(process.env.PORT || 8280); } bootstrap();