This is the application configuration helper module you've always dreamed of. It's goal is to be declaritive and environmental which makes for easier development and testing.
Basic Example
var Config = require('config')
var sampleConfig = new Config('path/to/configs/')
// will open path/to/configs/development.json
sampleConfig.get('real.setting.no1')
You can also specify a different environment
var sampleConfig = new Config('path/to/configs/', 'demo')
// will now open path/to/configs/demo.json
Strict mode
var sampleConfig = new Config('path/to/configs/', undefined, true)
sampleConfig.get('fake.setting')
// throws configuration setting missing error!
One of the main reasons I wrote Config
is because default configuration settings are annoying! The code that requires configuration should know ahead of time what to do. With Config
you can declare what the default should be, and it will fall back to it if your config.json doesn't say otherwise.
var foo = sampleConfig.get('non.existent.setting', 'I am a default')
console.log(foo)
// 'I am a default'