1.0.2 • Published 10 years ago
configman v1.0.2
ConfigMan
Dead simple, lightweight configuration utility.
Installation
npm i configman --save
Example
Given the following directory, at the root of your project :
config/
app.js
db.jsapp.js containing :
module.exports = {
default: { // This default name can be changed at instantiation
name: 'My awesome app'
port: 3000
},
dev: { // Could be anything
port: 8888
}
}And db.js containing :
module.exports = {
default: {
name: 'myawesomedb',
port: 3306
},
dev: {
user: 'johndoe',
password: 'youwillneverfind'
}
}We can easily retrieve the app's port and name for the dev environment :
const ConfigMan = require('configman');
const Config = new ConfigMan({ env: 'dev' });
Config.get('app').name; // "My awesome app"
Config.get('app').port; // 8888We can also request nested properties :
Config.get('db', 'user'); // "johndoe"API documentation
constructor
new ConfigMan(options)options{Object}options.env{String} : Environment's name, must match the one in the filesoptions.defaultConfigName= 'default' {String} : The name of the property containing the configs default valuesoptions.root= 'config' {String} : The directory in which to retrieve the config files
.get() any
Config.get(...paths)paths{...String} : at least one path matching the file to read inroot, optionally more to get nested properties
License
MIT