https://github.com/jmendiara/convict-commander
Make a convict commander!
https://github.com/jmendiara/convict-commander
Last synced: about 2 months ago
JSON representation
Make a convict commander!
- Host: GitHub
- URL: https://github.com/jmendiara/convict-commander
- Owner: jmendiara
- License: mit
- Created: 2016-09-19T21:41:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-12-30T10:15:43.000Z (over 8 years ago)
- Last Synced: 2025-04-17T13:36:17.073Z (2 months ago)
- Language: JavaScript
- Size: 6.84 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## convict-commander
Integrates your [convict](https://github.com/mozilla/node-convict) configuration
with the [commander.js](https://github.com/tj/commander.js/) command-line tool.
As you have defined your config with an schema, you already have all the metadata needed
by the command-line. DRY.Currently, very basic support is implemented, to solve simple use cases.
```js
var convict = require('convict');
var program = require('commander');
var convictCommander = require('convict-commander');convictCommander(program) // Enable convict-commander
// Define a schema
var config = convict({
port: {
doc: "The port to bind",
format: "port",
default: 3000,
env: "PORT",
arg: "port" // --> this is the command-line parameter.
}
});program
.version('0.0.1')
.convict(config) // Add the metadata
.parse(process.argv);
```That's it.
```sh
$> node index.js --helpUsage: index [options]
Options:
-h, --help output usage information
-V, --version output the version number
--port [port] The port to bind [default: 3000]
Environment var: PORT
```## LICENSE
MIT