# convict-commander

> Integrate node-convict with commander.js

Latest version **2.0.0** (published 2016-12-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install convict-commander
pnpm add convict-commander
yarn add convict-commander
bun add convict-commander
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2016-12-30 |
| First published | 2016-09-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Javier Mendiara Cañardo |
| Maintainers | jmendiara |
| Keywords | convict, node-convict, commander, commanderjs |

## Links

- npm: https://www.npmjs.com/package/convict-commander
- Repository: https://github.com/jmendiara/convict-commander
- Homepage: https://github.com/jmendiara/convict-commander#readme
- Issues: https://github.com/jmendiara/convict-commander/issues
- npm.io page: https://npm.io/package/convict-commander

## Recent versions

- 2.0.0 (latest) — 2016-12-30
- 1.0.0 — 2016-09-19

## 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 --help

  Usage: 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

---
_Source: https://npm.io/package/convict-commander · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
