Skip to content
Snippets Groups Projects
main.ts 962 B
Newer Older
import { NestFactory } from '@nestjs/core';
import { ConfigService } from '@nestjs/config';
import { AppModule } from './app.module';
Martin Korec's avatar
Martin Korec committed
import { ValidationPipe } from '@nestjs/common';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
async function bootstrap(): Promise<void> {
  const app = await NestFactory.create(AppModule);
  const configService = app.get(ConfigService);
Martin Korec's avatar
Martin Korec committed
  app.useGlobalPipes(
    new ValidationPipe({
      transform: true,
    }),
  );
  const swaggerDocConfig = new DocumentBuilder()
    .setTitle('Movie Base API')
    .setVersion('1.0')
    .addTag('movies')
    .addTag('directors')
    .addTag('categories')
    .build();
  const swaggerDoc = SwaggerModule.createDocument(app, swaggerDocConfig);
  SwaggerModule.setup('/', app, swaggerDoc);

  const port = configService.get<number>('PORT') | 4000;
  console.log(`NestJS server is listening on: http://localhost:${port}`);
  await app.listen(port);
bootstrap();