![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
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'.
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 --save
Adds 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 or base
methods.alias()
- .alias: similar to map
but creates simple aliases. For example, alias('show', 'get')
would invoke the .get()
method when --show
is passed on the command line.process()
- .process: once all mappings are defined, pass argv
to .process()
to iterate over the mappings, passing argv
as 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'
//
Force questions that match the given pattern to be asked. The resulting answer data is merged onto app.cache.data
.
After questions are answered:
app.data('answers')
to get answer data.--open answers
in the command lineExample
# ask all questions
$ --ask
# ask all `author.*` questions
$ --ask "author.*"
# ask all `*.name` questions (like `project.name` and `author.name`)
$ --ask "*.name*"
Prefix the --config
flag onto other command line options to persist the value to package.json for the current project. For example, if you're using verb
, the value would be saved to the verb
object.
Params
Example
# save the cwd to use for a project
$ --config=cwd:foo
# save the tasks to run for a project
$ --config=tasks:readme
# display the config
$ --config
Set the current working directory.
Example
# set working directory to "foo"
$ --cwd=foo
# display cwd
$ --cwd
Set data on the app.cache.data
object. This is the API-equivalent of calling app.data()
.
Example
$ --data
# display data object
$ --data=foo
# sets {foo: true}
$ --data=foo:bar
# sets {foo: 'bar'}
$ --data=foo.bar:baz
# sets {foo:{bar: 'baz'}}
Bind console.error
to the given event listener, so that when event name
is emitted, the event arguments will be output in the console.
Example
# emit errors
$ --emit error
# emit all views as they're created
$ --emit view
# emit only "pages" as they're created
$ --emit page
Ask initialization questions and persist answer data to the global config store.
Example
$ --init
Open a directory, or open a file in the default application associated with the file type.
Example
# Open the directory where answer data is persisted
$ --open answers
# Open the directory where store data is persisted
$ --open store
Set options on the app.options
object. This is the API-equivalent of calling app.option()
. You may also use the plural --options
flag for identical behavior.
Example
$ --option=foo
# sets {foo: true}
$ --option=foo:bar
# sets {foo: 'bar'}
$ --option=foo.bar:baz
# sets {foo:{bar: 'baz'}}
Set in-memory options on the app.options
object. This is the API-equivalent of calling app.option()
. You may also use the singular --option
flag for identical behavior.
To display currently defined options, pass the --options
flag with no value.
Example
$ --options=foo
# sets {foo: true}
$ --options=foo:bar
# sets {foo: 'bar'}
$ --options=foo.bar:baz
# sets {foo:{bar: 'baz'}}
Persist a value to the global config store by prefixing a command line option with --save
.
Params
Example
# save the cwd to use as a global default
$ --save=cwd:foo
# save the tasks to run by default
$ --save=tasks:readme
Alias for --tasks
. Run the given generators and tasks. This flag is unnecessary when used with base-runner.
Example
# run task "foo"
$ app --task foo
# run generator "foo", task "bar"
$ app --task foo:bar
#=> {task: ['foo:bar']}
Run the given generators and tasks. This flag is unnecessary when used with base-runner.
Example
# run task "foo"
$ app --tasks foo
# run generator "foo", task "bar"
$ app --tasks foo:bar
#=> {task: ['foo:bar']}
Returns true if val
is true or is an object with show: true
Params
val
{String}returns
{Boolean}Persist a value to the global config store by prefixing a command line option
with --save
flag is prefixed to other command line options when you want
to persist the value to the global config store. For example, let's say
you're running verb:
verb --cwd=foo
sets foo
as the cwd in memory, and would need to be set again the next time you run the verb
command.verb --save=cwd:foo
persists foo
to verb's [global config store][store] so that it's used as the default cwd each time you run the application.verb --config=cwd:foo
persists foo
to the verb
[config object][config] in package.jsonto the global config store located in the user's home directory (for example, if you're running verb, the store would be located in ~/verb/verb.json
on mac), and would be .
--init
--config
--verbose
Other useful base plugins:
config
method for mapping declarative configuration values to other 'base'… more | homepagedata
method to base-methods. | homepagebase
application. | homepagePull 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 docs
Or, if verb is installed globally:
$ verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb, v0.9.0, on February 23, 2016.
FAQs
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'.
The npm package base-cli receives a total of 21,388 weekly downloads. As such, base-cli popularity was classified as popular.
We found that base-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.