* Update Readme

* Update examples
* Version bump
This commit is contained in:
2017-06-08 16:34:52 +05:30
parent c8aae33840
commit 38fd5d04aa
4 changed files with 26 additions and 14 deletions
+15 -10
View File
@@ -38,37 +38,42 @@ hari@hari-VirtualBox:~app$ node xyz.js
``` ```
#### Override using NODE_ENV #### Read additional config based on NODE_ENV variable.
values from config/production overides the default one If we specify NODE_ENV=xyz then, config/xyz.js will overide the values from default.js. **Overriding is a deep merge**
```bash ```bash
hari@hari-VirtualBox:~app$ env NODE_ENV=production node xyz.js hari@hari-VirtualBox:~app$ env NODE_ENV=production node xyz.js
{ port: 5000 } { port: 4000 }
``` ```
#### Override using Environtment Variables. #### Set any configuration variable using Environtment variable.
By setting an Environtment variable '<Prefix><key>=<value>', we can set config[key] as value.
Default prefix is `TC_` Default prefix is `TC_`
For eg:
TC_port will set config.port * `TC_port` will set config.port
* `TC_a.b.c` will set config.a.b.c
TC_a.b.c will set config.a.b.c
```bash ```bash
hari@hari-VirtualBox:~app$ env NODE_ENV=production TC_db.mysql.user=root node xyz.js hari@hari-VirtualBox:~app$ env NODE_ENV=production TC_db.mysql.user=root node xyz.js
{ port: 5000, db: { mysql: { user: 'root' } } } { port: 5000, db: { mysql: { user: 'root' } } }
``` ```
#### Override using Environtment Variables. Custom Prefix ##### Use custom env prefix.
Prefix can be changed using Environtment variable
default prefix can be changed using Environtment variable by setting `TC_PREFIX` Environtment variable
```bash ```bash
export TC_PREFIX=MYAPP_ export TC_PREFIX=MYAPP_
export MYAPP_PORT=8080 export MYAPP_port=8080
hari@hari-VirtualBox:~app$ env MYAPP_db.mysql.user=root node xyz.js hari@hari-VirtualBox:~app$ env MYAPP_db.mysql.user=root node xyz.js
{ port: 8080, db: { mysql: { user: 'root' } } } { port: 8080, db: { mysql: { user: 'root' } } }
``` ```
#### use custom config directory #### use custom config directory
config directory can be changed using Environtment variable config directory can be changed using Environtment variable by setting `CONFIG_DIR` Environtment variable
```bash ```bash
hari@hari-VirtualBox:~app$ env CONFIG_DIR=../config TC_PREFIX=MYAPP_ NODE_ENV=production MYAPP_db.mysql.user=root node xyz.js hari@hari-VirtualBox:~app$ env CONFIG_DIR=../config TC_PREFIX=MYAPP_ NODE_ENV=production MYAPP_db.mysql.user=root node xyz.js
{ dir: '../config', db: { mysql: { user: 'root' } } } { dir: '../config', db: { mysql: { user: 'root' } } }
+5 -1
View File
@@ -1,3 +1,7 @@
{ {
"port":3000 "port":3000,
"pool":{
"min":2,
"max":10
}
} }
+1 -1
View File
@@ -1,2 +1,2 @@
console.log( require('tconfig')); console.log( require('../../'));
+5 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "tconfig", "name": "tconfig",
"version": "0.1.1", "version": "0.1.2",
"description": "A simple transparent config file loader for Nodejs applications. any config field can be overriden using environmen variables", "description": "A simple transparent config file loader for Nodejs applications. any config field can be overriden using environmen variables",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
@@ -20,5 +20,8 @@
"bugs": { "bugs": {
"url": "https://github.com/harish2704/tconfig/issues" "url": "https://github.com/harish2704/tconfig/issues"
}, },
"homepage": "https://github.com/harish2704/tconfig#readme" "homepage": "https://github.com/harish2704/tconfig#readme",
"dependencies": {
"lodash.defaultsdeep": "^4.6.0"
}
} }