base-cli-process

Normalizers for common argv commands handled by the base-cli plugin. Also pre-processes the given object with base-cli-schema before calling `.process()`

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
base-cli-process
0.1.197 years ago8 years agoMinified + gzip package size for base-cli-process in KB

Readme

base-cli-process NPM version NPM monthly downloads NPM total downloads Linux Build Status
Normalizers for common argv commands handled by the base-cli plugin. Also pre-processes the given object with base-cli-schema before calling .process()

Install

Install with npm:
$ npm install --save base-cli-process

Usage

Normalizes the given object with base-cli-schema before calling the .process method from base-cli.
var Base = require('base');
var cli = require('base-cli-process');

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

var pkg = require('./package');

app.cli.process(pkg, function(err) {
  if (err) throw err;
});

API

.asyncHelpers

Load and register async template helpers from a glob or filepath.
Example
$ app --asyncHelpers="foo.js"

.config

Persist a value to a namespaced config object in package.json. For example, if you're using verb, the value would be saved to the verb object.
Params
  • {Object}: app

Example
# display the config
$ app --config
# set a boolean for the current project
$ app --config=toc
# save the cwd to use for the current project
$ app --config=cwd:foo
# save the tasks to run for the current project
$ app --config=tasks:readme

.cwd

Set the --cwd to use in the current project.
Example
$ app --cwd=foo

.data

Define data to be used for rendering templates.
Example
$ app --data=foo:bar
# {foo: 'bar'}

$ app --data=foo.bar:baz
# {foo: {bar: 'baz'}}

$ app --data=foo:bar,baz
# {foo: ['bar', 'baz']}}

.del

Delete a value from app.
Example
# delete a value from package.json config (e.g. `verb` object)
$ app --del=config.foo
# delete a value from in-memory options
$ app --del=option.foo
# delete a property from the global config store
$ app --del=globals.foo

.dest

Set a dest path on app.options.
Example
$ app --dest=foo

.enable

Enable a configuration setting. Also pass -c to save the value to the verb.config object in package.json.
Example
$ app --enable toc

.engines

Alias for engines

.engines

Load engines from a filepath or glob pattern.
Example
$ app --engines="./foo.js"

.get

Get a value from app and set it on app.cache.get in memory, allowing the value to be re-used by another command, like --set.
Example
$ app --get=pkg.name

.help

Show a help menu.
Example
$ app --help

.helpers

Load and register async template helpers from a glob or filepath.
Example
$ app --helpers="foo.js"

.option

Set options. This is the API-equivalent of calling app.option('foo', 'bar').
Example
$ app --option=foo:bar

.options

Set options. This is the API-equivalent of calling app.option('foo', 'bar').
Example
$ app --options=foo:bar

.plugins

Load plugins from a filepath or glob pattern.
Example
$ app --plugins="./foo.js"

.run

For tasks to run, regardless of other options passed on the command line.
Example
$ app --run

.set

Set the given value, or a value was previously cached by --get.
Example
$ app --set=pkg.name:foo
# example: persist `pkg.name` to `store.data.name`
$ app --get=pkg.name --set=store.name

.get

Get a value from app and set it on app.cache.get in memory, allowing the value to be re-used by another command, like --set.
Example
$ app --get=pkg.name

.toc

Enable or disable Table of Contents rendering
Example
# enable
$ app --toc
# or
$ app --toc=true
# disable
$ app --toc=false

About

Related projects

  • base-cli: Plugin for base-methods that maps built-in methods to CLI args (also supports methods from a… more | homepage
  • base-config: base-methods plugin that adds a config method for mapping declarative configuration values to other 'base… 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.

Contributors

| Commits | Contributor | | --- | --- | | 72 | jonschlinkert | | 1 | slang800 |

Building docs

(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb

Running tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test

Author

Jon Schlinkert

License

Copyright © 2017, Jon Schlinkert
. Released under the MIT License.

This file was generated by verb-generate-readme
, v0.4.3, on March 12, 2017.