Package Exports
- command-line-commands
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (command-line-commands) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
command-line-commands
A lightweight module to help build a git-like command interface for your app.
Synopsis
Create a list of valid commands (null
represents "no command"). Supply it to commandLineCommands()
, receiving back an object with two properties: command
(the supplied command) and argv
(the remainder of the command line args):
const commandLineCommands = require('command-line-commands')
const validCommands = [ null, 'clean', 'update', 'install' ]
const { command, argv } = commandLineCommands(validCommands)
console.log('command: %s', command)
console.log('argv: %s', JSON.stringify(argv))
Assuming the above script is installed as example
:
$ example
command: null
argv: []
$ example --verbose
command: null
argv: ["--verbose"]
$ example install --save something
command: install
argv: ["--save","something"]
From here, you can make a decision how to proceed based on the command
and argv
received.
Usage Examples
Both examples use command-line-args for option-parsing.
- Simple: A basic app with a couple of commands.
- Advanced: A more complete example, implementing part of the git command interface.
API Reference
Example
const commandLineCommands = require('command-line-commands')
commandLineCommands(commands, [argv]) ⇒ Object
⏏
Parses the argv
value supplied (or process.argv
by default), extracting and returning the command
and remainder of argv
. The command will be the first value in the argv
array unless it is an option (e.g. --help
).
Kind: Exported function
Throws:
INVALID_COMMAND
- user supplied a command not specified incommands
.
Param | Type | Description |
---|---|---|
commands | string | Array.<string> |
One or more command strings, one of which the user must supply. Include null to represent "no command" (effectively making a command optional). |
[argv] | Array.<string> |
An argv array, defaults to the global process.argv if not supplied. |
© 2015-16 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.