diff --git a/cmd.cjs b/cmd.cjs index 66f68ee..9b97622 100755 --- a/cmd.cjs +++ b/cmd.cjs @@ -17,31 +17,37 @@ const { Logger, Cli } = require("./cli.js"); try { const defaults = Cli.getDefaultOptions(); - for(let key in defaults) { - if(key.toLowerCase() !== key) { - defaults[key.toLowerCase()] = defaults[key]; - delete defaults[key]; - } - } - const argv = require("minimist")(process.argv.slice(2), { - string: [ - "dir", - "input", // alias for dir - "port", - ], - boolean: [ - "version", - "help", - "domdiff", - ], - default: defaults, - unknown: function (unknownArgument) { - throw new Error( - `We don’t know what '${unknownArgument}' is. Use --help to see the list of supported commands.` - ); + const { parseArgs } = require("node:util"); + + const args = process.argv.slice(2); + const options = { + dir: { + type: "string", }, - }); + input: { + type: "string", + default: defaults.input, + }, + port: { + type: "string", + default: defaults.port, + }, + domdiff: { + type: "boolean", + default: defaults.domDiff, + }, + help: { + type: "boolean", + default: false, + }, + version: { + type: "boolean", + default: false, + }, + }; + + const { values: argv } = parseArgs({ args, options }); // Older Node friendly import workaround (this is a CommonJS file) import("obug").then(({ createDebug }) => { @@ -75,5 +81,13 @@ try { }); } } catch (e) { + if (e instanceof TypeError) { + const unknownArgument = e.message.split(" ").pop(); + + e = new Error( + `We don’t know what ${unknownArgument} is. Use --help to see the list of supported commands.` + ); + } + Logger.fatal("Fatal Error:", e) } diff --git a/package-lock.json b/package-lock.json index d8710d7..4d4f6b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "chokidar": "^5.0.0", "finalhandler": "^2.1.1", "mime": "^4.1.0", - "minimist": "^1.2.8", "morphdom": "^2.7.8", "obug": "^2.1.4", "range-parser": "^1.3.0", @@ -1335,15 +1334,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", diff --git a/package.json b/package.json index cd938c9..520049d 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,6 @@ "chokidar": "^5.0.0", "finalhandler": "^2.1.1", "mime": "^4.1.0", - "minimist": "^1.2.8", "morphdom": "^2.7.8", "obug": "^2.1.4", "range-parser": "^1.3.0",