betterc
Like rc but better ;)
Searches for configs and returns an array of all configs found.
Installation
npm i betterc
Usage
var betterc = ;;betterc;
Given your application name (appname
), betterc
will look in all the obvious places for configuration:
- the defaults object you passed in
$HOME/.${appname}rc
$HOME/.${appname}/config
$HOME/.config/${appname}
$HOME/.config/${appname}/config
- a local
.${appname}/config
and.${appname}rc
and all found looking in./ ../ ../../ ../../../
etc. - if you passed environment variable
${appname}_config
then from that file - if you passed an option
--config file
then from that file - environment variables prefixed with
${appname}_
- or use "__" to indicate nested properties
(e.g.appname_foo__bar__baz
=>foo.bar.baz
)
- or use "__" to indicate nested properties
All config files may have or have not json
or js
extentions in following order:
`.rc` `.rc.json` `.rc.js````. All configuration sources that were found will be added to result array. ## Advanced usage ```jsvar betterc = ; ;
Configuration file format
Configuration files (e.g. .appnamerc
) may be in json or CommonJS module format:
JSON
"dependsOn": "0.10.0" "commands": "www": "./commands/www" "console": "./commands/repl" "generators": "options": "engine": "ejs" "modules": "new": "generate-new" "backend": "generate-backend"
CommonJS
moduleexports = "dependsOn": "0.10.0" "commands": "www": "./commands/www" "console": "./commands/repl" "generators": "options": "engine": "ejs" "modules": "new": "generate-new" "backend": "generate-backend" ;
Since env variables do not have a standard for types, your application needs be prepared for strings.
License
Licensed under the MIT License.