Skip to content
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

Update dependency commander to v9 #332

Merged
merged 1 commit into from
Jan 2, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 2, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
commander ~7.2.0 -> ~9.4.0 age adoption passing confidence

Release Notes

tj/commander.js

v9.4.1

Compare Source

Fixed
  • .setOptionValue() now also clears option source ([#​1795])
  • TypeScript: add implied to OptionValueSource for option values set by using .implies() ([#​1794])
  • TypeScript : add undefined to return type of .getOptionValueSource() ([#​1794])
Changed
  • additions to README

v9.4.0

Compare Source

Added
  • preSubcommand hook called before direct subcommands ([#​1763])
Fixed
  • export InvalidOptionArgumentError in esm ([#​1756])
Changed

v9.3.0

Compare Source

Added
  • .summary() for a short summary to use instead of description when listing subcommands in help ([#​1726])
  • Option.implies() to set other option values when the option is specified ([#​1724])
  • updated Chinese README with 9.x changes ([#​1727])
Fixed
  • TypeScript: add string[] to .options() default value parameter type for use with variadic options ([#​1721])
Deprecated
  • multi-character short option flag (e.g. -ws) ([#​1718])

v9.2.0

Compare Source

Added
  • conditional export of 'types' for upcoming TypeScript module resolution ([#​1703])
  • example file showing two ways to add global options to subcommands ([#​1708])
Fixed
  • detect option conflicts in parent commands of called subcommand ([#​1710])
Changed
  • replace deprecated String.prototype.substr ([#​1706])

v9.1.0

Compare Source

Added
  • Option .conflicts() to set conflicting options which can not be specified together ([#​1678])
  • (developer) CodeQL configuration for GitHub Actions ([#​1698])

v9.0.0

Compare Source

Added
  • simpler ECMAScript import ([#​1589])
  • Option.preset() allows specifying value/arg for option when used without option-argument (especially optional, but also boolean option) ([#​1652])
  • .executableDir() for custom search for subcommands ([#​1571])
  • throw with helpful message if pass Option to .option() or .requiredOption() ([#​1655])
  • .error() for generating errors from client code just like Commander generated errors, with support for .configureOutput(), .exitOverride(), and .showHelpAfterError() ([#​1675])
  • .optsWithGlobals() to return merged local and global options ([#​1671])
Changed
  • Breaking: Commander 9 requires Node.js v12.20.0 or higher
  • update package-lock.json to lockfile@2 format ([#​1659])
  • showSuggestionAfterError is now on by default ([#​1657])
  • Breaking: default value specified for boolean option now always used as default value (see .preset() to match some previous behaviours) ([#​1652])
  • default value for boolean option only shown in help if true/false ([#​1652])
  • use command name as prefix for subcommand stand-alone executable name (with fallback to script name for backwards compatibility) ([#​1571])
  • allow absolute path with executableFile ([#​1571])
  • removed restriction that nested subcommands must specify executableFile ([#​1571])
  • TypeScript: allow passing readonly string array to .choices() [(#​1667)]
  • TypeScript: allow passing readonly string array to .parse(), .parseAsync(), .aliases() [(#​1669)]
Fixed
  • option with optional argument not supplied on command line now works when option already has a value, whether from default value or from previous arguments ([#​1652])
Removed
  • Breaking: removed internal fallback to require.main.filename when script not known from arguments passed to .parse() (can supply details using .name(), and .executableDir() or executableFile) ([#​1571])

v8.3.0

Compare Source

Added
  • .getOptionValueSource() and .setOptionValueWithSource(), where expected values for source are one of 'default', 'env', 'config', 'cli' ([#​1613])
Deprecated
  • .command('*'), use default command instead ([#​1612])
  • on('command:*'), use .showSuggestionAfterError() instead ([#​1612])

v8.2.0

Compare Source

Added
  • .showSuggestionAfterError() to show suggestions after unknown command or unknown option ([#​1590])
  • add Option support for values from environment variables using .env() ([#​1587])
Changed
  • show error for unknown global option before subcommand (rather than just help) ([#​1590])
Removed
  • TypeScript declaration of unimplemented Option method argumentRejected

v8.1.0

Compare Source

Added
  • .copyInheritedSettings() ([#​1557])
  • update Chinese translations of documentation for Commander v8 ([#​1570])
  • Argument methods for .argRequired() and .argOptional() ([#​1567])

v8.0.0

Compare Source

Added
  • .argument(name, description) for adding command-arguments ([#​1490])
    • supports default value for optional command-arguments ([#​1508])
    • supports custom processing function ([#​1508])
  • .createArgument() factory method ([#​1497])
  • .addArgument() ([#​1490])
  • Argument supports .choices() ([#​1525])
  • .showHelpAfterError() to display full help or a custom message after an error ([#​1534])
  • .hook() with support for 'preAction' and 'postAction' callbacks ([#​1514])
  • client typing of .opts() return type using TypeScript generics ([#​1539])
  • the number of command-arguments is checked for programs without an action handler ([#​1502])
  • .getOptionValue() and .setOptionValue() ([#​1521])
Changed
  • refactor and simplify TypeScript declarations (with no default export) ([#​1520])
  • .parseAsync() is now declared as async ([#​1513])
  • Breaking: Help method .visibleArguments() returns array of Argument ([#​1490])
  • Breaking: Commander 8 requires Node.js 12 or higher ([#​1500])
  • Breaking: CommanderError code commander.invalidOptionArgument renamed commander.invalidArgument ([#​1508])
  • Breaking: TypeScript declaration for .addTextHelp() callback no longer allows result of undefined, now just string ([#​1516])
  • refactor index.tab into a file per class ([#​1522])
  • remove help suggestion from "unknown command" error message (see .showHelpAfteError()) ([#​1534])
  • Command property .arg initialised to empty array (was previously undefined) ([#​1529])
  • update dependencies
Deprecated
  • second parameter of cmd.description(desc, argDescriptions) for adding argument descriptions ([#​1490])
    • (use new .argument(name, description) instead)
  • InvalidOptionArgumentError (replaced by InvalidArgumentError) ([#​1508])
Removed
  • Breaking: TypeScript declaration for default export of global Command object ([#​1520])
    • (still available as named program export)
Migration Tips

If you have a simple program without an action handler, you will now get an error if
there are missing command-arguments.

program
  .option('-d, --debug')
  .arguments('<file>');
program.parse();
$ node trivial.js 
error: missing required argument 'file'

If you want to show the help in this situation, you could check the arguments before parsing:

if (process.argv.length === 2)
  program.help();
program.parse();

Or, you might choose to show the help after any user error:

program.showHelpAfterError();

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the renovate label Jan 2, 2023
@codecov
Copy link

codecov bot commented Jan 2, 2023

Codecov Report

Base: 100.00% // Head: 100.00% // No change to project coverage 👍

Coverage data is based on head (4ef6904) compared to base (6c78a4a).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #332   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         2           
  Lines          131       131           
=========================================
  Hits           131       131           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant