UNPKG

generator-nest-js-boilerplate

Version:

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

69 lines (65 loc) 1.98 kB
import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { RedisModule } from '@liaoliaots/nestjs-redis'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { MailerModule } from '@nestjs-modules/mailer'; import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter'; import V1Module from '@v1/v1.module'; import AppService from './app.service'; import AppController from './app.controller'; import AppGateway from './app.gateway'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, }), TypeOrmModule.forRootAsync({ useFactory: (cfg: ConfigService) => ({ type: 'mysql', host: cfg.get('MYSQL_HOST'), port: (cfg.get('MYSQL_PORT') as unknown) as number, database: cfg.get('MYSQL_DB'), username: cfg.get('MYSQL_ROOT_USER'), password: cfg.get('MYSQL_PASSWORD'), entities: ['dist/**/*.entity{.ts,.js}'], synchronize: true, }), inject: [ConfigService], }), 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 {}