9.0.0-0
Pre-release
Pre-release
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)
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)
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()
orexecutableFile
) (#1571)