Dead simple, lightweight configuration utility.
npm i configman --save
Given the following directory, at the root of your project :
config/
app.js
db.js
app.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; // 8888
We can also request nested properties :
Config.get('db', 'user'); // "johndoe"
constructor
new ConfigMan(options)
options
{Object
}options.env
{String
} : Environment's name, must match the one in the files- [
options.defaultConfigName
= 'default'] {String
} : The name of the property containing the configs default values - [
options.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
MIT