npm.io
0.9.0 • Published 5 years ago

nestjs-any-config

Licence
MIT
Version
0.9.0
Deps
5
Size
33 kB
Vulns
2
Weekly
0
Stars
2

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