generator-nest-js-boilerplate
Version:
This generator will help you to build your own Nest.js Mongodb API using TypeScript 4
51 lines (39 loc) • 1.42 kB
text/typescript
// registers aliases, DON'T REMOVE THIS LINE!
import 'module-alias/register';
import { NestFactory } from '@nestjs/core';
import { ValidationPipe } from '@nestjs/common';
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
import { ConfigService } from '@nestjs/config';
import AppModule from './modules/app/app.module';
import {
BadRequestExceptionFilter,
UnauthorizedExceptionFilter,
ForbiddenExceptionFilter,
NotFoundExceptionFilter,
AllExceptionsFilter,
} from './filters';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const configService = app.get(ConfigService);
app.useGlobalPipes(new ValidationPipe());
app.useGlobalFilters(
new AllExceptionsFilter(),
new UnauthorizedExceptionFilter(),
new ForbiddenExceptionFilter(),
new BadRequestExceptionFilter(),
new NotFoundExceptionFilter(),
);
const port = configService.get<number>('SERVER_PORT') || 3000;
const options = new DocumentBuilder()
.setTitle('Api v1')
.setDescription('The boilerplate API for nestjs devs')
.setVersion('1.0')
.addBearerAuth({ in: 'header', type: 'http' })
.build();
const document = SwaggerModule.createDocument(app, options);
SwaggerModule.setup('api', app, document);
await app.listen(port, async () => {
console.log(`The server is running on ${port} port: http://localhost:${port}/api`);
});
}
bootstrap();