diff --git a/packages/webpack-cli/lib/utils/arg-parser.js b/packages/webpack-cli/lib/utils/arg-parser.js index e3ad2f1ada8..db76c2f7ef5 100644 --- a/packages/webpack-cli/lib/utils/arg-parser.js +++ b/packages/webpack-cli/lib/utils/arg-parser.js @@ -24,9 +24,6 @@ function argParser(options, args, argsOnly = false, name = '', helpFunction = un // Set parser name parser.name(name); - let commandNames = []; - let commandAliases = []; - if (commands) { commands.reduce((parserInstance, cmd) => { parser @@ -36,39 +33,11 @@ function argParser(options, args, argsOnly = false, name = '', helpFunction = un .usage(cmd.usage) .allowUnknownOption(true) .action(async () => { - return await require('../commands/ExternalCommand').run( - defaultCommands[cmd.name], - ...args.slice(args.indexOf(cmd.name) + 1 || args.indexOf(cmd.alias) + 1), - ); + const cliArgs = args.slice(args.indexOf(cmd.name) + 1 || args.indexOf(cmd.alias) + 1); + return await require('../commands/ExternalCommand').run(defaultCommands[cmd.name], ...cliArgs); }); - // if (cmd.flags) { - // cmd.flags.forEach((subCmdFlag) => { - // parser.commands.forEach((parsedArgs) => { - // const cliFlag = subCmdFlag.type === Boolean ? subCmdFlag.name : `--${subCmdFlag.name} ` - // const option = { - // flags: cliFlag, - // // required: true, - // // optional: false, - // // mandatory: false, - // // negate: false, - // // short: subCmdFlag.alias, - // // long: subCmdFlag.name, - // description: subCmdFlag.description, - // defaultValue: subCmdFlag.defaultValue, - // }; - // if (parsedArgs._name === cmd.name) { - // parsedArgs.options.push(option); - // parsedArgs._actionHandler = ((option) => require('../commands/ExternalCommand').run(defaultCommands[cmd.name], option)); - // console.log(parsedArgs) - // return; - // } - // }); - // }); - // } return parser; }, parser); - commandNames = commands.map((cmd) => cmd.name); - commandAliases = commands.map((cmd) => cmd.alias); // Prevent default behavior parser.on('command:*', () => {}); @@ -130,7 +99,7 @@ function argParser(options, args, argsOnly = false, name = '', helpFunction = un const result = parser.parse(args, parseOptions); const opts = result.opts(); - const unknownArgs = commands ? result.args.filter((arg) => !commandNames.includes(arg) && !commandAliases.includes(arg)) : result.args; + const unknownArgs = result.args; args.forEach((arg) => { const flagName = arg.slice(5);