Skip to content

A module for NestJS that supports JSON and dotenv (maybe more?) config files.

License

Notifications You must be signed in to change notification settings

AaronJan/nestjs-any-config

 
 

Repository files navigation

NestJS Any Config

GitHub tag (latest SemVer) Build status MIT

Description

This project is based on @nestjs/config, added JSON config and custom config loader support and kept original functions.

Installation

$ npm i --save nestjs-any-config

Quick Start

Using env files

import { Module } from '@nestjs/common';
import { ConfigModule } from 'nestjs-any-config';

@Module({
  imports: [
    ConfigModule.forRoot({
      type: 'env',
      envFile: {
        ignoreEnvVars: false,
        expandVariables: true,
      },
    }),
  ],
})
export class AppModule {}

Using JSON files

import { Module } from '@nestjs/common';
import { ConfigModule } from 'nestjs-any-config';

@Module({
  imports: [
    ConfigModule.forRoot({
      type: 'json',
      jsonFile: {
        filePath: [
          join(__dirname, 'config.local.json'),
          join(__dirname, 'config.json'),
        ],
      },
    }),
  ],
})
export class AppModule {}

Using custom config file loader

You can using this method to load config from anywhere you want:

import { Module } from '@nestjs/common';
import { ConfigModule } from 'nestjs-any-config';

@Module({
  imports: [
    ConfigModule.forRoot({
      type: 'custom',
      configLoader: async () => {
        // Do your thing here

        // return the config
        return {
          // ...
        }
      },
    }),
  ],
})
export class AppModule {}

Credits

License

MIT

About

A module for NestJS that supports JSON and dotenv (maybe more?) config files.

Topics

Resources

License