node-commons-config
Commons-config is a configurable configuration content handler which supports multiple configuration infrastructures and file formats.
Feature:
- Typescript support
- Interpolation
- Namespacing
- Extendable by own handler or file support
- Multiple files
- Multiple configuration variants combination possible
File type support
- Json
- Yaml (https://www.npmjs.com/package/yaml or https://www.npmjs.com/package/js-yaml)
- Xml (https://www.npmjs.com/package/x2js)
- Properties (https://www.npmjs.com/package/properties)
- other in development
Supported configuration types
System configuration
; Config.options
File configuration
Sample file structure:
./config/
default.yml
default-devhost.yml
default-prodhost-production.yml
secrets-devhost.yml
secrets-prodhost-production.yml
Sample code:
; Config.options
Directory configuration
Sample file structure:
./config/
default.yml
./config/schema/
db_access.yml
db_access-production.yml
db_structure.yml
./config/modules/
module01.json
module02.yml
Sample code:
; Config.options let userName = Config.get'schema.database.user'
Combinig multiple configuration types
Sample file structure:
./
secrets.yml
secrets-prodhost.yml
./config/
default.yml
./config/schema/
db_access.yml
db_access-production.yml
db_structure.yml
./config/modules/
module01.json
module02.yml
Sample file structure:
; Config.options
Embedding in code
Integration in javascript source code:
const commons_config = const Config = commons_configConfig Configoptions ...
Integration in typescript source code:
; Configoptions ...
Notice
- All enviroment variables in "env" are lower-case