Skip to content

Normalizers for common command line options/flags handled by the base-cli plugin. Also pre-processes the given object with base-cli-schema before calling `.process()`

Notifications You must be signed in to change notification settings

base/base-cli-process

Repository files navigation

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

Load and register async template helpers from a glob or filepath.

Example

$ app --asyncHelpers="foo.js"

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

Set the --cwd to use in the current project.

Example

$ app --cwd=foo

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']}}

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

Set a dest path on app.options.

Example

$ app --dest=foo

Enable a configuration setting. Also pass -c to save the value to the verb.config object in package.json.

Example

$ app --enable toc

Alias for engines

Load engines from a filepath or glob pattern.

Example

$ app --engines="./foo.js"

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

Show a help menu.

Example

$ app --help

Load and register async template helpers from a glob or filepath.

Example

$ app --helpers="foo.js"

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

Example

$ app --option=foo:bar

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

Example

$ app --options=foo:bar

Load plugins from a filepath or glob pattern.

Example

$ app --plugins="./foo.js"

For tasks to run, regardless of other options passed on the command line.

Example

$ app --run

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

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.

About

Normalizers for common command line options/flags handled by the base-cli plugin. Also pre-processes the given object with base-cli-schema before calling `.process()`

Resources

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

No packages published