-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parseOptions rework phase 1 #1138
Merged
shadowspawn
merged 8 commits into
tj:release/5.x
from
shadowspawn:feature/parseOptions-rework
Jan 15, 2020
Merged
parseOptions rework phase 1 #1138
shadowspawn
merged 8 commits into
tj:release/5.x
from
shadowspawn:feature/parseOptions-rework
Jan 15, 2020
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
shadowspawn
added
the
semver: major
Releasing requires a major version bump, not backwards compatible
label
Jan 5, 2020
This was referenced Jan 5, 2020
Closed
Closed
Catch up with 4.1 release
abetomo
approved these changes
Jan 15, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thanks @abetomo ! 👍 I'll update branches and merge with some care... 🛠 |
shadowspawn
added
the
pending release
Merged into a branch for a future release, but not released yet
label
Jan 15, 2020
jaebradley
pushed a commit
to jaebradley/emoji-search-cli
that referenced
this pull request
Mar 15, 2020
*** ☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io) *** ## The dependency [commander](https://github.com/tj/commander.js) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [abetomo](https://www.npmjs.com/~abetomo) **License:** MIT <details> <summary>Release Notes for v5.0.0</summary> <h3>Added</h3> <ul> <li>support for nested commands with action-handlers ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1404480" data-permission-text="Title is private" data-url="tj/commander.js#1" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1">#1</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li><code>.addCommand()</code> for adding a separately configured command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>allow a non-executable to be set as the default command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="286464874" data-permission-text="Title is private" data-url="tj/commander.js#742" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/742/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/742">#742</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command when there are subcommands (previously only if executables) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>customise implicit help command with <code>.addHelpCommand()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display error message for unknown subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="105242369" data-permission-text="Title is private" data-url="tj/commander.js#432" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/432/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/432">#432</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display help for missing subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combined short options as single argument may include boolean flags and value flag and value (e.g. <code>-a -b -p 80</code> can be written as <code>-abp80</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.parseOption()</code> includes short flag and long flag expansions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.helpInformation()</code> returns help text as a string, previously a private routine ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560700420" data-permission-text="Title is private" data-url="tj/commander.js#1169" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1169/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1169">#1169</a>])</li> <li><code>.parse()</code> implicitly uses <code>process.argv</code> if arguments not specified ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>optionally specify where <code>.parse()</code> arguments "from", if not following node conventions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="143058334" data-permission-text="Title is private" data-url="tj/commander.js#512" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/512/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/512">#512</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>suggest help option along with unknown command error ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561944637" data-permission-text="Title is private" data-url="tj/commander.js#1179" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1179/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1179">#1179</a>])</li> <li>TypeScript definition for <code>commands</code> property of <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="562675877" data-permission-text="Title is private" data-url="tj/commander.js#1184" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1184/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1184">#1184</a>])</li> <li>export <code>program</code> property ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565709359" data-permission-text="Title is private" data-url="tj/commander.js#1195" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1195/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1195">#1195</a>])</li> <li><code>createCommand</code> factory method to simplify subclassing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565215409" data-permission-text="Title is private" data-url="tj/commander.js#1191" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1191/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1191">#1191</a>])</li> </ul> <h3>Fixed</h3> <ul> <li>preserve argument order in subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="140326981" data-permission-text="Title is private" data-url="tj/commander.js#508" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/508/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/508">#508</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="444530964" data-permission-text="Title is private" data-url="tj/commander.js#962" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/962/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/962">#962</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>do not emit <code>command:*</code> for executable subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328564529" data-permission-text="Title is private" data-url="tj/commander.js#809" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/809/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/809">#809</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>action handler called whether or not there are non-option arguments ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="499848795" data-permission-text="Title is private" data-url="tj/commander.js#1062" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1062/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1062">#1062</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combining option short flag and value in single argument now works for subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li>only add implicit help command when it will not conflict with other uses of argument ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551899040" data-permission-text="Title is private" data-url="tj/commander.js#1153" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1153/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1153">#1153</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command works with command aliases ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="429033898" data-permission-text="Title is private" data-url="tj/commander.js#948" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/948/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/948">#948</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>options are validated whether or not there is an action handler ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Changed</h3> <ul> <li><em>Breaking</em> <code>.args</code> contains command arguments with just recognised options removed ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="486336653" data-permission-text="Title is private" data-url="tj/commander.js#1032" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1032/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1032">#1032</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li><em>Breaking</em> display error if required argument for command is missing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="467912082" data-permission-text="Title is private" data-url="tj/commander.js#995" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/995/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/995">#995</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>tighten TypeScript definition of custom option processing function passed to <code>.option()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="537071462" data-permission-text="Title is private" data-url="tj/commander.js#1119" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1119/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1119">#1119</a>])</li> <li><em>Breaking</em> <code>.allowUnknownOption()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322394861" data-permission-text="Title is private" data-url="tj/commander.js#802" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/802/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/802">#802</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li>unknown options included in arguments passed to command action handler</li> <li>unknown options included in <code>.args</code></li> </ul> </li> <li>only recognised option short flags and long flags are expanded (e.g. <code>-ab</code> or <code>--foo=bar</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><em>Breaking</em> <code>.parseOptions()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li><code>args</code> in returned result renamed <code>operands</code> and does not include anything after first unknown option</li> <li><code>unknown</code> in returned result has arguments after first unknown option including operands, not just options and values</li> </ul> </li> <li><em>Breaking</em> <code>.on('command:*', callback)</code> and other command events passed (changed) results from <code>.parseOptions</code>, i.e. operands and unknown ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>refactor Option from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="544020268" data-permission-text="Title is private" data-url="tj/commander.js#1133" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1133/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1133">#1133</a>])</li> <li>refactor Command from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558019087" data-permission-text="Title is private" data-url="tj/commander.js#1159" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1159/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1159">#1159</a>])</li> <li>changes to error handling ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558600050" data-permission-text="Title is private" data-url="tj/commander.js#1165" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1165/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1165">#1165</a>]) <ul> <li>throw for author error, not just display message</li> <li>preflight for variadic error</li> <li>add tips to missing subcommand executable</li> </ul> </li> <li>TypeScript fluent return types changed to be more subclass friendly, return <code>this</code> rather than <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li><code>.parseAsync</code> returns <code>Promise<this></code> to be consistent with <code>.parse()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li>update dependencies</li> </ul> <h3>Removed</h3> <ul> <li>removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on <code>@types/node</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548333754" data-permission-text="Title is private" data-url="tj/commander.js#1146" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1146/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1146">#1146</a>])</li> <li>removed private function <code>normalize</code> (the functionality has been integrated into <code>parseOptions</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>parseExpectedArgs</code> is now private ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Migration Tips</h3> <p>If you use <code>.on('command:*')</code> or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>program.args</code> or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>.command('*')</code> to add a default command, you may be be able to switch to <code>isDefault:true</code> with a named command.</p> </details> <details> <summary>Commits</summary> <p>The new version differs by 53 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2aad525640d5885d9f51ae8dfe07a01c280cf4e3"><code>2aad525</code></a> <code>Update dependencies (#1214)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f86d8781655720eb1429d1b9c883e8c357f7c8c3"><code>f86d878</code></a> <code>Add cli keyword (#1213)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/83af0fd0488dc6f4568435050e7d3d7e0ab11b5b"><code>83af0fd</code></a> <code>Prepare for 5.0.0 (#1211)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f14df0709173abf9ab4732064d77bce34f60fb05"><code>f14df07</code></a> <code>Add eslint settings for TypeScript (#1205)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/95e0d193ec02859f1bdcb08785e21f86942fc5e5"><code>95e0d19</code></a> <code>5.0.0-4</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/bd5a49e9d5ca4f4cf1c8bf60e3567ab5d5e67039"><code>bd5a49e</code></a> <code>Add factory to CHANGELOG</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/8c3dd6ffe90b566c5cabb277f8d9c57a8bfb348b"><code>8c3dd6f</code></a> <code>createCommand factory routine (#1191)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3c9f33fd8440aab061cbb0484712ed77c54df03a"><code>3c9f33f</code></a> <code>Say we support LTS, so do not need to update when node changes (#1204)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3cf8cff2a91d1d38da2ea9e5ace40230f1d9a813"><code>3cf8cff</code></a> <code>Expand typescript checks (#1198)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/a3f453f11cf3ad69d2b15ce82efdfd3af53efe22"><code>a3f453f</code></a> <code>5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/87bfca690eda98a0573b20569f87675466c23dd8"><code>87bfca6</code></a> <code>Add CHANGELOG entries for 5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/1757564a0f6034f803e1e638c6cf34ef64b77775"><code>1757564</code></a> <code>Use a tidier global command (#1200)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/0a50bd6c7696b6c5217258d38613f58684d1585b"><code>0a50bd6</code></a> <code>Add program to exports (#1195)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/77e511fc17cf5857520b0740737d0fc27acf736c"><code>77e511f</code></a> <code>Enable TypeScript checking of javascript, and resolve or suppress errors (#1194)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2491c763e1ba058a5a877d7aa4b30427de83e844"><code>2491c76</code></a> <code>URLEncode several chinese toc link</code></li> </ul> <p>There are 53 commits in total.</p> <p>See the <a href="https://urls.greenkeeper.io/tj/commander.js/compare/d5186ba4b9b64a72cd685fccbb9ec5d0ec0c430d...2aad525640d5885d9f51ae8dfe07a01c280cf4e3">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
jaebradley
pushed a commit
to jaebradley/github-languages-cli
that referenced
this pull request
Mar 16, 2020
*** ☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io) *** ## The dependency [commander](https://github.com/tj/commander.js) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [abetomo](https://www.npmjs.com/~abetomo) **License:** MIT <details> <summary>Release Notes for v5.0.0</summary> <h3>Added</h3> <ul> <li>support for nested commands with action-handlers ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1404480" data-permission-text="Title is private" data-url="tj/commander.js#1" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1">#1</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li><code>.addCommand()</code> for adding a separately configured command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>allow a non-executable to be set as the default command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="286464874" data-permission-text="Title is private" data-url="tj/commander.js#742" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/742/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/742">#742</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command when there are subcommands (previously only if executables) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>customise implicit help command with <code>.addHelpCommand()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display error message for unknown subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="105242369" data-permission-text="Title is private" data-url="tj/commander.js#432" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/432/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/432">#432</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display help for missing subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combined short options as single argument may include boolean flags and value flag and value (e.g. <code>-a -b -p 80</code> can be written as <code>-abp80</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.parseOption()</code> includes short flag and long flag expansions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.helpInformation()</code> returns help text as a string, previously a private routine ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560700420" data-permission-text="Title is private" data-url="tj/commander.js#1169" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1169/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1169">#1169</a>])</li> <li><code>.parse()</code> implicitly uses <code>process.argv</code> if arguments not specified ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>optionally specify where <code>.parse()</code> arguments "from", if not following node conventions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="143058334" data-permission-text="Title is private" data-url="tj/commander.js#512" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/512/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/512">#512</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>suggest help option along with unknown command error ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561944637" data-permission-text="Title is private" data-url="tj/commander.js#1179" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1179/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1179">#1179</a>])</li> <li>TypeScript definition for <code>commands</code> property of <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="562675877" data-permission-text="Title is private" data-url="tj/commander.js#1184" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1184/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1184">#1184</a>])</li> <li>export <code>program</code> property ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565709359" data-permission-text="Title is private" data-url="tj/commander.js#1195" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1195/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1195">#1195</a>])</li> <li><code>createCommand</code> factory method to simplify subclassing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565215409" data-permission-text="Title is private" data-url="tj/commander.js#1191" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1191/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1191">#1191</a>])</li> </ul> <h3>Fixed</h3> <ul> <li>preserve argument order in subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="140326981" data-permission-text="Title is private" data-url="tj/commander.js#508" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/508/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/508">#508</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="444530964" data-permission-text="Title is private" data-url="tj/commander.js#962" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/962/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/962">#962</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>do not emit <code>command:*</code> for executable subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328564529" data-permission-text="Title is private" data-url="tj/commander.js#809" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/809/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/809">#809</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>action handler called whether or not there are non-option arguments ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="499848795" data-permission-text="Title is private" data-url="tj/commander.js#1062" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1062/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1062">#1062</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combining option short flag and value in single argument now works for subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li>only add implicit help command when it will not conflict with other uses of argument ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551899040" data-permission-text="Title is private" data-url="tj/commander.js#1153" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1153/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1153">#1153</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command works with command aliases ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="429033898" data-permission-text="Title is private" data-url="tj/commander.js#948" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/948/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/948">#948</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>options are validated whether or not there is an action handler ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Changed</h3> <ul> <li><em>Breaking</em> <code>.args</code> contains command arguments with just recognised options removed ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="486336653" data-permission-text="Title is private" data-url="tj/commander.js#1032" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1032/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1032">#1032</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li><em>Breaking</em> display error if required argument for command is missing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="467912082" data-permission-text="Title is private" data-url="tj/commander.js#995" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/995/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/995">#995</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>tighten TypeScript definition of custom option processing function passed to <code>.option()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="537071462" data-permission-text="Title is private" data-url="tj/commander.js#1119" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1119/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1119">#1119</a>])</li> <li><em>Breaking</em> <code>.allowUnknownOption()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322394861" data-permission-text="Title is private" data-url="tj/commander.js#802" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/802/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/802">#802</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li>unknown options included in arguments passed to command action handler</li> <li>unknown options included in <code>.args</code></li> </ul> </li> <li>only recognised option short flags and long flags are expanded (e.g. <code>-ab</code> or <code>--foo=bar</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><em>Breaking</em> <code>.parseOptions()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li><code>args</code> in returned result renamed <code>operands</code> and does not include anything after first unknown option</li> <li><code>unknown</code> in returned result has arguments after first unknown option including operands, not just options and values</li> </ul> </li> <li><em>Breaking</em> <code>.on('command:*', callback)</code> and other command events passed (changed) results from <code>.parseOptions</code>, i.e. operands and unknown ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>refactor Option from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="544020268" data-permission-text="Title is private" data-url="tj/commander.js#1133" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1133/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1133">#1133</a>])</li> <li>refactor Command from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558019087" data-permission-text="Title is private" data-url="tj/commander.js#1159" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1159/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1159">#1159</a>])</li> <li>changes to error handling ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558600050" data-permission-text="Title is private" data-url="tj/commander.js#1165" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1165/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1165">#1165</a>]) <ul> <li>throw for author error, not just display message</li> <li>preflight for variadic error</li> <li>add tips to missing subcommand executable</li> </ul> </li> <li>TypeScript fluent return types changed to be more subclass friendly, return <code>this</code> rather than <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li><code>.parseAsync</code> returns <code>Promise<this></code> to be consistent with <code>.parse()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li>update dependencies</li> </ul> <h3>Removed</h3> <ul> <li>removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on <code>@types/node</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548333754" data-permission-text="Title is private" data-url="tj/commander.js#1146" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1146/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1146">#1146</a>])</li> <li>removed private function <code>normalize</code> (the functionality has been integrated into <code>parseOptions</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>parseExpectedArgs</code> is now private ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Migration Tips</h3> <p>If you use <code>.on('command:*')</code> or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>program.args</code> or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>.command('*')</code> to add a default command, you may be be able to switch to <code>isDefault:true</code> with a named command.</p> </details> <details> <summary>Commits</summary> <p>The new version differs by 53 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2aad525640d5885d9f51ae8dfe07a01c280cf4e3"><code>2aad525</code></a> <code>Update dependencies (#1214)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f86d8781655720eb1429d1b9c883e8c357f7c8c3"><code>f86d878</code></a> <code>Add cli keyword (#1213)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/83af0fd0488dc6f4568435050e7d3d7e0ab11b5b"><code>83af0fd</code></a> <code>Prepare for 5.0.0 (#1211)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f14df0709173abf9ab4732064d77bce34f60fb05"><code>f14df07</code></a> <code>Add eslint settings for TypeScript (#1205)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/95e0d193ec02859f1bdcb08785e21f86942fc5e5"><code>95e0d19</code></a> <code>5.0.0-4</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/bd5a49e9d5ca4f4cf1c8bf60e3567ab5d5e67039"><code>bd5a49e</code></a> <code>Add factory to CHANGELOG</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/8c3dd6ffe90b566c5cabb277f8d9c57a8bfb348b"><code>8c3dd6f</code></a> <code>createCommand factory routine (#1191)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3c9f33fd8440aab061cbb0484712ed77c54df03a"><code>3c9f33f</code></a> <code>Say we support LTS, so do not need to update when node changes (#1204)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3cf8cff2a91d1d38da2ea9e5ace40230f1d9a813"><code>3cf8cff</code></a> <code>Expand typescript checks (#1198)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/a3f453f11cf3ad69d2b15ce82efdfd3af53efe22"><code>a3f453f</code></a> <code>5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/87bfca690eda98a0573b20569f87675466c23dd8"><code>87bfca6</code></a> <code>Add CHANGELOG entries for 5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/1757564a0f6034f803e1e638c6cf34ef64b77775"><code>1757564</code></a> <code>Use a tidier global command (#1200)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/0a50bd6c7696b6c5217258d38613f58684d1585b"><code>0a50bd6</code></a> <code>Add program to exports (#1195)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/77e511fc17cf5857520b0740737d0fc27acf736c"><code>77e511f</code></a> <code>Enable TypeScript checking of javascript, and resolve or suppress errors (#1194)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2491c763e1ba058a5a877d7aa4b30427de83e844"><code>2491c76</code></a> <code>URLEncode several chinese toc link</code></li> </ul> <p>There are 53 commits in total.</p> <p>See the <a href="https://urls.greenkeeper.io/tj/commander.js/compare/d5186ba4b9b64a72cd685fccbb9ec5d0ec0c430d...2aad525640d5885d9f51ae8dfe07a01c280cf4e3">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
jaebradley
pushed a commit
to jaebradley/npm-install-search-cli
that referenced
this pull request
Mar 16, 2020
* *** ☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io) *** ## The dependency [commander](https://github.com/tj/commander.js) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [abetomo](https://www.npmjs.com/~abetomo) **License:** MIT <details> <summary>Release Notes for v5.0.0</summary> <h3>Added</h3> <ul> <li>support for nested commands with action-handlers ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1404480" data-permission-text="Title is private" data-url="tj/commander.js#1" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1">#1</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li><code>.addCommand()</code> for adding a separately configured command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>allow a non-executable to be set as the default command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="286464874" data-permission-text="Title is private" data-url="tj/commander.js#742" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/742/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/742">#742</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command when there are subcommands (previously only if executables) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>customise implicit help command with <code>.addHelpCommand()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display error message for unknown subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="105242369" data-permission-text="Title is private" data-url="tj/commander.js#432" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/432/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/432">#432</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display help for missing subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combined short options as single argument may include boolean flags and value flag and value (e.g. <code>-a -b -p 80</code> can be written as <code>-abp80</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.parseOption()</code> includes short flag and long flag expansions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.helpInformation()</code> returns help text as a string, previously a private routine ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560700420" data-permission-text="Title is private" data-url="tj/commander.js#1169" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1169/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1169">#1169</a>])</li> <li><code>.parse()</code> implicitly uses <code>process.argv</code> if arguments not specified ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>optionally specify where <code>.parse()</code> arguments "from", if not following node conventions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="143058334" data-permission-text="Title is private" data-url="tj/commander.js#512" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/512/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/512">#512</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>suggest help option along with unknown command error ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561944637" data-permission-text="Title is private" data-url="tj/commander.js#1179" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1179/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1179">#1179</a>])</li> <li>TypeScript definition for <code>commands</code> property of <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="562675877" data-permission-text="Title is private" data-url="tj/commander.js#1184" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1184/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1184">#1184</a>])</li> <li>export <code>program</code> property ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565709359" data-permission-text="Title is private" data-url="tj/commander.js#1195" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1195/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1195">#1195</a>])</li> <li><code>createCommand</code> factory method to simplify subclassing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565215409" data-permission-text="Title is private" data-url="tj/commander.js#1191" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1191/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1191">#1191</a>])</li> </ul> <h3>Fixed</h3> <ul> <li>preserve argument order in subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="140326981" data-permission-text="Title is private" data-url="tj/commander.js#508" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/508/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/508">#508</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="444530964" data-permission-text="Title is private" data-url="tj/commander.js#962" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/962/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/962">#962</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>do not emit <code>command:*</code> for executable subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328564529" data-permission-text="Title is private" data-url="tj/commander.js#809" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/809/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/809">#809</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>action handler called whether or not there are non-option arguments ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="499848795" data-permission-text="Title is private" data-url="tj/commander.js#1062" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1062/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1062">#1062</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combining option short flag and value in single argument now works for subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li>only add implicit help command when it will not conflict with other uses of argument ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551899040" data-permission-text="Title is private" data-url="tj/commander.js#1153" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1153/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1153">#1153</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command works with command aliases ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="429033898" data-permission-text="Title is private" data-url="tj/commander.js#948" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/948/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/948">#948</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>options are validated whether or not there is an action handler ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Changed</h3> <ul> <li><em>Breaking</em> <code>.args</code> contains command arguments with just recognised options removed ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="486336653" data-permission-text="Title is private" data-url="tj/commander.js#1032" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1032/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1032">#1032</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li><em>Breaking</em> display error if required argument for command is missing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="467912082" data-permission-text="Title is private" data-url="tj/commander.js#995" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/995/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/995">#995</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>tighten TypeScript definition of custom option processing function passed to <code>.option()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="537071462" data-permission-text="Title is private" data-url="tj/commander.js#1119" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1119/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1119">#1119</a>])</li> <li><em>Breaking</em> <code>.allowUnknownOption()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322394861" data-permission-text="Title is private" data-url="tj/commander.js#802" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/802/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/802">#802</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li>unknown options included in arguments passed to command action handler</li> <li>unknown options included in <code>.args</code></li> </ul> </li> <li>only recognised option short flags and long flags are expanded (e.g. <code>-ab</code> or <code>--foo=bar</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><em>Breaking</em> <code>.parseOptions()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li><code>args</code> in returned result renamed <code>operands</code> and does not include anything after first unknown option</li> <li><code>unknown</code> in returned result has arguments after first unknown option including operands, not just options and values</li> </ul> </li> <li><em>Breaking</em> <code>.on('command:*', callback)</code> and other command events passed (changed) results from <code>.parseOptions</code>, i.e. operands and unknown ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>refactor Option from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="544020268" data-permission-text="Title is private" data-url="tj/commander.js#1133" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1133/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1133">#1133</a>])</li> <li>refactor Command from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558019087" data-permission-text="Title is private" data-url="tj/commander.js#1159" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1159/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1159">#1159</a>])</li> <li>changes to error handling ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558600050" data-permission-text="Title is private" data-url="tj/commander.js#1165" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1165/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1165">#1165</a>]) <ul> <li>throw for author error, not just display message</li> <li>preflight for variadic error</li> <li>add tips to missing subcommand executable</li> </ul> </li> <li>TypeScript fluent return types changed to be more subclass friendly, return <code>this</code> rather than <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li><code>.parseAsync</code> returns <code>Promise<this></code> to be consistent with <code>.parse()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li>update dependencies</li> </ul> <h3>Removed</h3> <ul> <li>removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on <code>@types/node</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548333754" data-permission-text="Title is private" data-url="tj/commander.js#1146" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1146/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1146">#1146</a>])</li> <li>removed private function <code>normalize</code> (the functionality has been integrated into <code>parseOptions</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>parseExpectedArgs</code> is now private ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Migration Tips</h3> <p>If you use <code>.on('command:*')</code> or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>program.args</code> or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>.command('*')</code> to add a default command, you may be be able to switch to <code>isDefault:true</code> with a named command.</p> </details> <details> <summary>Commits</summary> <p>The new version differs by 53 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2aad525640d5885d9f51ae8dfe07a01c280cf4e3"><code>2aad525</code></a> <code>Update dependencies (#1214)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f86d8781655720eb1429d1b9c883e8c357f7c8c3"><code>f86d878</code></a> <code>Add cli keyword (#1213)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/83af0fd0488dc6f4568435050e7d3d7e0ab11b5b"><code>83af0fd</code></a> <code>Prepare for 5.0.0 (#1211)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f14df0709173abf9ab4732064d77bce34f60fb05"><code>f14df07</code></a> <code>Add eslint settings for TypeScript (#1205)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/95e0d193ec02859f1bdcb08785e21f86942fc5e5"><code>95e0d19</code></a> <code>5.0.0-4</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/bd5a49e9d5ca4f4cf1c8bf60e3567ab5d5e67039"><code>bd5a49e</code></a> <code>Add factory to CHANGELOG</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/8c3dd6ffe90b566c5cabb277f8d9c57a8bfb348b"><code>8c3dd6f</code></a> <code>createCommand factory routine (#1191)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3c9f33fd8440aab061cbb0484712ed77c54df03a"><code>3c9f33f</code></a> <code>Say we support LTS, so do not need to update when node changes (#1204)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3cf8cff2a91d1d38da2ea9e5ace40230f1d9a813"><code>3cf8cff</code></a> <code>Expand typescript checks (#1198)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/a3f453f11cf3ad69d2b15ce82efdfd3af53efe22"><code>a3f453f</code></a> <code>5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/87bfca690eda98a0573b20569f87675466c23dd8"><code>87bfca6</code></a> <code>Add CHANGELOG entries for 5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/1757564a0f6034f803e1e638c6cf34ef64b77775"><code>1757564</code></a> <code>Use a tidier global command (#1200)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/0a50bd6c7696b6c5217258d38613f58684d1585b"><code>0a50bd6</code></a> <code>Add program to exports (#1195)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/77e511fc17cf5857520b0740737d0fc27acf736c"><code>77e511f</code></a> <code>Enable TypeScript checking of javascript, and resolve or suppress errors (#1194)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2491c763e1ba058a5a877d7aa4b30427de83e844"><code>2491c76</code></a> <code>URLEncode several chinese toc link</code></li> </ul> <p>There are 53 commits in total.</p> <p>See the <a href="https://urls.greenkeeper.io/tj/commander.js/compare/d5186ba4b9b64a72cd685fccbb9ec5d0ec0c430d...2aad525640d5885d9f51ae8dfe07a01c280cf4e3">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 * chore(package): update lockfile package-lock.json Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
jaebradley
pushed a commit
to jaebradley/http-status-identifier-cli
that referenced
this pull request
Mar 16, 2020
*** ☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io) *** ## The dependency [commander](https://github.com/tj/commander.js) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [abetomo](https://www.npmjs.com/~abetomo) **License:** MIT <details> <summary>Release Notes for v5.0.0</summary> <h3>Added</h3> <ul> <li>support for nested commands with action-handlers ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1404480" data-permission-text="Title is private" data-url="tj/commander.js#1" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1">#1</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li><code>.addCommand()</code> for adding a separately configured command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>allow a non-executable to be set as the default command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="286464874" data-permission-text="Title is private" data-url="tj/commander.js#742" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/742/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/742">#742</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command when there are subcommands (previously only if executables) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>customise implicit help command with <code>.addHelpCommand()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display error message for unknown subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="105242369" data-permission-text="Title is private" data-url="tj/commander.js#432" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/432/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/432">#432</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display help for missing subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combined short options as single argument may include boolean flags and value flag and value (e.g. <code>-a -b -p 80</code> can be written as <code>-abp80</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.parseOption()</code> includes short flag and long flag expansions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.helpInformation()</code> returns help text as a string, previously a private routine ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560700420" data-permission-text="Title is private" data-url="tj/commander.js#1169" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1169/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1169">#1169</a>])</li> <li><code>.parse()</code> implicitly uses <code>process.argv</code> if arguments not specified ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>optionally specify where <code>.parse()</code> arguments "from", if not following node conventions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="143058334" data-permission-text="Title is private" data-url="tj/commander.js#512" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/512/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/512">#512</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>suggest help option along with unknown command error ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561944637" data-permission-text="Title is private" data-url="tj/commander.js#1179" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1179/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1179">#1179</a>])</li> <li>TypeScript definition for <code>commands</code> property of <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="562675877" data-permission-text="Title is private" data-url="tj/commander.js#1184" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1184/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1184">#1184</a>])</li> <li>export <code>program</code> property ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565709359" data-permission-text="Title is private" data-url="tj/commander.js#1195" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1195/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1195">#1195</a>])</li> <li><code>createCommand</code> factory method to simplify subclassing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565215409" data-permission-text="Title is private" data-url="tj/commander.js#1191" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1191/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1191">#1191</a>])</li> </ul> <h3>Fixed</h3> <ul> <li>preserve argument order in subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="140326981" data-permission-text="Title is private" data-url="tj/commander.js#508" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/508/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/508">#508</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="444530964" data-permission-text="Title is private" data-url="tj/commander.js#962" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/962/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/962">#962</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>do not emit <code>command:*</code> for executable subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328564529" data-permission-text="Title is private" data-url="tj/commander.js#809" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/809/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/809">#809</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>action handler called whether or not there are non-option arguments ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="499848795" data-permission-text="Title is private" data-url="tj/commander.js#1062" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1062/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1062">#1062</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combining option short flag and value in single argument now works for subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li>only add implicit help command when it will not conflict with other uses of argument ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551899040" data-permission-text="Title is private" data-url="tj/commander.js#1153" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1153/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1153">#1153</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command works with command aliases ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="429033898" data-permission-text="Title is private" data-url="tj/commander.js#948" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/948/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/948">#948</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>options are validated whether or not there is an action handler ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Changed</h3> <ul> <li><em>Breaking</em> <code>.args</code> contains command arguments with just recognised options removed ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="486336653" data-permission-text="Title is private" data-url="tj/commander.js#1032" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1032/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1032">#1032</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li><em>Breaking</em> display error if required argument for command is missing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="467912082" data-permission-text="Title is private" data-url="tj/commander.js#995" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/995/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/995">#995</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>tighten TypeScript definition of custom option processing function passed to <code>.option()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="537071462" data-permission-text="Title is private" data-url="tj/commander.js#1119" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1119/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1119">#1119</a>])</li> <li><em>Breaking</em> <code>.allowUnknownOption()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322394861" data-permission-text="Title is private" data-url="tj/commander.js#802" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/802/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/802">#802</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li>unknown options included in arguments passed to command action handler</li> <li>unknown options included in <code>.args</code></li> </ul> </li> <li>only recognised option short flags and long flags are expanded (e.g. <code>-ab</code> or <code>--foo=bar</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><em>Breaking</em> <code>.parseOptions()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li><code>args</code> in returned result renamed <code>operands</code> and does not include anything after first unknown option</li> <li><code>unknown</code> in returned result has arguments after first unknown option including operands, not just options and values</li> </ul> </li> <li><em>Breaking</em> <code>.on('command:*', callback)</code> and other command events passed (changed) results from <code>.parseOptions</code>, i.e. operands and unknown ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>refactor Option from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="544020268" data-permission-text="Title is private" data-url="tj/commander.js#1133" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1133/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1133">#1133</a>])</li> <li>refactor Command from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558019087" data-permission-text="Title is private" data-url="tj/commander.js#1159" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1159/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1159">#1159</a>])</li> <li>changes to error handling ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558600050" data-permission-text="Title is private" data-url="tj/commander.js#1165" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1165/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1165">#1165</a>]) <ul> <li>throw for author error, not just display message</li> <li>preflight for variadic error</li> <li>add tips to missing subcommand executable</li> </ul> </li> <li>TypeScript fluent return types changed to be more subclass friendly, return <code>this</code> rather than <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li><code>.parseAsync</code> returns <code>Promise<this></code> to be consistent with <code>.parse()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li>update dependencies</li> </ul> <h3>Removed</h3> <ul> <li>removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on <code>@types/node</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548333754" data-permission-text="Title is private" data-url="tj/commander.js#1146" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1146/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1146">#1146</a>])</li> <li>removed private function <code>normalize</code> (the functionality has been integrated into <code>parseOptions</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>parseExpectedArgs</code> is now private ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Migration Tips</h3> <p>If you use <code>.on('command:*')</code> or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>program.args</code> or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>.command('*')</code> to add a default command, you may be be able to switch to <code>isDefault:true</code> with a named command.</p> </details> <details> <summary>Commits</summary> <p>The new version differs by 53 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2aad525640d5885d9f51ae8dfe07a01c280cf4e3"><code>2aad525</code></a> <code>Update dependencies (#1214)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f86d8781655720eb1429d1b9c883e8c357f7c8c3"><code>f86d878</code></a> <code>Add cli keyword (#1213)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/83af0fd0488dc6f4568435050e7d3d7e0ab11b5b"><code>83af0fd</code></a> <code>Prepare for 5.0.0 (#1211)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f14df0709173abf9ab4732064d77bce34f60fb05"><code>f14df07</code></a> <code>Add eslint settings for TypeScript (#1205)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/95e0d193ec02859f1bdcb08785e21f86942fc5e5"><code>95e0d19</code></a> <code>5.0.0-4</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/bd5a49e9d5ca4f4cf1c8bf60e3567ab5d5e67039"><code>bd5a49e</code></a> <code>Add factory to CHANGELOG</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/8c3dd6ffe90b566c5cabb277f8d9c57a8bfb348b"><code>8c3dd6f</code></a> <code>createCommand factory routine (#1191)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3c9f33fd8440aab061cbb0484712ed77c54df03a"><code>3c9f33f</code></a> <code>Say we support LTS, so do not need to update when node changes (#1204)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3cf8cff2a91d1d38da2ea9e5ace40230f1d9a813"><code>3cf8cff</code></a> <code>Expand typescript checks (#1198)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/a3f453f11cf3ad69d2b15ce82efdfd3af53efe22"><code>a3f453f</code></a> <code>5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/87bfca690eda98a0573b20569f87675466c23dd8"><code>87bfca6</code></a> <code>Add CHANGELOG entries for 5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/1757564a0f6034f803e1e638c6cf34ef64b77775"><code>1757564</code></a> <code>Use a tidier global command (#1200)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/0a50bd6c7696b6c5217258d38613f58684d1585b"><code>0a50bd6</code></a> <code>Add program to exports (#1195)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/77e511fc17cf5857520b0740737d0fc27acf736c"><code>77e511f</code></a> <code>Enable TypeScript checking of javascript, and resolve or suppress errors (#1194)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2491c763e1ba058a5a877d7aa4b30427de83e844"><code>2491c76</code></a> <code>URLEncode several chinese toc link</code></li> </ul> <p>There are 53 commits in total.</p> <p>See the <a href="https://urls.greenkeeper.io/tj/commander.js/compare/d5186ba4b9b64a72cd685fccbb9ec5d0ec0c430d...2aad525640d5885d9f51ae8dfe07a01c280cf4e3">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
jaebradley
pushed a commit
to jaebradley/urban-dictionary-cli
that referenced
this pull request
Mar 16, 2020
*** ☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io) *** ## The dependency [commander](https://github.com/tj/commander.js) was updated from `4.1.1` to `5.0.0`. This version is **not covered** by your **current version range**. If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update. --- **Publisher:** [abetomo](https://www.npmjs.com/~abetomo) **License:** MIT <details> <summary>Release Notes for v5.0.0</summary> <h3>Added</h3> <ul> <li>support for nested commands with action-handlers ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1404480" data-permission-text="Title is private" data-url="tj/commander.js#1" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1">#1</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li><code>.addCommand()</code> for adding a separately configured command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="294713045" data-permission-text="Title is private" data-url="tj/commander.js#764" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/764/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/764">#764</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>allow a non-executable to be set as the default command ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="286464874" data-permission-text="Title is private" data-url="tj/commander.js#742" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/742/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/742">#742</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command when there are subcommands (previously only if executables) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>customise implicit help command with <code>.addHelpCommand()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display error message for unknown subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="105242369" data-permission-text="Title is private" data-url="tj/commander.js#432" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/432/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/432">#432</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>display help for missing subcommand, by default ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="516507885" data-permission-text="Title is private" data-url="tj/commander.js#1088" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1088/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1088">#1088</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combined short options as single argument may include boolean flags and value flag and value (e.g. <code>-a -b -p 80</code> can be written as <code>-abp80</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.parseOption()</code> includes short flag and long flag expansions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>.helpInformation()</code> returns help text as a string, previously a private routine ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560700420" data-permission-text="Title is private" data-url="tj/commander.js#1169" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1169/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1169">#1169</a>])</li> <li><code>.parse()</code> implicitly uses <code>process.argv</code> if arguments not specified ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>optionally specify where <code>.parse()</code> arguments "from", if not following node conventions ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="143058334" data-permission-text="Title is private" data-url="tj/commander.js#512" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/512/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/512">#512</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="560848429" data-permission-text="Title is private" data-url="tj/commander.js#1172" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1172/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1172">#1172</a>])</li> <li>suggest help option along with unknown command error ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561944637" data-permission-text="Title is private" data-url="tj/commander.js#1179" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1179/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1179">#1179</a>])</li> <li>TypeScript definition for <code>commands</code> property of <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="562675877" data-permission-text="Title is private" data-url="tj/commander.js#1184" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1184/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1184">#1184</a>])</li> <li>export <code>program</code> property ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565709359" data-permission-text="Title is private" data-url="tj/commander.js#1195" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1195/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1195">#1195</a>])</li> <li><code>createCommand</code> factory method to simplify subclassing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="565215409" data-permission-text="Title is private" data-url="tj/commander.js#1191" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1191/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1191">#1191</a>])</li> </ul> <h3>Fixed</h3> <ul> <li>preserve argument order in subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="140326981" data-permission-text="Title is private" data-url="tj/commander.js#508" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/508/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/508">#508</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="444530964" data-permission-text="Title is private" data-url="tj/commander.js#962" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/962/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/962">#962</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>do not emit <code>command:*</code> for executable subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328564529" data-permission-text="Title is private" data-url="tj/commander.js#809" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/809/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/809">#809</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>action handler called whether or not there are non-option arguments ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="499848795" data-permission-text="Title is private" data-url="tj/commander.js#1062" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1062/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1062">#1062</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>combining option short flag and value in single argument now works for subcommands ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li>only add implicit help command when it will not conflict with other uses of argument ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="551899040" data-permission-text="Title is private" data-url="tj/commander.js#1153" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1153/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1153">#1153</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>implicit help command works with command aliases ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="429033898" data-permission-text="Title is private" data-url="tj/commander.js#948" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/948/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/948">#948</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>options are validated whether or not there is an action handler ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Changed</h3> <ul> <li><em>Breaking</em> <code>.args</code> contains command arguments with just recognised options removed ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="486336653" data-permission-text="Title is private" data-url="tj/commander.js#1032" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/1032/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/1032">#1032</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li><em>Breaking</em> display error if required argument for command is missing ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="467912082" data-permission-text="Title is private" data-url="tj/commander.js#995" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/995/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/995">#995</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> <li>tighten TypeScript definition of custom option processing function passed to <code>.option()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="537071462" data-permission-text="Title is private" data-url="tj/commander.js#1119" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1119/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1119">#1119</a>])</li> <li><em>Breaking</em> <code>.allowUnknownOption()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="322394861" data-permission-text="Title is private" data-url="tj/commander.js#802" data-hovercard-type="issue" data-hovercard-url="/tj/commander.js/issues/802/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/issues/802">#802</a>] [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li>unknown options included in arguments passed to command action handler</li> <li>unknown options included in <code>.args</code></li> </ul> </li> <li>only recognised option short flags and long flags are expanded (e.g. <code>-ab</code> or <code>--foo=bar</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><em>Breaking</em> <code>.parseOptions()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>]) <ul> <li><code>args</code> in returned result renamed <code>operands</code> and does not include anything after first unknown option</li> <li><code>unknown</code> in returned result has arguments after first unknown option including operands, not just options and values</li> </ul> </li> <li><em>Breaking</em> <code>.on('command:*', callback)</code> and other command events passed (changed) results from <code>.parseOptions</code>, i.e. operands and unknown ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="545350198" data-permission-text="Title is private" data-url="tj/commander.js#1138" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1138/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1138">#1138</a>])</li> <li>refactor Option from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="544020268" data-permission-text="Title is private" data-url="tj/commander.js#1133" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1133/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1133">#1133</a>])</li> <li>refactor Command from prototype to class ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558019087" data-permission-text="Title is private" data-url="tj/commander.js#1159" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1159/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1159">#1159</a>])</li> <li>changes to error handling ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="558600050" data-permission-text="Title is private" data-url="tj/commander.js#1165" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1165/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1165">#1165</a>]) <ul> <li>throw for author error, not just display message</li> <li>preflight for variadic error</li> <li>add tips to missing subcommand executable</li> </ul> </li> <li>TypeScript fluent return types changed to be more subclass friendly, return <code>this</code> rather than <code>Command</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li><code>.parseAsync</code> returns <code>Promise<this></code> to be consistent with <code>.parse()</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="561948792" data-permission-text="Title is private" data-url="tj/commander.js#1180" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1180/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1180">#1180</a>])</li> <li>update dependencies</li> </ul> <h3>Removed</h3> <ul> <li>removed EventEmitter from TypeScript definition for Command, eliminating implicit peer dependency on <code>@types/node</code> ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548333754" data-permission-text="Title is private" data-url="tj/commander.js#1146" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1146/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1146">#1146</a>])</li> <li>removed private function <code>normalize</code> (the functionality has been integrated into <code>parseOptions</code>) ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="547256656" data-permission-text="Title is private" data-url="tj/commander.js#1145" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1145/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1145">#1145</a>])</li> <li><code>parseExpectedArgs</code> is now private ([<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="548552171" data-permission-text="Title is private" data-url="tj/commander.js#1149" data-hovercard-type="pull_request" data-hovercard-url="/tj/commander.js/pull/1149/hovercard" href="https://urls.greenkeeper.io/tj/commander.js/pull/1149">#1149</a>])</li> </ul> <h3>Migration Tips</h3> <p>If you use <code>.on('command:*')</code> or more complicated tests to detect an unrecognised subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>program.args</code> or more complicated tests to detect a missing subcommand, you may be able to delete the code and rely on the default behaviour.</p> <p>If you use <code>.command('*')</code> to add a default command, you may be be able to switch to <code>isDefault:true</code> with a named command.</p> </details> <details> <summary>Commits</summary> <p>The new version differs by 53 commits.</p> <ul> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2aad525640d5885d9f51ae8dfe07a01c280cf4e3"><code>2aad525</code></a> <code>Update dependencies (#1214)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f86d8781655720eb1429d1b9c883e8c357f7c8c3"><code>f86d878</code></a> <code>Add cli keyword (#1213)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/83af0fd0488dc6f4568435050e7d3d7e0ab11b5b"><code>83af0fd</code></a> <code>Prepare for 5.0.0 (#1211)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/f14df0709173abf9ab4732064d77bce34f60fb05"><code>f14df07</code></a> <code>Add eslint settings for TypeScript (#1205)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/95e0d193ec02859f1bdcb08785e21f86942fc5e5"><code>95e0d19</code></a> <code>5.0.0-4</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/bd5a49e9d5ca4f4cf1c8bf60e3567ab5d5e67039"><code>bd5a49e</code></a> <code>Add factory to CHANGELOG</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/8c3dd6ffe90b566c5cabb277f8d9c57a8bfb348b"><code>8c3dd6f</code></a> <code>createCommand factory routine (#1191)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3c9f33fd8440aab061cbb0484712ed77c54df03a"><code>3c9f33f</code></a> <code>Say we support LTS, so do not need to update when node changes (#1204)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/3cf8cff2a91d1d38da2ea9e5ace40230f1d9a813"><code>3cf8cff</code></a> <code>Expand typescript checks (#1198)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/a3f453f11cf3ad69d2b15ce82efdfd3af53efe22"><code>a3f453f</code></a> <code>5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/87bfca690eda98a0573b20569f87675466c23dd8"><code>87bfca6</code></a> <code>Add CHANGELOG entries for 5.0.0-3</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/1757564a0f6034f803e1e638c6cf34ef64b77775"><code>1757564</code></a> <code>Use a tidier global command (#1200)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/0a50bd6c7696b6c5217258d38613f58684d1585b"><code>0a50bd6</code></a> <code>Add program to exports (#1195)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/77e511fc17cf5857520b0740737d0fc27acf736c"><code>77e511f</code></a> <code>Enable TypeScript checking of javascript, and resolve or suppress errors (#1194)</code></li> <li><a href="https://urls.greenkeeper.io/tj/commander.js/commit/2491c763e1ba058a5a877d7aa4b30427de83e844"><code>2491c76</code></a> <code>URLEncode several chinese toc link</code></li> </ul> <p>There are 53 commits in total.</p> <p>See the <a href="https://urls.greenkeeper.io/tj/commander.js/compare/d5186ba4b9b64a72cd685fccbb9ec5d0ec0c430d...2aad525640d5885d9f51ae8dfe07a01c280cf4e3">full diff</a></p> </details> --- <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
shadowspawn
removed
the
pending release
Merged into a branch for a future release, but not released yet
label
Apr 5, 2020
This was referenced Apr 27, 2020
pmowrer
added a commit
to pmowrer/web-scripts
that referenced
this pull request
May 15, 2020
Upgrading `commander.js` to 5.x resulted in unknown options being parsed twice, breaking tasks in some scenarios. For more details: tj/commander.js#1138 Fixes spotify#341
This was referenced Dec 30, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Rework option handling to preserve argument order and make more consistent in face of unknown options, including during Commander's own processing before dispatching to subcommands.
Problem
The previous handling of unknown options assumed that unknown options can be removed and tracked separately by assuming that they all take a value. This leads to problems particularly since the unknown option may turn out to be a plain boolean flag. This causes bugs with reordered or dropped arguments after unknown options are encountered.
Issues: #508 #962 #1032 #1039
Historical issues: #56 #75
When the undocumented
.allowUnknownOption
was used, the unknown options were not available from an action handler or after.parse
called.Issue: #802 #903
Solution
.parseOptions()
removes the known options and splits the remaining arguments into operands (non-options) and unknown without changing the order of the remaining arguments, and without making assumptions about whether unknown options take values or are flags.The unknown options are included along with other arguments to action handlers et al for processing by later commands.
NB: this does significantly change the value of
.args
after.parse()
and the behaviour when the undocumented.allowUnknownOption()
is used, and affects client usage of those features.ChangeLog
Fixed
.args
and action handler arguments (Get remaining arguments #802 parseOptions rework phase 1 #1138)Changed
.args
contains command arguments with just recognised options removed (parseOptions rework phase 1 #1138).parseOptions()
(parseOptions rework phase 1 #1138)args
in returned result renamedoperands
and does not include anything after first unknown optionunknown
in returned result has arguments after first unknown option including operands, not just options and values.on('command:*', callback)
and other command events passed (changed) results from.parseOptions
, i.e. operands and unknown (parseOptions rework phase 1 #1138).allowUnknownOption()
used, any unknown options are included in arguments passed to command action handler (parseOptions rework phase 1 #1138)