Plugin for base-methods that maps built-in methods to CLI args (also supports methods from a few plugins, like 'base-store', 'base-options' and 'base-data'.
You might also be interested in base-config.
Install with npm:
$ npm install base-cli --saveAdds a cli method to base for mapping parsed command line arguments existing base methods or custom functions.
The goal is to simplify the process of settings up command line logic for your base application.
var cli = require('base-cli');
var Base = require('base');
var app = new Base();
// register the plugin
app.use(cli());This adds a cli object to base with the following (chainable) methods (base.cli.*):
.map()- .map: add mappings from command line flags/options to custom functions orbasemethods.alias()- .alias: similar tomapbut creates simple aliases. For example,alias('show', 'get')would invoke the.get()method when--showis passed on the command line.process()- .process: once all mappings are defined, passargvto.process()to iterate over the mappings, passingargvas context.
var argv = require('minimist')(process.argv.slice(2));
var expand = require('expand-args');
var cli = require('base-cli');
var Base = require('base');
var app = new Base();
app.use(cli());
app.cli
.map('get', function(key, val) {
app.get(key, val);
})
.map('set', function(key, val) {
app.set(key, val);
})
app.cli.process(expand(argv), function(err) {
if (err) throw err;
});
// command line args:
//
// '--set=a:b --get=a'
//
// prints:
//
// 'a'
// The following commands are currently supported.
Other useful base plugins:
- base-config: base-methods plugin that adds a
configmethod for mapping declarative configuration values to other 'base'… more | homepage - base-data: adds a
datamethod to base-methods. | homepage - base-generators: Adds project-generator support to your
baseapplication. | homepage - base-plugins: Upgrade's plugin support in base applications to allow plugins to be called any time after… more | homepage
- base-task: base plugin that provides a very thin wrapper around https://github.com/doowb/composer for adding task methods to… more | homepage
- base: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Generate readme and API documentation with verb:
$ npm install verb && npm run docsOr, if verb is installed globally:
$ verbInstall dev dependencies:
$ npm install -d && npm testJon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on April 14, 2016.