diff --git a/app-cli/captainduckduck.js b/app-cli/captainduckduck.js index abc1897..cd62b73 100755 --- a/app-cli/captainduckduck.js +++ b/app-cli/captainduckduck.js @@ -1,5 +1,6 @@ #!/usr/bin/env node +const { printErrorAndExit } = require("./utils/messageHandler") const packagejson = require("./package.json") const updateNotifier = require("update-notifier") const program = require("commander") @@ -48,4 +49,13 @@ program list() }) +// Error on unknown commands +program.on("command:*", () => { + const wrongCommands = program.args.join(" ") + + printErrorAndExit( + `\nInvalid command: ${wrongCommands}\nSee --help for a list of available commands.\n` + ) +}) + program.parse(process.argv) diff --git a/app-cli/utils/errorHandler.js b/app-cli/utils/errorHandler.js deleted file mode 100644 index 34a2ddf..0000000 --- a/app-cli/utils/errorHandler.js +++ /dev/null @@ -1,9 +0,0 @@ -const chalk = require("chalk") - -function printErrorAndExit(error) { - console.log(`${chalk.bold.red(error)}\n\n`) - - process.exit(0) -} - -module.exports = printErrorAndExit diff --git a/app-cli/utils/messageHandler.js b/app-cli/utils/messageHandler.js new file mode 100644 index 0000000..9ae72ec --- /dev/null +++ b/app-cli/utils/messageHandler.js @@ -0,0 +1,26 @@ +const chalk = require("chalk") + +function printMessage(message) { + console.log(message) +} + +function printGreenMessage(message) { + console.log(`${chalk.green(message)}`) +} + +function printError(error) { + console.log(`${chalk.bold.red(error)}`) +} + +function printErrorAndExit(error) { + console.log(`${printError(error)}`) + + process.exit(0) +} + +module.exports = { + printMessage, + printErrorAndExit, + printError, + printGreenMessage +}