konfig-yaml
v1.0.1
Published
Loader for YAML configuration with ENVs
Downloads
8
Readme
konfig-yaml
The loader of yaml base configuration for each run enviroments like settingslogic.
- Expand environment variables (ex.
users-${NODE_ENV}
)- If an environment variable is not set, it is to be emtpy string.
- If
${DB_USER:-user}
or${DB_USER:user}
is defined,user
is expanded unless DB_USER does not exists.
- Deep merge the environment settings and default settings (except array items)
- Node.js 6.10 or later
- The gem library also exists for Ruby.
Install
$ npm i konfig-yaml
How to Use
const konfig = require('konfig-yaml');
config = konfig(<name>, [opts]);
name
specifys the name ofconfig/<name>.yml
( defaultapp
)opts
path
config directory path resolved from the process current one ( default NODE_CONFIG_DIR value orconfig
)env
Run environment ( default NODE_ENV value ordevelopment
)useCache
whether using cache ( defaulttrue
)
Clear cache
konfig.clear();
Example
Setup
config/app.yml
default:
port: 8080
logger:
level: info
db:
name: ${BRAND}-app-${NODE_ENV}
user: user
pass: pass
production:
port: 1080
logger:
level: error
db:
pass: Password
main.js
const konfig = require('konfig-yaml');
const config = konfig();
console.log(config.port);
console.log(config.logger.level);
console.log(config.db.user);
console.log(config.db.name);
console.log(config.db.password);
Run
In development
$ NODE_ENV=development BRAND=normal node main.js
8080
info
normal-app-development
user
pass
In production
$ NODE_ENV=production BRAND=awesome node main.js
1080
error
awesome-app-production
user
Password