mirror of
				https://github.com/musix-org/musix-oss
				synced 2025-11-04 03:39:32 +00:00 
			
		
		
		
	Updated
This commit is contained in:
		
							
								
								
									
										408
									
								
								node_modules/commander/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										408
									
								
								node_modules/commander/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,408 @@
 | 
			
		||||
 | 
			
		||||
2.20.0 / 2019-04-02
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fix: resolve symbolic links completely when hunting for subcommands (#935)
 | 
			
		||||
  * Update index.d.ts (#930)
 | 
			
		||||
  * Update Readme.md (#924)
 | 
			
		||||
  * Remove --save option as it isn't required anymore (#918)
 | 
			
		||||
  * Add link to the license file (#900)
 | 
			
		||||
  * Added example of receiving args from options (#858)
 | 
			
		||||
  * Added missing semicolon (#882)
 | 
			
		||||
  * Add extension to .eslintrc (#876)
 | 
			
		||||
 | 
			
		||||
2.19.0 / 2018-10-02
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Removed newline after Options and Commands headers (#864)
 | 
			
		||||
  * Bugfix - Error output (#862)
 | 
			
		||||
  * Fix to change default value to string (#856)
 | 
			
		||||
 | 
			
		||||
2.18.0 / 2018-09-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Standardize help output (#853)
 | 
			
		||||
  * chmod 644 travis.yml (#851)
 | 
			
		||||
  * add support for execute typescript subcommand via ts-node (#849)
 | 
			
		||||
 | 
			
		||||
2.17.1 / 2018-08-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fix bug in command emit (#844)
 | 
			
		||||
 | 
			
		||||
2.17.0 / 2018-08-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fixed newline output after help information (#833)
 | 
			
		||||
  * Fix to emit the action even without command (#778)
 | 
			
		||||
  * npm update (#823)
 | 
			
		||||
 | 
			
		||||
2.16.0 / 2018-06-29
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Remove Makefile and `test/run` (#821)
 | 
			
		||||
  * Make 'npm test' run on Windows (#820)
 | 
			
		||||
  * Add badge to display install size (#807)
 | 
			
		||||
  * chore: cache node_modules (#814)
 | 
			
		||||
  * chore: remove Node.js 4 (EOL), add Node.js 10 (#813)
 | 
			
		||||
  * fixed typo in readme (#812)
 | 
			
		||||
  * Fix types (#804)
 | 
			
		||||
  * Update eslint to resolve vulnerabilities in lodash (#799)
 | 
			
		||||
  * updated readme with custom event listeners. (#791)
 | 
			
		||||
  * fix tests (#794)
 | 
			
		||||
 | 
			
		||||
2.15.0 / 2018-03-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Update downloads badge to point to graph of downloads over time instead of duplicating link to npm
 | 
			
		||||
  * Arguments description
 | 
			
		||||
 | 
			
		||||
2.14.1 / 2018-02-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fix typing of help function
 | 
			
		||||
 | 
			
		||||
2.14.0 / 2018-02-05
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * only register the option:version event once
 | 
			
		||||
  * Fixes issue #727: Passing empty string for option on command is set to undefined
 | 
			
		||||
  * enable eqeqeq rule
 | 
			
		||||
  * resolves #754 add linter configuration to project
 | 
			
		||||
  * resolves #560 respect custom name for version option
 | 
			
		||||
  * document how to override the version flag
 | 
			
		||||
  * document using options per command
 | 
			
		||||
 | 
			
		||||
2.13.0 / 2018-01-09
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Do not print default for --no-
 | 
			
		||||
  * remove trailing spaces in command help
 | 
			
		||||
  * Update CI's Node.js to LTS and latest version
 | 
			
		||||
  * typedefs: Command and Option types added to commander namespace
 | 
			
		||||
 | 
			
		||||
2.12.2 / 2017-11-28
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fix: typings are not shipped
 | 
			
		||||
 | 
			
		||||
2.12.1 / 2017-11-23
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Move @types/node to dev dependency
 | 
			
		||||
 | 
			
		||||
2.12.0 / 2017-11-22
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add attributeName() method to Option objects
 | 
			
		||||
  * Documentation updated for options with --no prefix
 | 
			
		||||
  * typings: `outputHelp` takes a string as the first parameter
 | 
			
		||||
  * typings: use overloads
 | 
			
		||||
  * feat(typings): update to match js api
 | 
			
		||||
  * Print default value in option help
 | 
			
		||||
  * Fix translation error
 | 
			
		||||
  * Fail when using same command and alias (#491)
 | 
			
		||||
  * feat(typings): add help callback
 | 
			
		||||
  * fix bug when description is add after command with options (#662)
 | 
			
		||||
  * Format js code
 | 
			
		||||
  * Rename History.md to CHANGELOG.md (#668)
 | 
			
		||||
  * feat(typings): add typings to support TypeScript (#646)
 | 
			
		||||
  * use current node
 | 
			
		||||
 | 
			
		||||
2.11.0 / 2017-07-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fix help section order and padding (#652)
 | 
			
		||||
  * feature: support for signals to subcommands (#632)
 | 
			
		||||
  * Fixed #37, --help should not display first (#447)
 | 
			
		||||
  * Fix translation errors. (#570)
 | 
			
		||||
  * Add package-lock.json
 | 
			
		||||
  * Remove engines
 | 
			
		||||
  * Upgrade package version
 | 
			
		||||
  * Prefix events to prevent conflicts between commands and options (#494)
 | 
			
		||||
  * Removing dependency on graceful-readlink
 | 
			
		||||
  * Support setting name in #name function and make it chainable
 | 
			
		||||
  * Add .vscode directory to .gitignore (Visual Studio Code metadata)
 | 
			
		||||
  * Updated link to ruby commander in readme files
 | 
			
		||||
 | 
			
		||||
2.10.0 / 2017-06-19
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Update .travis.yml. drop support for older node.js versions.
 | 
			
		||||
  * Fix require arguments in README.md
 | 
			
		||||
  * On SemVer you do not start from 0.0.1
 | 
			
		||||
  * Add missing semi colon in readme
 | 
			
		||||
  * Add save param to npm install
 | 
			
		||||
  * node v6 travis test
 | 
			
		||||
  * Update Readme_zh-CN.md
 | 
			
		||||
  * Allow literal '--' to be passed-through as an argument
 | 
			
		||||
  * Test subcommand alias help
 | 
			
		||||
  * link build badge to master branch
 | 
			
		||||
  * Support the alias of Git style sub-command
 | 
			
		||||
  * added keyword commander for better search result on npm
 | 
			
		||||
  * Fix Sub-Subcommands
 | 
			
		||||
  * test node.js stable
 | 
			
		||||
  * Fixes TypeError when a command has an option called `--description`
 | 
			
		||||
  * Update README.md to make it beginner friendly and elaborate on the difference between angled and square brackets.
 | 
			
		||||
  * Add chinese Readme file
 | 
			
		||||
 | 
			
		||||
2.9.0 / 2015-10-13
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Add option `isDefault` to set default subcommand #415 @Qix-
 | 
			
		||||
  * Add callback to allow filtering or post-processing of help text #434 @djulien
 | 
			
		||||
  * Fix `undefined` text in help information close #414 #416 @zhiyelee
 | 
			
		||||
 | 
			
		||||
2.8.1 / 2015-04-22
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * Back out `support multiline description` Close #396 #397
 | 
			
		||||
 | 
			
		||||
2.8.0 / 2015-04-07
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Add `process.execArg` support, execution args like `--harmony` will be passed to sub-commands #387 @DigitalIO @zhiyelee
 | 
			
		||||
  * Fix bug in Git-style sub-commands #372 @zhiyelee
 | 
			
		||||
  * Allow commands to be hidden from help #383 @tonylukasavage
 | 
			
		||||
  * When git-style sub-commands are in use, yet none are called, display help #382 @claylo
 | 
			
		||||
  * Add ability to specify arguments syntax for top-level command #258 @rrthomas
 | 
			
		||||
  * Support multiline descriptions #208 @zxqfox
 | 
			
		||||
 | 
			
		||||
2.7.1 / 2015-03-11
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * Revert #347 (fix collisions when option and first arg have same name) which causes a bug in #367.
 | 
			
		||||
 | 
			
		||||
2.7.0 / 2015-03-09
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * Fix git-style bug when installed globally. Close #335 #349 @zhiyelee
 | 
			
		||||
 * Fix collisions when option and first arg have same name. Close #346 #347 @tonylukasavage
 | 
			
		||||
 * Add support for camelCase on `opts()`. Close #353  @nkzawa
 | 
			
		||||
 * Add node.js 0.12 and io.js to travis.yml
 | 
			
		||||
 * Allow RegEx options. #337 @palanik
 | 
			
		||||
 * Fixes exit code when sub-command failing.  Close #260 #332 @pirelenito
 | 
			
		||||
 * git-style `bin` files in $PATH make sense. Close #196 #327  @zhiyelee
 | 
			
		||||
 | 
			
		||||
2.6.0 / 2014-12-30
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * added `Command#allowUnknownOption` method. Close #138 #318 @doozr @zhiyelee
 | 
			
		||||
  * Add application description to the help msg. Close #112 @dalssoft
 | 
			
		||||
 | 
			
		||||
2.5.1 / 2014-12-15
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fixed two bugs incurred by variadic arguments. Close #291 @Quentin01 #302 @zhiyelee
 | 
			
		||||
 | 
			
		||||
2.5.0 / 2014-10-24
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add support for variadic arguments. Closes #277 @whitlockjc
 | 
			
		||||
 | 
			
		||||
2.4.0 / 2014-10-17
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * fixed a bug on executing the coercion function of subcommands option. Closes #270
 | 
			
		||||
 * added `Command.prototype.name` to retrieve command name. Closes #264 #266 @tonylukasavage
 | 
			
		||||
 * added `Command.prototype.opts` to retrieve all the options as a simple object of key-value pairs. Closes #262 @tonylukasavage
 | 
			
		||||
 * fixed a bug on subcommand name. Closes #248 @jonathandelgado
 | 
			
		||||
 * fixed function normalize doesn’t honor option terminator. Closes #216 @abbr
 | 
			
		||||
 | 
			
		||||
2.3.0 / 2014-07-16
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add command alias'. Closes PR #210
 | 
			
		||||
 * fix: Typos. Closes #99
 | 
			
		||||
 * fix: Unused fs module. Closes #217
 | 
			
		||||
 | 
			
		||||
2.2.0 / 2014-03-29
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add passing of previous option value
 | 
			
		||||
 * fix: support subcommands on windows. Closes #142
 | 
			
		||||
 * Now the defaultValue passed as the second argument of the coercion function.
 | 
			
		||||
 | 
			
		||||
2.1.0 / 2013-11-21
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add: allow cflag style option params, unit test, fixes #174
 | 
			
		||||
 | 
			
		||||
2.0.0 / 2013-07-18
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * remove input methods (.prompt, .confirm, etc)
 | 
			
		||||
 | 
			
		||||
1.3.2 / 2013-07-18
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add support for sub-commands to co-exist with the original command
 | 
			
		||||
 | 
			
		||||
1.3.1 / 2013-07-18
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add quick .runningCommand hack so you can opt-out of other logic when running a sub command
 | 
			
		||||
 | 
			
		||||
1.3.0 / 2013-07-09
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * add EACCES error handling
 | 
			
		||||
 * fix sub-command --help
 | 
			
		||||
 | 
			
		||||
1.2.0 / 2013-06-13
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
 * allow "-" hyphen as an option argument
 | 
			
		||||
 * support for RegExp coercion
 | 
			
		||||
 | 
			
		||||
1.1.1 / 2012-11-20
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add more sub-command padding
 | 
			
		||||
  * fix .usage() when args are present. Closes #106
 | 
			
		||||
 | 
			
		||||
1.1.0 / 2012-11-16
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add git-style executable subcommand support. Closes #94
 | 
			
		||||
 | 
			
		||||
1.0.5 / 2012-10-09
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fix `--name` clobbering. Closes #92
 | 
			
		||||
  * fix examples/help. Closes #89
 | 
			
		||||
 | 
			
		||||
1.0.4 / 2012-09-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add `outputHelp()` method.
 | 
			
		||||
 | 
			
		||||
1.0.3 / 2012-08-30
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * remove invalid .version() defaulting
 | 
			
		||||
 | 
			
		||||
1.0.2 / 2012-08-24
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add `--foo=bar` support [arv]
 | 
			
		||||
  * fix password on node 0.8.8. Make backward compatible with 0.6 [focusaurus]
 | 
			
		||||
 | 
			
		||||
1.0.1 / 2012-08-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * fix issue #56
 | 
			
		||||
  * fix tty.setRawMode(mode) was moved to tty.ReadStream#setRawMode() (i.e. process.stdin.setRawMode())
 | 
			
		||||
 | 
			
		||||
1.0.0 / 2012-07-05
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * add support for optional option descriptions
 | 
			
		||||
  * add defaulting of `.version()` to package.json's version
 | 
			
		||||
 | 
			
		||||
0.6.1 / 2012-06-01
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added: append (yes or no) on confirmation
 | 
			
		||||
  * Added: allow node.js v0.7.x
 | 
			
		||||
 | 
			
		||||
0.6.0 / 2012-04-10
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added `.prompt(obj, callback)` support. Closes #49
 | 
			
		||||
  * Added default support to .choose(). Closes #41
 | 
			
		||||
  * Fixed the choice example
 | 
			
		||||
 | 
			
		||||
0.5.1 / 2011-12-20
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fixed `password()` for recent nodes. Closes #36
 | 
			
		||||
 | 
			
		||||
0.5.0 / 2011-12-04
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added sub-command option support [itay]
 | 
			
		||||
 | 
			
		||||
0.4.3 / 2011-12-04
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fixed custom help ordering. Closes #32
 | 
			
		||||
 | 
			
		||||
0.4.2 / 2011-11-24
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added travis support
 | 
			
		||||
  * Fixed: line-buffered input automatically trimmed. Closes #31
 | 
			
		||||
 | 
			
		||||
0.4.1 / 2011-11-18
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Removed listening for "close" on --help
 | 
			
		||||
 | 
			
		||||
0.4.0 / 2011-11-15
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added support for `--`. Closes #24
 | 
			
		||||
 | 
			
		||||
0.3.3 / 2011-11-14
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fixed: wait for close event when writing help info [Jerry Hamlet]
 | 
			
		||||
 | 
			
		||||
0.3.2 / 2011-11-01
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fixed long flag definitions with values [felixge]
 | 
			
		||||
 | 
			
		||||
0.3.1 / 2011-10-31
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Changed `--version` short flag to `-V` from `-v`
 | 
			
		||||
  * Changed `.version()` so it's configurable [felixge]
 | 
			
		||||
 | 
			
		||||
0.3.0 / 2011-10-31
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added support for long flags only. Closes #18
 | 
			
		||||
 | 
			
		||||
0.2.1 / 2011-10-24
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * "node": ">= 0.4.x < 0.7.0". Closes #20
 | 
			
		||||
 | 
			
		||||
0.2.0 / 2011-09-26
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Allow for defaults that are not just boolean. Default peassignment only occurs for --no-*, optional, and required arguments. [Jim Isaacs]
 | 
			
		||||
 | 
			
		||||
0.1.0 / 2011-08-24
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added support for custom `--help` output
 | 
			
		||||
 | 
			
		||||
0.0.5 / 2011-08-18
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Changed: when the user enters nothing prompt for password again
 | 
			
		||||
  * Fixed issue with passwords beginning with numbers [NuckChorris]
 | 
			
		||||
 | 
			
		||||
0.0.4 / 2011-08-15
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Fixed `Commander#args`
 | 
			
		||||
 | 
			
		||||
0.0.3 / 2011-08-15
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added default option value support
 | 
			
		||||
 | 
			
		||||
0.0.2 / 2011-08-15
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Added mask support to `Command#password(str[, mask], fn)`
 | 
			
		||||
  * Added `Command#password(str, fn)`
 | 
			
		||||
 | 
			
		||||
0.0.1 / 2010-01-03
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
  * Initial release
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/commander/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/commander/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining
 | 
			
		||||
a copy of this software and associated documentation files (the
 | 
			
		||||
'Software'), to deal in the Software without restriction, including
 | 
			
		||||
without limitation the rights to use, copy, modify, merge, publish,
 | 
			
		||||
distribute, sublicense, and/or sell copies of the Software, and to
 | 
			
		||||
permit persons to whom the Software is furnished to do so, subject to
 | 
			
		||||
the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be
 | 
			
		||||
included in all copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
 | 
			
		||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 | 
			
		||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 | 
			
		||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 | 
			
		||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 | 
			
		||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 | 
			
		||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
							
								
								
									
										428
									
								
								node_modules/commander/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										428
									
								
								node_modules/commander/Readme.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,428 @@
 | 
			
		||||
# Commander.js
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[](http://travis-ci.org/tj/commander.js)
 | 
			
		||||
[](https://www.npmjs.org/package/commander)
 | 
			
		||||
[](https://npmcharts.com/compare/commander?minimal=true)
 | 
			
		||||
[](https://packagephobia.now.sh/result?p=commander)
 | 
			
		||||
[](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
 | 
			
		||||
 | 
			
		||||
  The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/commander-rb/commander).  
 | 
			
		||||
  [API documentation](http://tj.github.com/commander.js/)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
    $ npm install commander
 | 
			
		||||
 | 
			
		||||
## Option parsing
 | 
			
		||||
 | 
			
		||||
Options with commander are defined with the `.option()` method, also serving as documentation for the options. The example below parses args and options from `process.argv`, leaving remaining args as the `program.args` array which were not consumed by options.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .option('-p, --peppers', 'Add peppers')
 | 
			
		||||
  .option('-P, --pineapple', 'Add pineapple')
 | 
			
		||||
  .option('-b, --bbq-sauce', 'Add bbq sauce')
 | 
			
		||||
  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
 | 
			
		||||
console.log('you ordered a pizza with:');
 | 
			
		||||
if (program.peppers) console.log('  - peppers');
 | 
			
		||||
if (program.pineapple) console.log('  - pineapple');
 | 
			
		||||
if (program.bbqSauce) console.log('  - bbq');
 | 
			
		||||
console.log('  - %s cheese', program.cheese);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Short flags may be passed as a single arg, for example `-abc` is equivalent to `-a -b -c`. Multi-word options such as "--template-engine" are camel-cased, becoming `program.templateEngine` etc.
 | 
			
		||||
 | 
			
		||||
Note that multi-word options starting with `--no` prefix negate the boolean value of the following word. For example, `--no-sauce` sets the value of `program.sauce` to false.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .option('--no-sauce', 'Remove sauce')
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
 | 
			
		||||
console.log('you ordered a pizza');
 | 
			
		||||
if (program.sauce) console.log('  with sauce');
 | 
			
		||||
else console.log(' without sauce');
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To get string arguments from options you will need to use angle brackets <> for required inputs or square brackets [] for optional inputs. 
 | 
			
		||||
 | 
			
		||||
e.g. ```.option('-m --myarg [myVar]', 'my super cool description')```
 | 
			
		||||
 | 
			
		||||
Then to access the input if it was passed in.
 | 
			
		||||
 | 
			
		||||
e.g. ```var myInput = program.myarg```
 | 
			
		||||
 | 
			
		||||
**NOTE**: If you pass a argument without using brackets the example above will return true and not the value passed in.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Version option
 | 
			
		||||
 | 
			
		||||
Calling the `version` implicitly adds the `-V` and `--version` options to the command.
 | 
			
		||||
When either of these options is present, the command prints the version number and exits.
 | 
			
		||||
 | 
			
		||||
    $ ./examples/pizza -V
 | 
			
		||||
    0.0.1
 | 
			
		||||
 | 
			
		||||
If you want your program to respond to the `-v` option instead of the `-V` option, simply pass custom flags to the `version` method using the same syntax as the `option` method.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
program
 | 
			
		||||
  .version('0.0.1', '-v, --version')
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The version flags can be named anything, but the long option is required.
 | 
			
		||||
 | 
			
		||||
## Command-specific options
 | 
			
		||||
 | 
			
		||||
You can attach options to a command.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .command('rm <dir>')
 | 
			
		||||
  .option('-r, --recursive', 'Remove recursively')
 | 
			
		||||
  .action(function (dir, cmd) {
 | 
			
		||||
    console.log('remove ' + dir + (cmd.recursive ? ' recursively' : ''))
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
program.parse(process.argv)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
A command's options are validated when the command is used. Any unknown options will be reported as an error. However, if an action-based command does not define an action, then the options are not validated.
 | 
			
		||||
 | 
			
		||||
## Coercion
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
function range(val) {
 | 
			
		||||
  return val.split('..').map(Number);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function list(val) {
 | 
			
		||||
  return val.split(',');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function collect(val, memo) {
 | 
			
		||||
  memo.push(val);
 | 
			
		||||
  return memo;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function increaseVerbosity(v, total) {
 | 
			
		||||
  return total + 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .usage('[options] <file ...>')
 | 
			
		||||
  .option('-i, --integer <n>', 'An integer argument', parseInt)
 | 
			
		||||
  .option('-f, --float <n>', 'A float argument', parseFloat)
 | 
			
		||||
  .option('-r, --range <a>..<b>', 'A range', range)
 | 
			
		||||
  .option('-l, --list <items>', 'A list', list)
 | 
			
		||||
  .option('-o, --optional [value]', 'An optional value')
 | 
			
		||||
  .option('-c, --collect [value]', 'A repeatable value', collect, [])
 | 
			
		||||
  .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0)
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
 | 
			
		||||
console.log(' int: %j', program.integer);
 | 
			
		||||
console.log(' float: %j', program.float);
 | 
			
		||||
console.log(' optional: %j', program.optional);
 | 
			
		||||
program.range = program.range || [];
 | 
			
		||||
console.log(' range: %j..%j', program.range[0], program.range[1]);
 | 
			
		||||
console.log(' list: %j', program.list);
 | 
			
		||||
console.log(' collect: %j', program.collect);
 | 
			
		||||
console.log(' verbosity: %j', program.verbose);
 | 
			
		||||
console.log(' args: %j', program.args);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Regular Expression
 | 
			
		||||
```js
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .option('-s --size <size>', 'Pizza size', /^(large|medium|small)$/i, 'medium')
 | 
			
		||||
  .option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i)
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
 | 
			
		||||
console.log(' size: %j', program.size);
 | 
			
		||||
console.log(' drink: %j', program.drink);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Variadic arguments
 | 
			
		||||
 | 
			
		||||
 The last argument of a command can be variadic, and only the last argument.  To make an argument variadic you have to
 | 
			
		||||
 append `...` to the argument name.  Here is an example:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .command('rmdir <dir> [otherDirs...]')
 | 
			
		||||
  .action(function (dir, otherDirs) {
 | 
			
		||||
    console.log('rmdir %s', dir);
 | 
			
		||||
    if (otherDirs) {
 | 
			
		||||
      otherDirs.forEach(function (oDir) {
 | 
			
		||||
        console.log('rmdir %s', oDir);
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
program.parse(process.argv);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 An `Array` is used for the value of a variadic argument.  This applies to `program.args` as well as the argument passed
 | 
			
		||||
 to your action as demonstrated above.
 | 
			
		||||
 | 
			
		||||
## Specify the argument syntax
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .arguments('<cmd> [env]')
 | 
			
		||||
  .action(function (cmd, env) {
 | 
			
		||||
     cmdValue = cmd;
 | 
			
		||||
     envValue = env;
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
program.parse(process.argv);
 | 
			
		||||
 | 
			
		||||
if (typeof cmdValue === 'undefined') {
 | 
			
		||||
   console.error('no command given!');
 | 
			
		||||
   process.exit(1);
 | 
			
		||||
}
 | 
			
		||||
console.log('command:', cmdValue);
 | 
			
		||||
console.log('environment:', envValue || "no environment given");
 | 
			
		||||
```
 | 
			
		||||
Angled brackets (e.g. `<cmd>`) indicate required input. Square brackets (e.g. `[env]`) indicate optional input.
 | 
			
		||||
 | 
			
		||||
## Git-style sub-commands
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
// file: ./examples/pm
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .command('install [name]', 'install one or more packages')
 | 
			
		||||
  .command('search [query]', 'search with optional query')
 | 
			
		||||
  .command('list', 'list packages installed', {isDefault: true})
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools.  
 | 
			
		||||
The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`.
 | 
			
		||||
 | 
			
		||||
Options can be passed with the call to `.command()`. Specifying `true` for `opts.noHelp` will remove the subcommand from the generated help output. Specifying `true` for `opts.isDefault` will run the subcommand if no other subcommand is specified.
 | 
			
		||||
 | 
			
		||||
If the program is designed to be installed globally, make sure the executables have proper modes, like `755`.
 | 
			
		||||
 | 
			
		||||
### `--harmony`
 | 
			
		||||
 | 
			
		||||
You can enable `--harmony` option in two ways:
 | 
			
		||||
* Use `#! /usr/bin/env node --harmony` in the sub-commands scripts. Note some os version don’t support this pattern.
 | 
			
		||||
* Use the `--harmony` option when call the command, like `node --harmony examples/pm publish`. The `--harmony` option will be preserved when spawning sub-command process.
 | 
			
		||||
 | 
			
		||||
## Automated --help
 | 
			
		||||
 | 
			
		||||
 The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:
 | 
			
		||||
 | 
			
		||||
```  
 | 
			
		||||
$ ./examples/pizza --help
 | 
			
		||||
Usage: pizza [options]
 | 
			
		||||
 | 
			
		||||
An application for pizzas ordering
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -h, --help           output usage information
 | 
			
		||||
  -V, --version        output the version number
 | 
			
		||||
  -p, --peppers        Add peppers
 | 
			
		||||
  -P, --pineapple      Add pineapple
 | 
			
		||||
  -b, --bbq            Add bbq sauce
 | 
			
		||||
  -c, --cheese <type>  Add the specified type of cheese [marble]
 | 
			
		||||
  -C, --no-cheese      You do not want any cheese
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Custom help
 | 
			
		||||
 | 
			
		||||
 You can display arbitrary `-h, --help` information
 | 
			
		||||
 by listening for "--help". Commander will automatically
 | 
			
		||||
 exit once you are done so that the remainder of your program
 | 
			
		||||
 does not execute causing undesired behaviors, for example
 | 
			
		||||
 in the following executable "stuff" will not output when
 | 
			
		||||
 `--help` is used.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
#!/usr/bin/env node
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .option('-f, --foo', 'enable some foo')
 | 
			
		||||
  .option('-b, --bar', 'enable some bar')
 | 
			
		||||
  .option('-B, --baz', 'enable some baz');
 | 
			
		||||
 | 
			
		||||
// must be before .parse() since
 | 
			
		||||
// node's emit() is immediate
 | 
			
		||||
 | 
			
		||||
program.on('--help', function(){
 | 
			
		||||
  console.log('')
 | 
			
		||||
  console.log('Examples:');
 | 
			
		||||
  console.log('  $ custom-help --help');
 | 
			
		||||
  console.log('  $ custom-help -h');
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
program.parse(process.argv);
 | 
			
		||||
 | 
			
		||||
console.log('stuff');
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Yields the following help output when `node script-name.js -h` or `node script-name.js --help` are run:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
Usage: custom-help [options]
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -h, --help     output usage information
 | 
			
		||||
  -V, --version  output the version number
 | 
			
		||||
  -f, --foo      enable some foo
 | 
			
		||||
  -b, --bar      enable some bar
 | 
			
		||||
  -B, --baz      enable some baz
 | 
			
		||||
 | 
			
		||||
Examples:
 | 
			
		||||
  $ custom-help --help
 | 
			
		||||
  $ custom-help -h
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## .outputHelp(cb)
 | 
			
		||||
 | 
			
		||||
Output help information without exiting.
 | 
			
		||||
Optional callback cb allows post-processing of help text before it is displayed.
 | 
			
		||||
 | 
			
		||||
If you want to display help by default (e.g. if no command was provided), you can use something like:
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
var colors = require('colors');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .command('getstream [url]', 'get stream URL')
 | 
			
		||||
  .parse(process.argv);
 | 
			
		||||
 | 
			
		||||
if (!process.argv.slice(2).length) {
 | 
			
		||||
  program.outputHelp(make_red);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function make_red(txt) {
 | 
			
		||||
  return colors.red(txt); //display the help text in red on the console
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## .help(cb)
 | 
			
		||||
 | 
			
		||||
  Output help information and exit immediately.
 | 
			
		||||
  Optional callback cb allows post-processing of help text before it is displayed.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Custom event listeners
 | 
			
		||||
 You can execute custom actions by listening to command and option events.
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
program.on('option:verbose', function () {
 | 
			
		||||
  process.env.VERBOSE = this.verbose;
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
// error on unknown commands
 | 
			
		||||
program.on('command:*', function () {
 | 
			
		||||
  console.error('Invalid command: %s\nSee --help for a list of available commands.', program.args.join(' '));
 | 
			
		||||
  process.exit(1);
 | 
			
		||||
});
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Examples
 | 
			
		||||
 | 
			
		||||
```js
 | 
			
		||||
var program = require('commander');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .version('0.1.0')
 | 
			
		||||
  .option('-C, --chdir <path>', 'change the working directory')
 | 
			
		||||
  .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf')
 | 
			
		||||
  .option('-T, --no-tests', 'ignore test hook');
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .command('setup [env]')
 | 
			
		||||
  .description('run setup commands for all envs')
 | 
			
		||||
  .option("-s, --setup_mode [mode]", "Which setup mode to use")
 | 
			
		||||
  .action(function(env, options){
 | 
			
		||||
    var mode = options.setup_mode || "normal";
 | 
			
		||||
    env = env || 'all';
 | 
			
		||||
    console.log('setup for %s env(s) with %s mode', env, mode);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .command('exec <cmd>')
 | 
			
		||||
  .alias('ex')
 | 
			
		||||
  .description('execute the given remote cmd')
 | 
			
		||||
  .option("-e, --exec_mode <mode>", "Which exec mode to use")
 | 
			
		||||
  .action(function(cmd, options){
 | 
			
		||||
    console.log('exec "%s" using %s mode', cmd, options.exec_mode);
 | 
			
		||||
  }).on('--help', function() {
 | 
			
		||||
    console.log('');
 | 
			
		||||
    console.log('Examples:');
 | 
			
		||||
    console.log('');
 | 
			
		||||
    console.log('  $ deploy exec sequential');
 | 
			
		||||
    console.log('  $ deploy exec async');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
program
 | 
			
		||||
  .command('*')
 | 
			
		||||
  .action(function(env){
 | 
			
		||||
    console.log('deploying "%s"', env);
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
program.parse(process.argv);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
More Demos can be found in the [examples](https://github.com/tj/commander.js/tree/master/examples) directory.
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[MIT](https://github.com/tj/commander.js/blob/master/LICENSE)
 | 
			
		||||
							
								
								
									
										1224
									
								
								node_modules/commander/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1224
									
								
								node_modules/commander/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										70
									
								
								node_modules/commander/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								node_modules/commander/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
{
 | 
			
		||||
  "_from": "commander@^2.9.0",
 | 
			
		||||
  "_id": "commander@2.20.0",
 | 
			
		||||
  "_inBundle": false,
 | 
			
		||||
  "_integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
 | 
			
		||||
  "_location": "/commander",
 | 
			
		||||
  "_phantomChildren": {},
 | 
			
		||||
  "_requested": {
 | 
			
		||||
    "type": "range",
 | 
			
		||||
    "registry": true,
 | 
			
		||||
    "raw": "commander@^2.9.0",
 | 
			
		||||
    "name": "commander",
 | 
			
		||||
    "escapedName": "commander",
 | 
			
		||||
    "rawSpec": "^2.9.0",
 | 
			
		||||
    "saveSpec": null,
 | 
			
		||||
    "fetchSpec": "^2.9.0"
 | 
			
		||||
  },
 | 
			
		||||
  "_requiredBy": [
 | 
			
		||||
    "/node-opus"
 | 
			
		||||
  ],
 | 
			
		||||
  "_resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
 | 
			
		||||
  "_shasum": "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422",
 | 
			
		||||
  "_spec": "commander@^2.9.0",
 | 
			
		||||
  "_where": "C:\\Users\\matia\\Documents\\GitHub\\FutoX-Musix\\node_modules\\node-opus",
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "TJ Holowaychuk",
 | 
			
		||||
    "email": "tj@vision-media.ca"
 | 
			
		||||
  },
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/tj/commander.js/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "bundleDependencies": false,
 | 
			
		||||
  "dependencies": {},
 | 
			
		||||
  "deprecated": false,
 | 
			
		||||
  "description": "the complete solution for node.js command-line programs",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/node": "^10.11.3",
 | 
			
		||||
    "eslint": "^5.6.1",
 | 
			
		||||
    "should": "^13.2.3",
 | 
			
		||||
    "sinon": "^6.3.4",
 | 
			
		||||
    "standard": "^12.0.1",
 | 
			
		||||
    "ts-node": "^7.0.1",
 | 
			
		||||
    "typescript": "^2.9.2"
 | 
			
		||||
  },
 | 
			
		||||
  "files": [
 | 
			
		||||
    "index.js",
 | 
			
		||||
    "typings/index.d.ts"
 | 
			
		||||
  ],
 | 
			
		||||
  "homepage": "https://github.com/tj/commander.js#readme",
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "commander",
 | 
			
		||||
    "command",
 | 
			
		||||
    "option",
 | 
			
		||||
    "parser"
 | 
			
		||||
  ],
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "main": "index",
 | 
			
		||||
  "name": "commander",
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/tj/commander.js.git"
 | 
			
		||||
  },
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "lint": "eslint index.js",
 | 
			
		||||
    "test": "node test/run.js && npm run test-typings",
 | 
			
		||||
    "test-typings": "tsc -p tsconfig.json"
 | 
			
		||||
  },
 | 
			
		||||
  "typings": "typings/index.d.ts",
 | 
			
		||||
  "version": "2.20.0"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										310
									
								
								node_modules/commander/typings/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										310
									
								
								node_modules/commander/typings/index.d.ts
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,310 @@
 | 
			
		||||
// Type definitions for commander 2.11
 | 
			
		||||
// Project: https://github.com/visionmedia/commander.js
 | 
			
		||||
// Definitions by: Alan Agius <https://github.com/alan-agius4>, Marcelo Dezem <https://github.com/mdezem>, vvakame <https://github.com/vvakame>, Jules Randolph <https://github.com/sveinburne>
 | 
			
		||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
 | 
			
		||||
 | 
			
		||||
declare namespace local {
 | 
			
		||||
 | 
			
		||||
  class Option {
 | 
			
		||||
    flags: string;
 | 
			
		||||
    required: boolean;
 | 
			
		||||
    optional: boolean;
 | 
			
		||||
    bool: boolean;
 | 
			
		||||
    short?: string;
 | 
			
		||||
    long: string;
 | 
			
		||||
    description: string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initialize a new `Option` with the given `flags` and `description`.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} flags
 | 
			
		||||
     * @param {string} [description]
 | 
			
		||||
     */
 | 
			
		||||
    constructor(flags: string, description?: string);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class Command extends NodeJS.EventEmitter {
 | 
			
		||||
    [key: string]: any;
 | 
			
		||||
 | 
			
		||||
    args: string[];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initialize a new `Command`.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} [name]
 | 
			
		||||
     */
 | 
			
		||||
    constructor(name?: string);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the program version to `str`.
 | 
			
		||||
     *
 | 
			
		||||
     * This method auto-registers the "-V, --version" flag
 | 
			
		||||
     * which will print the version number when passed.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} str
 | 
			
		||||
     * @param {string} [flags]
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    version(str: string, flags?: string): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Add command `name`.
 | 
			
		||||
     *
 | 
			
		||||
     * The `.action()` callback is invoked when the
 | 
			
		||||
     * command `name` is specified via __ARGV__,
 | 
			
		||||
     * and the remaining arguments are applied to the
 | 
			
		||||
     * function for access.
 | 
			
		||||
     *
 | 
			
		||||
     * When the `name` is "*" an un-matched command
 | 
			
		||||
     * will be passed as the first arg, followed by
 | 
			
		||||
     * the rest of __ARGV__ remaining.
 | 
			
		||||
     *
 | 
			
		||||
     * @example
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .version('0.0.1')
 | 
			
		||||
     *        .option('-C, --chdir <path>', 'change the working directory')
 | 
			
		||||
     *        .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf')
 | 
			
		||||
     *        .option('-T, --no-tests', 'ignore test hook')
 | 
			
		||||
     *
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .command('setup')
 | 
			
		||||
     *        .description('run remote setup commands')
 | 
			
		||||
     *        .action(function() {
 | 
			
		||||
     *          console.log('setup');
 | 
			
		||||
     *        });
 | 
			
		||||
     *
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .command('exec <cmd>')
 | 
			
		||||
     *        .description('run the given remote command')
 | 
			
		||||
     *        .action(function(cmd) {
 | 
			
		||||
     *          console.log('exec "%s"', cmd);
 | 
			
		||||
     *        });
 | 
			
		||||
     *
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .command('teardown <dir> [otherDirs...]')
 | 
			
		||||
     *        .description('run teardown commands')
 | 
			
		||||
     *        .action(function(dir, otherDirs) {
 | 
			
		||||
     *          console.log('dir "%s"', dir);
 | 
			
		||||
     *          if (otherDirs) {
 | 
			
		||||
     *            otherDirs.forEach(function (oDir) {
 | 
			
		||||
     *              console.log('dir "%s"', oDir);
 | 
			
		||||
     *            });
 | 
			
		||||
     *          }
 | 
			
		||||
     *        });
 | 
			
		||||
     *
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .command('*')
 | 
			
		||||
     *        .description('deploy the given env')
 | 
			
		||||
     *        .action(function(env) {
 | 
			
		||||
     *          console.log('deploying "%s"', env);
 | 
			
		||||
     *        });
 | 
			
		||||
     *
 | 
			
		||||
     *      program.parse(process.argv);
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} name
 | 
			
		||||
     * @param {string} [desc] for git-style sub-commands
 | 
			
		||||
     * @param {CommandOptions} [opts] command options
 | 
			
		||||
     * @returns {Command} the new command
 | 
			
		||||
     */
 | 
			
		||||
    command(name: string, desc?: string, opts?: commander.CommandOptions): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Define argument syntax for the top-level command.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} desc
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    arguments(desc: string): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Parse expected `args`.
 | 
			
		||||
     *
 | 
			
		||||
     * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string[]} args
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    parseExpectedArgs(args: string[]): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Register callback `fn` for the command.
 | 
			
		||||
     *
 | 
			
		||||
     * @example
 | 
			
		||||
     *      program
 | 
			
		||||
     *        .command('help')
 | 
			
		||||
     *        .description('display verbose help')
 | 
			
		||||
     *        .action(function() {
 | 
			
		||||
     *           // output help here
 | 
			
		||||
     *        });
 | 
			
		||||
     *
 | 
			
		||||
     * @param {(...args: any[]) => void} fn
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    action(fn: (...args: any[]) => void): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Define option with `flags`, `description` and optional
 | 
			
		||||
     * coercion `fn`.
 | 
			
		||||
     *
 | 
			
		||||
     * The `flags` string should contain both the short and long flags,
 | 
			
		||||
     * separated by comma, a pipe or space. The following are all valid
 | 
			
		||||
     * all will output this way when `--help` is used.
 | 
			
		||||
     *
 | 
			
		||||
     *    "-p, --pepper"
 | 
			
		||||
     *    "-p|--pepper"
 | 
			
		||||
     *    "-p --pepper"
 | 
			
		||||
     *
 | 
			
		||||
     * @example
 | 
			
		||||
     *     // simple boolean defaulting to false
 | 
			
		||||
     *     program.option('-p, --pepper', 'add pepper');
 | 
			
		||||
     *
 | 
			
		||||
     *     --pepper
 | 
			
		||||
     *     program.pepper
 | 
			
		||||
     *     // => Boolean
 | 
			
		||||
     *
 | 
			
		||||
     *     // simple boolean defaulting to true
 | 
			
		||||
     *     program.option('-C, --no-cheese', 'remove cheese');
 | 
			
		||||
     *
 | 
			
		||||
     *     program.cheese
 | 
			
		||||
     *     // => true
 | 
			
		||||
     *
 | 
			
		||||
     *     --no-cheese
 | 
			
		||||
     *     program.cheese
 | 
			
		||||
     *     // => false
 | 
			
		||||
     *
 | 
			
		||||
     *     // required argument
 | 
			
		||||
     *     program.option('-C, --chdir <path>', 'change the working directory');
 | 
			
		||||
     *
 | 
			
		||||
     *     --chdir /tmp
 | 
			
		||||
     *     program.chdir
 | 
			
		||||
     *     // => "/tmp"
 | 
			
		||||
     *
 | 
			
		||||
     *     // optional argument
 | 
			
		||||
     *     program.option('-c, --cheese [type]', 'add cheese [marble]');
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} flags
 | 
			
		||||
     * @param {string} [description]
 | 
			
		||||
     * @param {((arg1: any, arg2: any) => void) | RegExp} [fn] function or default
 | 
			
		||||
     * @param {*} [defaultValue]
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command;
 | 
			
		||||
    option(flags: string, description?: string, defaultValue?: any): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Allow unknown options on the command line.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {boolean} [arg] if `true` or omitted, no error will be thrown for unknown options.
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    allowUnknownOption(arg?: boolean): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Parse `argv`, settings options and invoking commands when defined.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string[]} argv
 | 
			
		||||
     * @returns {Command} for chaining
 | 
			
		||||
     */
 | 
			
		||||
    parse(argv: string[]): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Parse options from `argv` returning `argv` void of these options.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string[]} argv
 | 
			
		||||
     * @returns {ParseOptionsResult}
 | 
			
		||||
     */
 | 
			
		||||
    parseOptions(argv: string[]): commander.ParseOptionsResult;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return an object containing options as key-value pairs
 | 
			
		||||
     *
 | 
			
		||||
     * @returns {{[key: string]: any}}
 | 
			
		||||
     */
 | 
			
		||||
    opts(): { [key: string]: any };
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the description to `str`.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} str
 | 
			
		||||
     * @param {{[argName: string]: string}} argsDescription
 | 
			
		||||
     * @return {(Command | string)}
 | 
			
		||||
     */
 | 
			
		||||
    description(str: string, argsDescription?: {[argName: string]: string}): Command;
 | 
			
		||||
    description(): string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set an alias for the command.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} alias
 | 
			
		||||
     * @return {(Command | string)}
 | 
			
		||||
     */
 | 
			
		||||
    alias(alias: string): Command;
 | 
			
		||||
    alias(): string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set or get the command usage.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} str
 | 
			
		||||
     * @return {(Command | string)}
 | 
			
		||||
     */
 | 
			
		||||
    usage(str: string): Command;
 | 
			
		||||
    usage(): string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Set the name of the command.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {string} str
 | 
			
		||||
     * @return {Command}
 | 
			
		||||
     */
 | 
			
		||||
    name(str: string): Command;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the name of the command.
 | 
			
		||||
     *
 | 
			
		||||
     * @return {string}
 | 
			
		||||
     */
 | 
			
		||||
    name(): string;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Output help information for this command.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {(str: string) => string} [cb]
 | 
			
		||||
     */
 | 
			
		||||
    outputHelp(cb?: (str: string) => string): void;
 | 
			
		||||
 | 
			
		||||
    /** Output help information and exit.
 | 
			
		||||
     *
 | 
			
		||||
     * @param {(str: string) => string} [cb]
 | 
			
		||||
     */
 | 
			
		||||
    help(cb?: (str: string) => string): never;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
declare namespace commander {
 | 
			
		||||
 | 
			
		||||
    type Command = local.Command
 | 
			
		||||
 | 
			
		||||
    type Option = local.Option
 | 
			
		||||
 | 
			
		||||
    interface CommandOptions {
 | 
			
		||||
        noHelp?: boolean;
 | 
			
		||||
        isDefault?: boolean;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    interface ParseOptionsResult {
 | 
			
		||||
        args: string[];
 | 
			
		||||
        unknown: string[];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    interface CommanderStatic extends Command {
 | 
			
		||||
        Command: typeof local.Command;
 | 
			
		||||
        Option: typeof local.Option;
 | 
			
		||||
        CommandOptions: CommandOptions;
 | 
			
		||||
        ParseOptionsResult: ParseOptionsResult;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
declare const commander: commander.CommanderStatic;
 | 
			
		||||
export = commander;
 | 
			
		||||
		Reference in New Issue
	
	Block a user