Extends optimist with support for JSON/YAML config file Edit
npm install optimist-config-fileExtends optimist npm module with support for JSON/YAML config file and Docker's inspired environment variables handling.
> Refer to examples/example.js
```
npm install --save optimist-config-file
`js
const program = require('optimist-config-file');
program
.usage('...')
// ...
.describe('config', 'uses JSON or YAML-formatted config file to set parameters').string('config');
// handle --config option for passing YAML/JSON config files
program.setConfigFile('config');
// allow env variables to be passed
program.setReplacementVars(process.env);
// parse options
const options = program.parse(process.argv);
console.log(options);
`
YAML config file:
`yaml`
banner: Hello, ${USERNAME}! Greetings from ${HOSTNAME:-The Unknown Machine}.
Invocations with environment variables and options:
`sh
./example.js --config config.yaml
Hello, macbre! Greetings from The Unknown Machine.
HOSTNAME=hostname ./example.js --config config.yaml
Hello, macbre! Greetings from debian.
./example.js --config config.yaml --banner='foo'
Hello, macbre! Greetings from The Unknown Machine.
``
As you can see config file values have precedence over command line ones.