From 10a60672d5346ae160e6daa6e96f484c42e67b4f Mon Sep 17 00:00:00 2001 From: aarondill Date: Wed, 1 Feb 2023 23:16:58 -0600 Subject: [PATCH] feat: add support for --no-check and --no-quiet --- cli.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cli.js b/cli.js index 86314845..7cd9e4be 100755 --- a/cli.js +++ b/cli.js @@ -29,10 +29,12 @@ If file/glob is omitted, './package.json' file will be processed. } function parseCliArguments() { - const { values: options, positionals: patterns } = parseArgs({ + const { values: originalOptions, positionals: patterns } = parseArgs({ options: { check: { type: 'boolean', short: 'c', default: false }, quiet: { type: 'boolean', short: 'q', default: false }, + 'no-check': { type: 'boolean', default: false }, + 'no-quiet': { type: 'boolean', default: false }, version: { type: 'boolean', short: 'v', default: false }, help: { type: 'boolean', short: 'h', default: false }, }, @@ -44,6 +46,16 @@ function parseCliArguments() { patterns[0] = 'package.json' } + // support for negated options + const options = originalOptions + for (const key of Object.keys(originalOptions)) { + // no-check: true --> check: false + if (key.startsWith('no-') && originalOptions[key] === true) { + options[key.slice(3)] = false + delete options[key] + } + } + return { options, patterns } }