UNPKG

generator-nest-js-boilerplate

Version:

This generator will help you to build your own Nest.js Mongodb API using TypeScript 4

64 lines (60 loc) 1.79 kB
import { Module } from '@nestjs/common'; import { RedisModule } from '@liaoliaots/nestjs-redis'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { MongooseModule } from '@nestjs/mongoose'; import { MailerModule } from '@nestjs-modules/mailer'; import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter'; import V1Module from '@v1/v1.module'; import AppController from './app.controller'; import AppService from './app.service'; import AppGateway from './app.gateway'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, }), MongooseModule.forRoot(process.env.MONGODB_URL as string, { autoReconnect: true, useCreateIndex: true, reconnectTries: Number.MAX_VALUE, reconnectInterval: 1000, useNewUrlParser: true, useUnifiedTopology: true, }), RedisModule.forRootAsync({ useFactory: (cfg: ConfigService) => ({ config: { url: cfg.get('REDIS_URL'), }, }), inject: [ConfigService], }), MailerModule.forRootAsync({ useFactory: (cfg: ConfigService) => ({ transport: { host: cfg.get('MAILER_HOST'), port: Number(cfg.get('MAILER_PORT')), secure: false, auth: { user: cfg.get('MAILER_USERNAME'), pass: cfg.get('MAILER_PASSWORD'), }, }, defaults: { from: cfg.get('MAILER_FROM_EMAIL'), }, template: { adapter: new HandlebarsAdapter(), options: { strict: true, }, }, }), inject: [ConfigService], }), V1Module, ], controllers: [AppController], providers: [AppService, AppGateway], }) export default class AppModule {}