- NodeJS, Typescript
- Config chaining (hierarchy)
- Multiple environments support, local overwrites
- JSON/JS configs, JS is to use environment variables
- Validation using class-validator library
- Configs are typed
Load config:
constconfigSource=newConfigFileChain(path.resolve(__dirname,'../config'),process.env.PROJECT_ENVasstring,);constconfigFactory=newConfigFactory(configSource);constserverConfig=awaitconfigFactory.create<ServerConfig>(ServerConfig);Create your own config type:
exportclassExampleConfigextendsConfig{
@IsNotEmpty()publicvalue!: string;publicgetName(): string{return'example';}}