Socket
Socket
Sign inDemoInstall

commander

Package Overview
Dependencies
0
Maintainers
4
Versions
114
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install
Previous1345
12Next

9.3.0

Diff

Changelog

Source

[9.3.0] (2022-05-28)

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])
abetomo
published 9.2.0 •

Changelog

Source

[9.2.0] (2022-04-15)

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])
abetomo
published 9.1.0 •

Changelog

Source

[9.1.0] (2022-03-19)

Added

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

Changelog

Source

[9.0.0] (2022-01-28)

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])
shadowspawn
published 9.0.0-1 •

Changelog

Source

[9.0.0-1] (2022-01-15)

(Released in 9.0.0)

shadowspawn
published 9.0.0-0 •

Changelog

Source

[9.0.0-0] (2021-12-22)

(Released in 9.0.0)

abetomo
published 8.3.0 •

Changelog

Source

[8.3.0] (2021-10-22)

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])
abetomo
published 8.2.0 •

Changelog

Source

[8.2.0] (2021-09-10)

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
abetomo
published 8.1.0 •

Changelog

Source

[8.1.0] (2021-07-27)

Added

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

Changelog

Source

[8.0.0] (2021-06-25)

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();
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc