/base-cli-schema

Primary LanguageJavaScriptMIT LicenseMIT

base-cli-schema NPM version NPM downloads Build Status

Schema for the base-cli plugin, used for normalizing argv values before passing them to cli.process().

Install

Install with npm:

$ npm install base-cli-schema --save

Usage

var argv = require('minimist')(process.argv.slice(2));
var Base = require('base');
var cliSchema = require('base-cli-schema');

var app = new Base();
app.use(cli());
var schema = cliSchema(app);

var obj = schema.normalize(argv);
console.log(obj);

Custom fields

Field names correspond to properties on the parsed argv object.

var schema = cliSchema(app)
  .field('foo', 'string', {
    normalize: function(val, key, config, schema) {
      // do stuff to val
      return 'bar';
    }
  })

var obj = schema.normalize(argv);
console.log(obj);
//=> {foo: 'bar'}

Related projects

You might also be interested in these projects:

  • base-cli-process: Normalizers for common argv commands handled by the base-cli plugin. Also pre-processes the given object… more | homepage
  • base-cli: Plugin for base-methods that maps built-in methods to CLI args (also supports methods from a… more | homepage
  • base-option: Adds a few options methods to base, like option, enable and disable. See the readme… more | homepage
  • base: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

Generate readme and API documentation with verb:

$ npm install verb && npm run docs

Or, if verb is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on May 07, 2016.