0.4.3 • Published 9 years ago

node-d3ck-cfg v0.4.3

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

npm Version JS-Standard Build Status Dependency Status

node-d3ck-cfg

Lightweight configuration management for node.js applications based on JSON files

Please note the major version of this module: Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable..

Features

  • Exports a central cfg object (shareable across the whole application)
  • Supports staging
  • Supports environment variables and init() arguments to define stage and configuration directories
  • Features a flat configuration structure with camel case keys (nested structures also possible)
  • No extra module dependencies
  • Well documented (readme, manual and API reference)

Installation

npm install node-d3ck-cfg

Usage example

Configuration files:

$ cat /home/foo/etc/cfg.json
{"webHost": "127.1.1.1", "webPort": 9468}

$ cat /home/foo/etc/cfg.dev.json
{"webHost": "127.2.2.2"}

Initialize the configuration and set additional values:

// main script
[1]  var cfg = require('node-d3ck-cfg')
[2]  cfg.init({stage: 'dev', cfgDirs: ['/home/foo/etc']})
[3]  var dbsHost = cfg.set('dbsHost', '127.4.4.4')         // returns 127.4.4.4
[4]  var all = cfg.set({webPort: 7364, dbsPort: 3236})     // returns all cfg values

Get configuration values:

// main script
[5]  var webPort = cfg.get('webPort')                 // returns 7364

// module foo
[1]  var cfg = require('node-d3ck-cfg')
[2]  var all = cfg.get()                              // returns all cfg values
[3]  var webHost = cfg.get('webHost')                      // returns 127.2.2.2
[4]  webHost = cfg.jget('web', 'host')                     // same as [3]
[5]  var apiHostIp = cfg.get('apiHostIp')                  // returns null
[6]  apiHostIp = cfg.jget('api', 'host', 'ip')             // same as [5]
[7]  apiHostIp = cfg.get('apiHostIp', '127.3.3.3'))        // returns 127.3.3.3
[8]  apiHostIp = cfg.jget('api', 'host', 'ip', {d:'127.3.3.3'})  // same as [7]
[9]  var dbsHost = cfg.get('dbsHost')                      // returns 127.4.4.4

Documentation

See also / Credits

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.2.0

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.1

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago