{"_id":"caporal","_rev":"2789796","name":"caporal","description":"A full-featured framework for building command line applications (cli) with node.js","dist-tags":{"latest":"1.4.0"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"time":{"modified":"2022-06-23T11:55:23.000Z","created":"2017-02-08T21:08:23.852Z","1.4.0":"2020-05-11T12:53:59.542Z","1.3.0":"2019-07-30T11:09:47.304Z","1.2.0":"2019-05-11T17:09:59.420Z","1.1.0":"2018-11-15T20:10:28.848Z","1.0.0":"2018-11-15T20:04:08.688Z","0.10.0":"2018-02-25T18:37:14.520Z","0.9.0":"2017-12-05T12:43:38.278Z","0.8.0":"2017-10-20T20:59:10.331Z","0.7.0":"2017-06-30T09:46:48.894Z","0.6.0":"2017-05-29T19:33:52.943Z","0.5.0":"2017-04-13T07:05:15.175Z","0.4.1":"2017-03-26T20:58:02.302Z","0.4.0":"2017-03-26T20:31:46.360Z","0.3.0":"2017-02-26T14:12:38.851Z","0.2.0":"2017-02-25T19:38:42.239Z","0.1.0":"2017-02-19T22:22:27.225Z","0.1.0-alpha":"2017-02-08T21:08:23.852Z"},"users":{},"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"versions":{"1.4.0":{"name":"caporal","version":"1.4.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","commitmsg":"validate-commit-msg"},"husky":{"hooks":{"pre-commit":"npm run lint && npm test","pre-push":"npm run lint && npm test"}},"engines":{"node":">= 8"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^3.0.0","commitizen":"^4.0.3","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^5.7.0","husky":"^3.0.3","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^5.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","cli-table3":"^0.5.0","colorette":"^1.0.1","fast-levenshtein":"^2.0.6","lodash":"^4.17.14","micromist":"1.1.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"046377cf0df3dac2204799d6f3546d775c559207","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@1.4.0","_nodeVersion":"12.16.2","_npmVersion":"6.14.5","dist":{"shasum":"d6087b815e3df97c3a0f55dbb82850fae29ed585","size":23433,"noattachment":false,"key":"/caporal/-/caporal-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-1.4.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmUser":{"name":"mattallty","email":"matt@allty.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_1.4.0_1589201639415_0.8941098631486886"},"_hasShrinkwrap":false,"publish_time":1589201639542,"_cnpm_publish_time":1589201639542,"_cnpmcore_publish_time":"2021-12-16T10:41:00.997Z"},"1.3.0":{"name":"caporal","version":"1.3.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 8"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^3.0.0","commitizen":"^4.0.3","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^5.7.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^5.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","cli-table3":"^0.5.0","colorette":"^1.0.1","fast-levenshtein":"^2.0.6","lodash":"^4.17.14","micromist":"1.1.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"527a7d8d48a7c6904b814f43a7fba711684b37bd","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@1.3.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"916297434dba2725d6740978eebb0c05a7bc1c40","size":53472,"noattachment":false,"key":"/caporal/-/caporal-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-1.3.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_1.3.0_1564484987157_0.00433849925562968"},"_hasShrinkwrap":false,"publish_time":1564484987304,"_cnpm_publish_time":1564484987304,"_cnpmcore_publish_time":"2021-12-16T10:41:01.273Z","hasInstallScript":true},"1.2.0":{"name":"caporal","version":"1.2.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 8"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^3.0.0","commitizen":"^3.1.1","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^5.7.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^5.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","cli-table3":"^0.5.0","colorette":"1.0.1","fast-levenshtein":"^2.0.6","lodash":"4.17.11","micromist":"1.1.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"b56c34e66a7a442e0c18f05a9c787f35669cf499","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@1.2.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"shasum":"4b3b46cb412f3e9c7310ac97c11d6462fc5061e5","size":23773,"noattachment":false,"key":"/caporal/-/caporal-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-1.2.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmUser":{"name":"mattallty","email":"matt@allty.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_1.2.0_1557594599261_0.25252644452054485"},"_hasShrinkwrap":false,"publish_time":1557594599420,"_cnpm_publish_time":1557594599420,"_cnpmcore_publish_time":"2021-12-16T10:41:01.537Z","hasInstallScript":true},"1.1.0":{"name":"caporal","version":"1.1.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 8"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^3.0.0","commitizen":"^3.0.4","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^5.7.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^5.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","cli-table3":"^0.5.0","colorette":"1.0.1","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","lodash.kebabcase":"^4.1.1","lodash.merge":"^4.6.0","micromist":"1.1.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"cfcd91d107470f6072e0465d60eb28575955822f","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"834fd2348ab6ae79171a023a975ccc6f04620533","size":148704,"noattachment":false,"key":"/caporal/-/caporal-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-1.1.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_1.1.0_1542312628709_0.9623711989142374"},"_hasShrinkwrap":false,"publish_time":1542312628848,"_cnpm_publish_time":1542312628848,"_cnpmcore_publish_time":"2021-12-16T10:41:02.107Z","hasInstallScript":true},"1.0.0":{"name":"caporal","version":"1.0.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 6"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^3.0.0","commitizen":"^3.0.4","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^5.7.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^5.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","cli-table3":"^0.5.0","colorette":"1.0.1","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","lodash.kebabcase":"^4.1.1","lodash.merge":"^4.6.0","micromist":"1.1.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"ae5d2c3cc1acef1b89a13608033b250fa7750c4e","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"33d6128699c23418315287e31d03176cc7526b42","size":148659,"noattachment":false,"key":"/caporal/-/caporal-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-1.0.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_1.0.0_1542312248476_0.6806073467656693"},"_hasShrinkwrap":false,"publish_time":1542312248688,"_cnpm_publish_time":1542312248688,"_cnpmcore_publish_time":"2021-12-16T10:41:02.987Z","hasInstallScript":true},"0.10.0":{"name":"caporal","version":"0.10.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","lodash.kebabcase":"^4.1.1","lodash.merge":"^4.6.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"cb06bd02965783438b9b24ebbed499d90edef3ed","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.10.0","_npmVersion":"5.6.0","_nodeVersion":"9.0.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"2ddfbe5ede26d2bd356f042f564ff57803cdabc9","size":147913,"noattachment":false,"key":"/caporal/-/caporal-0.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.10.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal_0.10.0_1519583834465_0.9763627700623629"},"_hasShrinkwrap":false,"publish_time":1519583834520,"_cnpm_publish_time":1519583834520,"_cnpmcore_publish_time":"2021-12-16T10:41:03.973Z","hasInstallScript":true},"0.9.0":{"name":"caporal","version":"0.9.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","lodash.kebabcase":"^4.1.1","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"c27079ea573aa7cd0ee3a9d7a37f96381281b4e8","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.9.0","_npmVersion":"5.5.1","_nodeVersion":"9.0.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"4c2434a8d4ec5fe25161ccc9cb076d8848949998","size":147354,"noattachment":false,"key":"/caporal/-/caporal-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.9.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal-0.9.0.tgz_1512477816830_0.08211858803406358"},"directories":{},"publish_time":1512477818278,"_hasShrinkwrap":false,"_cnpm_publish_time":1512477818278,"_cnpmcore_publish_time":"2021-12-16T10:41:04.344Z","hasInstallScript":true},"0.8.0":{"name":"caporal","version":"0.8.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","types":"index.d.ts","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"c03a0337ba28de03fac0a09907c424bb1b7d2363","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.8.0","_npmVersion":"5.5.1","_nodeVersion":"8.4.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"1ff65235bf2cd0d03495b6b40eba58e95c41c5ea","size":146550,"noattachment":false,"key":"/caporal/-/caporal-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.8.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal-0.8.0.tgz_1508533148927_0.6620950382202864"},"directories":{},"publish_time":1508533150331,"_hasShrinkwrap":false,"_cnpm_publish_time":1508533150331,"_cnpmcore_publish_time":"2021-12-16T10:41:04.962Z","hasInstallScript":true},"0.7.0":{"name":"caporal","version":"0.7.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"7d09fd24e49313611355258b3e37d5a55eb5d2fc","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.7.0","_npmVersion":"5.0.3","_nodeVersion":"8.0.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"3beaaf816f9a5b34f267deb1f92f3e156a1be2f8","size":141290,"noattachment":false,"key":"/caporal/-/caporal-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.7.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal-0.7.0.tgz_1498816006937_0.39015202107839286"},"directories":{},"publish_time":1498816008894,"_hasShrinkwrap":false,"_cnpm_publish_time":1498816008894,"_cnpmcore_publish_time":"2021-12-16T10:41:05.555Z","hasInstallScript":true},"0.6.0":{"name":"caporal","version":"0.6.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4dc0709a11e42e4e3b241b4465789a34c99eb502","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.6.0","_shasum":"90ef6bed5c5940f6d913136488a4575373030306","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"90ef6bed5c5940f6d913136488a4575373030306","size":141175,"noattachment":false,"key":"/caporal/-/caporal-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.6.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/caporal-0.6.0.tgz_1496086431483_0.76679871766828"},"directories":{},"publish_time":1496086432943,"_hasShrinkwrap":false,"_cnpm_publish_time":1496086432943,"_cnpmcore_publish_time":"2021-12-16T10:41:06.056Z","hasInstallScript":true},"0.5.0":{"name":"caporal","version":"0.5.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"09eebf0fbd905d91c011780795d8a27c29441f2d","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.5.0","_shasum":"f787ac86cd5523478eb4213b480422a39e0229fe","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"f787ac86cd5523478eb4213b480422a39e0229fe","size":140971,"noattachment":false,"key":"/caporal/-/caporal-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.5.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.5.0.tgz_1492067114318_0.4376213608775288"},"directories":{},"publish_time":1492067115175,"_hasShrinkwrap":false,"_cnpm_publish_time":1492067115175,"_cnpmcore_publish_time":"2021-12-16T10:41:06.562Z","hasInstallScript":true},"0.4.1":{"name":"caporal","version":"0.4.1","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"f600dd729632e2ef2bcb90fa7e5cd5bb2436e00c","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.4.1","_shasum":"8fa8981b94ce349592b4ee77787abcc426d9420f","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"8fa8981b94ce349592b4ee77787abcc426d9420f","size":46493,"noattachment":false,"key":"/caporal/-/caporal-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.4.1.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.4.1.tgz_1490561881567_0.49061394506134093"},"directories":{},"publish_time":1490561882302,"_hasShrinkwrap":false,"_cnpm_publish_time":1490561882302,"_cnpmcore_publish_time":"2021-12-16T10:41:06.872Z","hasInstallScript":true},"0.4.0":{"name":"caporal","version":"0.4.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"homepage":"https://github.com/mattallty/Caporal.js","keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in","url":"https://github.com/mattallty"},"repository":{"type":"git","url":"git+https://github.com/mattallty/Caporal.js.git"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","micromist":"^1.0.1","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"4f723a9de976847d4e7968961402ff71746af5df","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"_id":"caporal@0.4.0","_shasum":"2642953a2f1dd226d16b2cde711324dade6a92a1","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"2642953a2f1dd226d16b2cde711324dade6a92a1","size":46428,"noattachment":false,"key":"/caporal/-/caporal-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.4.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.4.0.tgz_1490560305627_0.6712703488301486"},"directories":{},"publish_time":1490560306360,"_hasShrinkwrap":false,"_cnpm_publish_time":1490560306360,"_cnpmcore_publish_time":"2021-12-16T10:41:07.250Z","hasInstallScript":true},"0.3.0":{"name":"caporal","version":"0.3.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 4.4.5"},"keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","minimist":"^1.2.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"d900ad15042a8ccbfd7c4560eadd81a732f5480b","_id":"caporal@0.3.0","_shasum":"bb8b56857244251c3298db9d1524fd2254989c84","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.0","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"bb8b56857244251c3298db9d1524fd2254989c84","size":45509,"noattachment":false,"key":"/caporal/-/caporal-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.3.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/caporal-0.3.0.tgz_1488118356696_0.7637686843518168"},"directories":{},"publish_time":1488118358851,"_hasShrinkwrap":false,"_cnpm_publish_time":1488118358851,"_cnpmcore_publish_time":"2021-12-16T10:41:07.599Z","hasInstallScript":true},"0.2.0":{"name":"caporal","version":"0.2.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests examples","test":"./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","test-watch":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --watch --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true -x **/examples/**/* --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm run lint && npm test","prepush":"npm run lint && npm test","commitmsg":"validate-commit-msg","postinstall":"(test -f ./node_modules/husky/bin/install.js && node ./node_modules/husky/bin/install.js) || exit 0"},"engines":{"node":">= 6.0.0"},"keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"bluebird":"^3.4.7","chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","minimist":"^1.2.0","prettyjson":"^1.2.1","tabtab":"^2.2.2","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"79b15975e253076cc2e89a7cfdd6d8697d058dcc","_id":"caporal@0.2.0","_shasum":"3304e9f7be2465265b5b585017b3c6e4fbb82922","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"3304e9f7be2465265b5b585017b3c6e4fbb82922","size":45343,"noattachment":false,"key":"/caporal/-/caporal-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.2.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.2.0.tgz_1488051521465_0.7319167824462056"},"directories":{},"publish_time":1488051522239,"_hasShrinkwrap":false,"_cnpm_publish_time":1488051522239,"_cnpmcore_publish_time":"2021-12-16T10:41:07.940Z","hasInstallScript":true},"0.1.0":{"name":"caporal","version":"0.1.0","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"lint":"eslint lib tests examples","test":"npm run lint && ./node_modules/mocha/bin/mocha --require ./tests/utils/bootstrap.js --full-trace --recursive -R mocha-unfunk-reporter tests/","coverage":"istanbul cover --include-all-sources true --print both ./node_modules/.bin/_mocha -- --require ./tests/utils/bootstrap.js -R spec --recursive tests/","commit":"git-cz","changelog":"conventional-changelog -p angular -i CHANGELOG.md -w -r 0","precommit":"npm test","prepush":"npm test","commitmsg":"validate-commit-msg","postinstall":"node node_modules/husky/bin/install.js"},"engines":{"node":">= 6.0.0"},"keywords":["cli","argument-parser","command","commander","clap","cli-app","minimist","optimist","cli-table","command line apps"],"author":{"name":"Matthias ETIENNE","email":"matthias@etienne.in"},"license":"MIT","devDependencies":{"codacy-coverage":"^2.0.1","commitizen":"^2.9.5","conventional-changelog-cli":"^1.2.0","conventional-commits-detector":"^0.1.1","conventional-github-releaser":"^1.1.3","conventional-recommended-bump":"^0.3.0","cz-conventional-changelog":"^1.2.0","eslint":"^3.15.0","husky":"^0.13.1","istanbul":"^0.4.5","json":"^9.0.4","mocha":"^3.2.0","mocha-unfunk-reporter":"^0.4.0","should":"^11.2.0","sinon":"^1.17.7","trash":"^4.0.0","validate-commit-msg":"^2.11.1"},"dependencies":{"chalk":"^1.1.3","cli-table2":"^0.2.0","fast-levenshtein":"^2.0.6","lodash.camelcase":"^4.3.0","minimist":"^1.2.0","prettyjson":"^1.2.1","winston":"^2.3.1"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"gitHead":"6b7c14f3ae789fc1560a380b01f71d093ace630c","_id":"caporal@0.1.0","_shasum":"0c8cc01ca6a56a9af67b8fbd6ef743b0d02d2d12","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"0c8cc01ca6a56a9af67b8fbd6ef743b0d02d2d12","size":41776,"noattachment":false,"key":"/caporal/-/caporal-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.1.0.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.1.0.tgz_1487542946585_0.12080655619502068"},"directories":{},"publish_time":1487542947225,"_hasShrinkwrap":false,"_cnpm_publish_time":1487542947225,"_cnpmcore_publish_time":"2021-12-16T10:41:08.270Z","hasInstallScript":true},"0.1.0-alpha":{"name":"caporal","version":"0.1.0-alpha","description":"A full-featured framework for building command line applications (cli) with node.js","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["cli","argument-parser","command","commander","clap"],"author":{"name":"Matthias ETIENNE"},"license":"MIT","_id":"caporal@0.1.0-alpha","_shasum":"aec36eae045159a34aac100dde03c0738df500ef","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"mattallty","email":"matt@allty.com"},"dist":{"shasum":"aec36eae045159a34aac100dde03c0738df500ef","size":361,"noattachment":false,"key":"/caporal/-/caporal-0.1.0-alpha.tgz","tarball":"http://registry.cnpm.dingdandao.com/caporal/download/caporal-0.1.0-alpha.tgz"},"maintainers":[{"name":"mattallty","email":"matt@allty.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/caporal-0.1.0-alpha.tgz_1486588103308_0.6338606653735042"},"directories":{},"publish_time":1486588103852,"_hasShrinkwrap":false,"_cnpm_publish_time":1486588103852,"_cnpmcore_publish_time":"2021-12-16T10:41:08.474Z"}},"readme":"<p align=\"center\">\n    <img src=\"https://github.com/mattallty/Caporal.js/raw/master/assets/caporal.png\" width=\"500\" height=\"177\">\n</p>\n\n[![Travis](https://img.shields.io/travis/mattallty/Caporal.js.svg)](https://travis-ci.org/mattallty/Caporal.js)\n[![Codacy grade](https://img.shields.io/codacy/grade/6e5459fd36e341d1bd27414cf6b06e5c.svg)](https://www.codacy.com/app/matthiasetienne/Caporal-js/dashboard)\n[![Codacy coverage](https://img.shields.io/codacy/coverage/6e5459fd36e341d1bd27414cf6b06e5c.svg)]()\n[![npm](https://img.shields.io/npm/v/caporal.svg)](https://www.npmjs.com/package/caporal)\n[![npm](https://img.shields.io/npm/dm/caporal.svg)](https://www.npmjs.com/package/caporal)\n[![David](https://img.shields.io/david/mattallty/Caporal.js.svg)](https://david-dm.org/mattallty/Caporal.js)\n[![GitHub stars](https://img.shields.io/github/stars/mattallty/Caporal.js.svg?style=social&label=Star)](https://github.com/mattallty/Caporal.js/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/mattallty/Caporal.js.svg?style=social&label=Fork)](https://github.com/mattallty/Caporal.js/network)\n\n# Caporal\n\n> A full-featured framework for building command line applications (cli) with node.js,\n> including help generation, colored output, verbosity control, custom logger, coercion\n> and casting, typos suggestions, and auto-complete for bash/zsh/fish.\n\n## Install\n\nSimply add Caporal as a dependency:\n```bash\n$ npm install caporal\n\n# Or if you are using yarn (https://yarnpkg.com/lang/en/)\n$ yarn add caporal\n```\n## Glossary\n\n* **Program**: a cli app that you can build using Caporal\n* **Command**: a command within your program. A program may have multiple commands.\n* **Argument**: a command may have one or more arguments passed after the command.\n* **Options**: a command may have one or more options passed after (or before) arguments.\n\nAngled brackets (e.g. `<item>`) indicate required input. Square brackets (e.g. `[env]`) indicate optional input.\n\n## Examples\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  // you specify arguments using .argument()\n  // 'app' is required, 'env' is optional\n  .command('deploy', 'Deploy an application')\n  .argument('<app>', 'App to deploy', /^myapp|their-app$/)\n  .argument('[env]', 'Environment to deploy on', /^dev|staging|production$/, 'local')\n  // you specify options using .option()\n  // if --tail is passed, its value is required\n  .option('--tail <lines>', 'Tail <lines> lines of logs after deploy', prog.INT)\n  .action(function(args, options, logger) {\n    // args and options are objects\n    // args = {\"app\": \"myapp\", \"env\": \"production\"}\n    // options = {\"tail\" : 100}\n  });\n\nprog.parse(process.argv);\n\n// ./myprog deploy myapp production --tail 100\n```\n\nOr else if you prefer `typescript`\n```javascript\n#!/usr/bin/env node\nimport * as prog from 'caporal';\nprog\n  .version('1.0.0')\n  // you specify arguments using .argument()\n  // 'app' is required, 'env' is optional\n  .command('deploy', 'Deploy an application')\n  .argument('<app>', 'App to deploy', /^myapp|their-app$/)\n  .argument('[env]', 'Environment to deploy on', /^dev|staging|production$/, 'local')\n  // you specify options using .option()\n  // if --tail is passed, its value is required\n  .option('--tail <lines>', 'Tail <lines> lines of logs after deploy', prog.INT)\n  .action(function(args, options, logger) {\n    // args and options are objects\n    // args = {\"app\": \"myapp\", \"env\": \"production\"}\n    // options = {\"tail\" : 100}\n  });\n\nprog.parse(process.argv);\n\n// ./myprog deploy myapp production --tail 100\n```\n\n\n### Variadic arguments\n\nYou can use `...` to indicate variadic arguments. In that case, the resulted value will be an array.\n**Note:** Only the last argument of a command can be variadic !\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('deploy', 'Our deploy command')\n  // 'app' and 'env' are required\n  // and you can pass additional environments\n  .argument('<app>', 'App to deploy')\n  .argument('<env>', 'Environment')\n  .argument('[other-env...]', 'Other environments')\n  .action(function(args, options, logger) {\n    console.log(args);\n    // {\n    //   \"app\": \"myapp\",\n    //   \"env\": \"production\",\n    //   \"otherEnv\": [\"google\", \"azure\"]\n    // }\n  });\n\nprog.parse(process.argv);\n\n// ./myprog deploy myapp production aws google azure\n```\n\n### Simple program (single command)\n\nFor a very simple program with just one command, you can omit the .command() call:\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .description('A simple program that says \"biiiip\"')\n  .action(function(args, options, logger) {\n    logger.info(\"biiiip\")\n  });\n\nprog.parse(process.argv);\n```\n\n### Programmatic Caporal usage\n\nYou can pass arguments and options directly to Caporal API.\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('deploy', 'Our deploy command')\n  .argument('<app>', 'App to deploy')\n  .argument('<env>', 'Environment')\n  .option('--how-much <amount>', 'How much app to deploy', prog.INT, 1)\n  .action(function(args, options, logger) {\n    logger.info(args);\n    logger.info(options);\n    // {\n    //   \"app\": \"myapp\",\n    //   \"env\": \"production\"\n    // }\n    // {\n    //   \"howMuch\": 2\n    // }\n  });\nprog.exec(['deploy', 'myapp', 'env'], {\n  howMuch: 2\n});\n```\n\n## Logging\n\nInside your action(), use the logger argument (third one) to log informations.\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('deploy', 'The deploy command')\n  .action((args, options, logger) => {\n    // Available methods:\n    // - logger.debug('message')\n    // - logger.info('message') or logger.log('level', 'message')\n    // - logger.warn('message')\n    // - logger.error('message')\n    logger.info(\"Application deployed !\");\n  });\n\nprog.parse(process.argv);\n```\n\n### Logging levels\n\nThe default logging level is 'info'. The predefined options can be used to change the logging level:\n\n* `-v, --verbose`: Set the logging level to 'debug' so debug() logs will be output.\n* `--quiet, --silent`: Set the logging level to 'warn' so only warn() and error() logs will be output.\n\n### Custom logger\n\nCaporal uses `winston` for logging. You can provide your own winston-compatible logger using `.logger()` the following way:\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nconst myLogger = require('/path/to/my/logger.js');\nprog\n  .version('1.0.0')\n  .logger(myLogger)\n  .command('foo', 'Foo command description')\n  .action((args, options, logger) => {\n    logger.info(\"Foo !!\");\n  });\n\nprog.parse(process.argv);\n```\n\n* `-v, --verbose`: Set the logging level to 'debug' so debug() logs will be output.\n* `--quiet, --silent`: Set the logging level to 'warn' so only warn() and error() logs will be output.\n\n\n## Coercion and casting using validators\n\nYou can apply coercion and casting using various *validators*:\n\n * [Caporal flags](#flag-validator)\n * [Functions](#function-validator)\n * [Array](#array-validator)\n * [RegExp](#regexp-validator)\n\n### Flag validator\n\n* `INT` (or `INTEGER`): Check option looks like an int and cast it with `parseInt()`\n* `FLOAT`: Will Check option looks like a float and cast it with `parseFloat()`\n* `BOOL` (or `BOOLEAN`): Check for string like `0`, `1`, `true`, `false`, `on`, `off` and cast it\n* `LIST` (or `ARRAY`): Transform input to array by splitting it on comma\n* `REPEATABLE`: Make the option repeatable, eg `./mycli -f foo -f bar -f joe`\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('order pizza')\n  .option('--number <num>', 'Number of pizza', prog.INT, 1)\n  .option('--kind <kind>', 'Kind of pizza', /^margherita|hawaiian$/)\n  .option('--discount <amount>', 'Discount offer', prog.FLOAT)\n  .option('--add-ingredients <ingredients>', 'Ingredients', prog.LIST)\n  .action(function(args, options) {\n    // options.kind = 'margherita'\n    // options.number = 1\n    // options.addIngredients = ['pepperoni', 'onion']\n    // options.discount = 1.25\n  });\n\nprog.parse(process.argv);\n\n// ./myprog order pizza --kind margherita --discount=1.25 --add-ingredients=pepperoni,onion\n```\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('concat') // concat files\n  .option('-f <file>', 'File to concat', prog.REPEATABLE)\n  .action(function(args, options) {\n\n  });\n\nprog.parse(process.argv);\n\n// Usage:\n// ./myprog concat -f file1.txt -f file2.txt -f file3.txt\n```\n\n### Function validator\n\nUsing this method, you can check and cast user input. Make the check fail by throwing an `Error`,\nand cast input by returning a new value from your function.\n\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('order pizza')\n  .option('--kind <kind>', 'Kind of pizza', function(opt) {\n    if (['margherita', 'hawaiian'].includes(opt) === false) {\n      throw new Error(\"You can only order margherita or hawaiian pizza!\");\n    }\n    return opt.toUpperCase();\n  })\n  .action(function(args, options) {\n    // options = { \"kind\" : \"MARGHERITA\" }\n  });\n\nprog.parse(process.argv);\n\n// ./myprog order pizza --kind margherita\n```\n\n### Array validator\n\nUsing an `Array`, Caporal will check that it contains the argument/option passed.\n\n**Note**: It is not possible to cast user input with this method, only checking it,\nso it's basically only interesting for strings, but a major advantage is that this method\nwill allow autocompletion of arguments and option *values*.\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('order pizza')\n  .option('--kind <kind>', 'Kind of pizza', [\"margherita\", \"hawaiian\"])\n  .action(function(args, options) {\n\n  });\n\nprog.parse(process.argv);\n\n// ./myprog order pizza --kind margherita\n```\n\n### RegExp validator\n\nSimply pass a RegExp object to test against it.\n**Note**: It is not possible to cast user input with this method, only checking it,\nso it's basically only interesting for strings.\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('order pizza')\n  .option('--kind <kind>', 'Kind of pizza', /^margherita|hawaiian$/)\n  .action(function(args, options) {\n\n  });\n\nprog.parse(process.argv);\n\n// ./myprog order pizza --kind margherita\n```\n\n## Colors\n\nBy default, Caporal will output colors for help and errors.\nThis behaviour can be disabled by passing `--no-color`.\n\n## Auto-generated help\n\nCaporal automatically generates help/usage instructions for you.\nHelp can be displayed using `-h` or `--help` options, or with the default `help` command.\n\n<p align=\"center\">\n <img src=\"https://github.com/mattallty/Caporal.js/raw/master/assets/colors.png\" wdith=\"600\">\n</p>\n\n## Custom help\n\nYou can add some custom help to the whole program or to specific commands using `.help(text, options?)`. The text, even if multi-line, will be, optionally, automatically indented.\n\nMultiple help sections, with custom names, are supported.\n\n### Custom help for the whole program\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .help('my global help') // here our custom help for the whole program\n  .command('order pizza')\n  .action(function(args, options) {\n\n  });\n\nprog.parse(process.argv);\n```\n\n### Custom help for specific commands\n\n```javascript\n#!/usr/bin/env node\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  // first command\n  .command('order')\n  .help('my help for the order command') // here our custom help for the `order` command\n  .action(function(args, options) {\n\n  })\n  // second command\n  .command('cancel')\n  .help('my help for the cancel command') // here our custom help for the `cancel` command\n  .action(function(args, options) {\n\n  })\n\nprog.parse(process.argv);\n```\n\n## Typo suggestions\n\nCaporal will automatically make suggestions for option typos.\n\n<p align=\"center\">\n <img src=\"https://github.com/mattallty/Caporal.js/raw/master/assets/suggest.png\" wdith=\"600\">\n</p>\n\n\n## Shell auto-completion\n\nCaporal comes with an auto-completion feature out of the box for `bash`, `zsh`, and `fish`,\nthanks to [tabtab](https://github.com/mklabs/node-tabtab).\n\nFor this feature to work, you will have to:\n\n- Put your cli app in your `$PATH` (this is the case if your app is installed globally using `npm install -g <myapp>`)\n- Setup auto-completion for your shell, like bellow.\n\n#### If you are using bash\n\n```bash\n# For bash\nsource <(myapp completion bash)\n\n# or add it to your .bashrc to make it persist\necho \"source <(myapp completion bash)\" >> ~/.bashrc \\\n&& source ~/.bashrc\n```\n\n#### If you are using zsh\n\n```bash\n# For zsh\nsource <(myapp completion zsh)\n\n# or add it to your .zshrc to make it persist\necho \"source <(myapp completion zsh)\" >> ~/.zshrc \\\n&& source ~/.zshrc\n```\n\n#### If you are using fish\n\n```bash\n# For fish\nsource <(myapp completion fish)\n\n# or add it to your config.fish to make it persist\necho \"source <(myapp completion fish)\" >> ~/.config/fish/config.fish \\\n&& source ~/.config/fish/config.fish\n```\n\n### Basic auto-completion\n\nBy default, it will autocomplete *commands* and *option names*.\nAlso, *options* having an *Array validator* will be autocompleted.\n\n### Auto-completion setup example\n\n```javascript\n#!/usr/bin/env node\n\nconst prog = require('caporal');\n\nprog\n  .version('1.0.0')\n  // the \"order\" command\n  .command('order', 'Order a pizza')\n  .alias('give-it-to-me')\n  // <kind> will be auto-magicaly autocompleted by providing the user with 3 choices\n  .argument('<kind>', 'Kind of pizza', [\"margherita\", \"hawaiian\", \"fredo\"])\n  .argument('<from-store>', 'Which store to order from')\n  // enable auto-completion for <from-store> argument using a sync function returning an array\n  .complete(function() {\n    return ['store-1', 'store-2', 'store-3', 'store-4', 'store-5'];\n  })\n\n  .argument('<account>', 'Which account id to use')\n  // enable auto-completion for <account> argument using a Promise\n  .complete(function() {\n    return Promise.resolve(['account-1', 'account-2']);\n  })\n\n  .option('-n, --number <num>', 'Number of pizza', prog.INT, 1)\n  .option('-d, --discount <amount>', 'Discount offer', prog.FLOAT)\n  .option('-p, --pay-by <mean>', 'Pay by option')\n  // enable auto-completion for -p | --pay-by option using a Promise\n  .complete(function() {\n    return Promise.resolve(['cash', 'credit-card']);\n  })\n\n  // -e | --extra will be auto-magicaly autocompleted by providing the user with 3 choices\n  .option('-e, --extra <ingredients>', 'Add extra ingredients', ['pepperoni', 'onion', 'cheese'])\n  .action(function(args, options, logger) {\n    logger.info(\"Command 'order' called with:\");\n    logger.info(\"arguments: %j\", args);\n    logger.info(\"options: %j\", options);\n  })\n\n  // the \"return\" command\n  .command('return', 'Return an order')\n  .argument('<order-id>', 'Order id')\n  // enable auto-completion for <order-id> argument using a Promise\n  .complete(function() {\n    return Promise.resolve(['#82792', '#71727', '#526Z52']);\n  })\n  .argument('<to-store>', 'Store id')\n  .option('--ask-change <other-kind-pizza>', 'Ask for other kind of pizza')\n  // enable auto-completion for --ask-change option using a Promise\n  .complete(function() {\n    return Promise.resolve([\"margherita\", \"hawaiian\", \"fredo\"]);\n  })\n  .option('--say-something <something>', 'Say something to the manager')\n  .action(function(args, options, logger) {\n    logger.info(\"Command 'return' called with:\");\n    logger.info(\"arguments: %j\", args);\n    logger.info(\"options: %j\", options);\n  });\n\nprog.parse(process.argv);\n```\n\n## API\n\n#### `require('caporal')`\n\nReturns a `Program` instance.\n\n### Program API\n\n#### `.version(version) : Program`\n\nSet the version of your program. You may want to use your `package.json` version to fill it:\n\n```javascript\nconst myProgVersion = require('./package.json').version;\nconst prog = require('caporal');\nprog\n  .version(myProgVersion)\n// [...]\n\nprog.parse(process.argv);\n```\n\nYour program will then automaticaly handle `-V` and `--version` options:\n\n    matt@mb:~$ ./my-program --version\n    1.0.0\n\n#### `.help(text, options?) : Program`\n\nAdd a program-level help section.\n\nBy default the optional `options` parameter is:\n\n```js\n{\n    indent: true, // If `true` the text will be automatically indented\n    name: \"MORE INFO\" // The name of the section\n}\n```\n\n#### `.command(name, description) -> Command`\n\nSet up a new command with name and description. Multiple commands can be added to one program.\nReturns a {Command}.\n\n```javascript\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  // one command\n  .command('walk', 'Make the player walk')\n  .action((args, options, logger) => { logger.log(\"I'm walking !\")}) // you must attach an action for your command\n  // a second command\n  .command('run', 'Make the player run')\n  .action((args, options, logger) => { logger.log(\"I'm running !\")})\n  // a command may have multiple words\n  .command('cook pizza', 'Make the player cook a pizza')\n  .argument('<kind>', 'Kind of pizza')\n  .action((args, options, logger) => { logger.log(\"I'm cooking a pizza !\")})\n// [...]\n\nprog.parse(process.argv);\n```\n\n#### `.logger([logger]) -> Program | winston`\n\nGet or set the logger instance. Without argument, it returns the logger instance (*winston* by default).\nWith the *logger* argument, it sets a new logger.\n\n### Command API\n\n#### `.argument(synopsis, description, [validator, [defaultValue]]) -> Command`\n\nAdd an argument to the command. Can be called multiple times to add several arguments.\n\n* **synopsis** (*String*): something like `<my-required-arg>` or `[my-optional-arg]`\n* **description** (*String*): argument description\n* **validator** (*Caporal Flag | Function | Array | RegExp*): optional validator, see [Coercion and casting ](#coercion-and-casting-using-validators)\n* **defaultValue** (*): optional default value\n\n#### `.option(synopsis, description, [validator, [defaultValue, [required]]) -> Command`\n\nAdd an option to the command. Can be called multiple times to add several options.\n\n* **synopsis** (*String*): You can pass short or long notation here, or both. See examples.\n* **description** (*String*): option description\n* **validator** (*Caporal Flag | Function | Array | RegExp*): optional validator, see [Coercion and casting ](#coercion-and-casting-using-validators)\n* **defaultValue** (*): optional default value\n* **required** (*Bool*): Is the option itself required ? Default to `false`\n\n#### `.help(text, options?) -> Command`\n\nAdd a command-level help section.\n\nBy default the optional `options` parameter is:\n\n```js\n{\n    indent: true, // If `true` the text will be automatically indented\n    name: \"\" // The name of the section, by default this line won't be displayed\n}\n```\n\n#### `.action(action) -> Command`\n\nDefine the action, e.g a *Function*, for the current command.\n\nThe *action* callback will be called with 3 arguments:\n* *args* (Object): Passed arguments\n* *options* (Object): Passed options\n* *logger* (winston): Winston logger instance\n\n```javascript\n// sync action\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('walk', 'Make the player walk')\n  .action((args, options, logger) => {\n    logger.log(\"I'm walking !\")\n  });\n```\n\nYou can make your actions async by using Promises:\n\n```javascript\n// async action\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  .command('walk', 'Make the player walk')\n  .action((args, options, logger) => {\n    return new Promise(/* ... */);\n  });\n```\n\n#### `.alias(alias) -> Command`\n\nDefine an alias for the current command. A command can only have one alias.\n\n```javascript\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  // one command\n  .command('walk', 'Make the player walk')\n  .alias('w')\n  .action((args, options, logger) => { logger.log(\"I'm walking !\")});\n\nprog.parse(process.argv);\n\n// ./myapp w\n// same as\n// ./myapp walk\n```\n\n#### `.complete(completer) -> Command`\n\nDefine an auto-completion handler for the latest argument or option added to the command.\n\n* **completer** (*Function*): The completer function has to return either an `Array` or a `Promise` which resolves to an `Array`.\n\n#### `.visible(visibility?) -> Boolean | Command`\n\nGet or set the visibility value of this command. By default it's `true`, if you set it to `false` it will be omitted from the help message.\n\n```javascript\nconst prog = require('caporal');\nprog\n  .version('1.0.0')\n  // one command\n  .command('walk', 'Make the player walk')\n  .visible ( false )\n\nprog.parse(process.argv);\n```\n\n## Credits\n\nCaporal is strongly inspired by [commander.js](https://github.com/tj/commander.js) and [Symfony Console](http://symfony.com/doc/current/components/console.html).\nCaporal makes use of the following npm packages:\n* [colorette](https://www.npmjs.com/package/colorette) for colors\n* [cli-table3](https://www.npmjs.com/package/cli-table3) for cli tables\n* [fast-levenshtein](https://www.npmjs.com/package/fast-levenshtein) for suggestions\n* [tabtab](https://www.npmjs.com/package/tabtab) for auto-completion\n* [minimist](https://www.npmjs.com/package/minimist) for argument parsing\n* [prettyjson](https://www.npmjs.com/package/prettyjson) to output json\n* [winston](https://www.npmjs.com/package/winston) for logging\n\n\n## License\n\nCopyright © Matthias ETIENNE\n\nPermission 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:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nThe 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.\n","_attachments":{},"homepage":"https://github.com/mattallty/Caporal.js","bugs":{"url":"https://github.com/mattallty/Caporal.js/issues"},"license":"MIT"}