Browse Source

* Update Readme

* Update examples
* Version bump
master v0.1.2
Harish.K 8 years ago
parent
commit
38fd5d04aa
  1. 25
      README.md
  2. 6
      example/app/config/default.json
  3. 2
      example/app/xyz.js
  4. 7
      package.json

25
README.md

@ -38,37 +38,42 @@ hari@hari-VirtualBox:~app$ node xyz.js
```
#### Override using NODE_ENV
values from config/production overides the default one
#### Read additional config based on NODE_ENV variable.
If we specify NODE_ENV=xyz then, config/xyz.js will overide the values from default.js. **Overriding is a deep merge**
```bash
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_`
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
hari@hari-VirtualBox:~app$ env NODE_ENV=production TC_db.mysql.user=root node xyz.js
{ port: 5000, db: { mysql: { user: 'root' } } }
```
#### Override using Environtment Variables. Custom Prefix
Prefix can be changed using Environtment variable
##### Use custom env prefix.
default prefix can be changed using Environtment variable by setting `TC_PREFIX` Environtment variable
```bash
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
{ port: 8080, db: { mysql: { user: 'root' } } }
```
#### 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
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' } } }

6
example/app/config/default.json

@ -1,3 +1,7 @@
{
"port":3000
"port":3000,
"pool":{
"min":2,
"max":10
}
}

2
example/app/xyz.js

@ -1,2 +1,2 @@
console.log( require('tconfig'));
console.log( require('../../'));

7
package.json

@ -1,6 +1,6 @@
{
"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",
"main": "index.js",
"scripts": {
@ -20,5 +20,8 @@
"bugs": {
"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"
}
}

Loading…
Cancel
Save