Commander по умолчанию будет отображать ошибку для неизвестных опций в основной команде:
const program = require('commander');
program.parse(process.argv);
$ node index.js --silly
error: unknown option '--silly'
Соответствующая информация из README Commander v4, которая охватывает подкоманды:
Параметры команды в командной строке проверяются при использовании команды. Любые неизвестные опции будут сообщены как ошибка. Однако если команда на основе действия не определяет действие, то параметры не проверяются.
Если вы хотите выполнить дополнительную обработку самостоятельно, а не завершать работу при обнаружении неизвестной опции, выполните команду посмотрите на .exitOverride()
. Например:
const commander = require('commander');
const program = new commander.Command();
program.exitOverride(); // throw instead of exit
try {
program.parse(process.argv);
} catch (err) {
if (err.code === 'commander.unknownOption') {
console.log();
program.outputHelp();
}
}
$ node index.js --silly
error: unknown option '--silly'
Usage: index [options]
Options:
-h, --help output usage information