@udohjeremiah/moniq 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -662,7 +662,7 @@ async function detectPackageManager(root) {
662
662
  if (userAgent.startsWith("pnpm")) return "pnpm";
663
663
  if (userAgent.startsWith("yarn")) return "yarn";
664
664
  if (userAgent.startsWith("npm")) return "npm";
665
- return "pnpm";
665
+ throw new Error("Could not detect package manager. Ensure a lock file (package-lock.json, pnpm-lock.yaml, yarn.lock, or bun.lock) exists in the project root.");
666
666
  }
667
667
  async function discoverWorkspace(root) {
668
668
  const pm = await detectPackageManager(root);
@@ -917,7 +917,7 @@ async function resolve(config, root, packages_) {
917
917
  }
918
918
  //#endregion
919
919
  //#region ../cli/dist/index.js
920
- var version = "0.3.0";
920
+ var version = "0.3.1";
921
921
  function formatDiagnostics(diagnostics, options) {
922
922
  if ((options?.format ?? "pretty") === "json") return formatJson(diagnostics);
923
923
  return formatPretty(diagnostics, options?.isDryRun);
@@ -1332,24 +1332,30 @@ function installArguments(pm) {
1332
1332
  "--save-dev",
1333
1333
  "@udohjeremiah/moniq"
1334
1334
  ];
1335
- case "yarn": return [
1335
+ case "pnpm": return [
1336
1336
  "add",
1337
- "--dev",
1337
+ "-D",
1338
+ "-w",
1338
1339
  "@udohjeremiah/moniq"
1339
1340
  ];
1340
- default: return [
1341
+ case "yarn": return [
1341
1342
  "add",
1342
- "-D",
1343
+ "--dev",
1343
1344
  "@udohjeremiah/moniq"
1344
1345
  ];
1345
1346
  }
1347
+ throw new Error(`Unknown package manager: ${pm}`);
1346
1348
  }
1347
1349
  function installPackage(pm, root) {
1348
1350
  return new Promise((resolve, reject) => {
1349
1351
  const child = execFile(pm, installArguments(pm), { cwd: root });
1352
+ let stderr = "";
1353
+ child.stderr?.on("data", (chunk) => {
1354
+ stderr += chunk.toString();
1355
+ });
1350
1356
  child.on("exit", (code) => {
1351
1357
  if (code === 0) resolve();
1352
- else reject(/* @__PURE__ */ new Error(`Exit code ${String(code)}`));
1358
+ else reject(/* @__PURE__ */ new Error(`Exit code ${String(code)}: ${stderr.trim()}`));
1353
1359
  });
1354
1360
  child.on("error", reject);
1355
1361
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","names":["wcmatch"],"sources":["../../../node_modules/.pnpm/cac@7.0.0/node_modules/cac/dist/index.js","../../workspace/dist/index.js","../../../node_modules/.pnpm/wildcard-match@5.1.4/node_modules/wildcard-match/build/index.es.mjs","../../core/dist/index.js","../../cli/dist/index.js"],"sourcesContent":["//#region node_modules/.pnpm/mri@1.2.0/node_modules/mri/lib/index.mjs\nfunction toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\nfunction toVal(out, key, val, opts) {\n\tvar x, old = out[key], nxt = !!~opts.string.indexOf(key) ? val == null || val === true ? \"\" : String(val) : typeof val === \"boolean\" ? val : !!~opts.boolean.indexOf(key) ? val === \"false\" ? false : val === \"true\" || (out._.push((x = +val, x * 0 === 0) ? x : val), !!val) : (x = +val, x * 0 === 0) ? x : val;\n\tout[key] = old == null ? nxt : Array.isArray(old) ? old.concat(nxt) : [old, nxt];\n}\nfunction lib_default(args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\tvar k, arr, arg, name, val, out = { _: [] };\n\tvar i = 0, j = 0, idx = 0, len = args.length;\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\tif (alibi) for (k in opts.alias) {\n\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\tfor (i = 0; i < arr.length; i++) (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t}\n\tfor (i = opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j = arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\tfor (i = opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j = arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\tif (defaults) for (k in opts.default) {\n\t\tname = typeof opts.default[k];\n\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\tif (opts[name] !== void 0) {\n\t\t\topts[name].push(k);\n\t\t\tfor (i = 0; i < arr.length; i++) opts[name].push(arr[i]);\n\t\t}\n\t}\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\tfor (i = 0; i < len; i++) {\n\t\targ = args[i];\n\t\tif (arg === \"--\") {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\t\tfor (j = 0; j < arg.length; j++) if (arg.charCodeAt(j) !== 45) break;\n\t\tif (j === 0) out._.push(arg);\n\t\telse if (arg.substring(j, j + 3) === \"no-\") {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown(arg);\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx = j + 1; idx < arg.length; idx++) if (arg.charCodeAt(idx) === 61) break;\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || i + 1 === len || (\"\" + args[i + 1]).charCodeAt(0) === 45 || args[++i];\n\t\t\tarr = j === 2 ? [name] : name;\n\t\t\tfor (idx = 0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown(\"-\".repeat(j) + name);\n\t\t\t\ttoVal(out, name, idx + 1 < arr.length || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\tif (defaults) {\n\t\tfor (k in opts.default) if (out[k] === void 0) out[k] = opts.default[k];\n\t}\n\tif (alibi) for (k in out) {\n\t\tarr = opts.alias[k] || [];\n\t\twhile (arr.length > 0) out[arr.shift()] = out[k];\n\t}\n\treturn out;\n}\n\n//#endregion\n//#region src/utils.ts\nfunction removeBrackets(v) {\n\treturn v.replace(/[<[].+/, \"\").trim();\n}\nfunction findAllBrackets(v) {\n\tconst ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;\n\tconst SQUARE_BRACKET_RE_GLOBAL = /\\[([^\\]]+)\\]/g;\n\tconst res = [];\n\tconst parse = (match) => {\n\t\tlet variadic = false;\n\t\tlet value = match[1];\n\t\tif (value.startsWith(\"...\")) {\n\t\t\tvalue = value.slice(3);\n\t\t\tvariadic = true;\n\t\t}\n\t\treturn {\n\t\t\trequired: match[0].startsWith(\"<\"),\n\t\t\tvalue,\n\t\t\tvariadic\n\t\t};\n\t};\n\tlet angledMatch;\n\twhile (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(angledMatch));\n\tlet squareMatch;\n\twhile (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(squareMatch));\n\treturn res;\n}\nfunction getMriOptions(options) {\n\tconst result = {\n\t\talias: {},\n\t\tboolean: []\n\t};\n\tfor (const [index, option] of options.entries()) {\n\t\tif (option.names.length > 1) result.alias[option.names[0]] = option.names.slice(1);\n\t\tif (option.isBoolean) if (option.negated) {\n\t\t\tif (!options.some((o, i) => {\n\t\t\t\treturn i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === \"boolean\";\n\t\t\t})) result.boolean.push(option.names[0]);\n\t\t} else result.boolean.push(option.names[0]);\n\t}\n\treturn result;\n}\nfunction findLongest(arr) {\n\treturn arr.sort((a, b) => {\n\t\treturn a.length > b.length ? -1 : 1;\n\t})[0];\n}\nfunction padRight(str, length) {\n\treturn str.length >= length ? str : `${str}${\" \".repeat(length - str.length)}`;\n}\nfunction camelcase(input) {\n\treturn input.replaceAll(/([a-z])-([a-z])/g, (_, p1, p2) => {\n\t\treturn p1 + p2.toUpperCase();\n\t});\n}\nfunction setDotProp(obj, keys, val) {\n\tlet current = obj;\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tif (i === keys.length - 1) {\n\t\t\tcurrent[key] = val;\n\t\t\treturn;\n\t\t}\n\t\tif (current[key] == null) {\n\t\t\tconst nextKeyIsArrayIndex = +keys[i + 1] > -1;\n\t\t\tcurrent[key] = nextKeyIsArrayIndex ? [] : {};\n\t\t}\n\t\tcurrent = current[key];\n\t}\n}\nfunction setByType(obj, transforms) {\n\tfor (const key of Object.keys(transforms)) {\n\t\tconst transform = transforms[key];\n\t\tif (transform.shouldTransform) {\n\t\t\tobj[key] = [obj[key]].flat();\n\t\t\tif (typeof transform.transformFunction === \"function\") obj[key] = obj[key].map(transform.transformFunction);\n\t\t}\n\t}\n}\nfunction getFileName(input) {\n\tconst m = /([^\\\\/]+)$/.exec(input);\n\treturn m ? m[1] : \"\";\n}\nfunction camelcaseOptionName(name) {\n\treturn name.split(\".\").map((v, i) => {\n\t\treturn i === 0 ? camelcase(v) : v;\n\t}).join(\".\");\n}\nvar CACError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"CACError\";\n\t\tif (typeof Error.captureStackTrace !== \"function\") this.stack = new Error(message).stack;\n\t}\n};\n\n//#endregion\n//#region src/option.ts\nvar Option = class {\n\trawName;\n\tdescription;\n\t/** Option name */\n\tname;\n\t/** Option name and aliases */\n\tnames;\n\tisBoolean;\n\trequired;\n\tconfig;\n\tnegated;\n\tconstructor(rawName, description, config) {\n\t\tthis.rawName = rawName;\n\t\tthis.description = description;\n\t\tthis.config = Object.assign({}, config);\n\t\trawName = rawName.replaceAll(\".*\", \"\");\n\t\tthis.negated = false;\n\t\tthis.names = removeBrackets(rawName).split(\",\").map((v) => {\n\t\t\tlet name = v.trim().replace(/^-{1,2}/, \"\");\n\t\t\tif (name.startsWith(\"no-\")) {\n\t\t\t\tthis.negated = true;\n\t\t\t\tname = name.replace(/^no-/, \"\");\n\t\t\t}\n\t\t\treturn camelcaseOptionName(name);\n\t\t}).sort((a, b) => a.length > b.length ? 1 : -1);\n\t\tthis.name = this.names.at(-1);\n\t\tif (this.negated && this.config.default == null) this.config.default = true;\n\t\tif (rawName.includes(\"<\")) this.required = true;\n\t\telse if (rawName.includes(\"[\")) this.required = false;\n\t\telse this.isBoolean = true;\n\t}\n};\n\n//#endregion\n//#region src/runtime.ts\nlet runtimeProcessArgs;\nlet runtimeInfo;\nif (typeof process !== \"undefined\") {\n\tlet runtimeName;\n\tif (typeof Deno !== \"undefined\" && typeof Deno.version?.deno === \"string\") runtimeName = \"deno\";\n\telse if (typeof Bun !== \"undefined\" && typeof Bun.version === \"string\") runtimeName = \"bun\";\n\telse runtimeName = \"node\";\n\truntimeInfo = `${process.platform}-${process.arch} ${runtimeName}-${process.version}`;\n\truntimeProcessArgs = process.argv;\n} else if (typeof navigator === \"undefined\") runtimeInfo = `unknown`;\nelse runtimeInfo = `${navigator.platform} ${navigator.userAgent}`;\n\n//#endregion\n//#region src/command.ts\nvar Command = class {\n\trawName;\n\tdescription;\n\tconfig;\n\tcli;\n\toptions;\n\taliasNames;\n\tname;\n\targs;\n\tcommandAction;\n\tusageText;\n\tversionNumber;\n\texamples;\n\thelpCallback;\n\tglobalCommand;\n\tconstructor(rawName, description, config = {}, cli) {\n\t\tthis.rawName = rawName;\n\t\tthis.description = description;\n\t\tthis.config = config;\n\t\tthis.cli = cli;\n\t\tthis.options = [];\n\t\tthis.aliasNames = [];\n\t\tthis.name = removeBrackets(rawName);\n\t\tthis.args = findAllBrackets(rawName);\n\t\tthis.examples = [];\n\t}\n\tusage(text) {\n\t\tthis.usageText = text;\n\t\treturn this;\n\t}\n\tallowUnknownOptions() {\n\t\tthis.config.allowUnknownOptions = true;\n\t\treturn this;\n\t}\n\tignoreOptionDefaultValue() {\n\t\tthis.config.ignoreOptionDefaultValue = true;\n\t\treturn this;\n\t}\n\tversion(version, customFlags = \"-v, --version\") {\n\t\tthis.versionNumber = version;\n\t\tthis.option(customFlags, \"Display version number\");\n\t\treturn this;\n\t}\n\texample(example) {\n\t\tthis.examples.push(example);\n\t\treturn this;\n\t}\n\t/**\n\t* Add a option for this command\n\t* @param rawName Raw option name(s)\n\t* @param description Option description\n\t* @param config Option config\n\t*/\n\toption(rawName, description, config) {\n\t\tconst option = new Option(rawName, description, config);\n\t\tthis.options.push(option);\n\t\treturn this;\n\t}\n\talias(name) {\n\t\tthis.aliasNames.push(name);\n\t\treturn this;\n\t}\n\taction(callback) {\n\t\tthis.commandAction = callback;\n\t\treturn this;\n\t}\n\t/**\n\t* Check if a command name is matched by this command\n\t* @param name Command name\n\t*/\n\tisMatched(name) {\n\t\treturn this.name === name || this.aliasNames.includes(name);\n\t}\n\tget isDefaultCommand() {\n\t\treturn this.name === \"\" || this.aliasNames.includes(\"!\");\n\t}\n\tget isGlobalCommand() {\n\t\treturn this instanceof GlobalCommand;\n\t}\n\t/**\n\t* Check if an option is registered in this command\n\t* @param name Option name\n\t*/\n\thasOption(name) {\n\t\tname = name.split(\".\")[0];\n\t\treturn this.options.find((option) => {\n\t\t\treturn option.names.includes(name);\n\t\t});\n\t}\n\toutputHelp() {\n\t\tconst { name, commands } = this.cli;\n\t\tconst { versionNumber, options: globalOptions, helpCallback } = this.cli.globalCommand;\n\t\tlet sections = [{ body: `${name}${versionNumber ? `/${versionNumber}` : \"\"}` }];\n\t\tsections.push({\n\t\t\ttitle: \"Usage\",\n\t\t\tbody: ` $ ${name} ${this.usageText || this.rawName}`\n\t\t});\n\t\tif ((this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0) {\n\t\t\tconst longestCommandName = findLongest(commands.map((command) => command.rawName));\n\t\t\tsections.push({\n\t\t\t\ttitle: \"Commands\",\n\t\t\t\tbody: commands.map((command) => {\n\t\t\t\t\treturn ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;\n\t\t\t\t}).join(\"\\n\")\n\t\t\t}, {\n\t\t\t\ttitle: `For more info, run any command with the \\`--help\\` flag`,\n\t\t\t\tbody: commands.map((command) => ` $ ${name}${command.name === \"\" ? \"\" : ` ${command.name}`} --help`).join(\"\\n\")\n\t\t\t});\n\t\t}\n\t\tlet options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []];\n\t\tif (!this.isGlobalCommand && !this.isDefaultCommand) options = options.filter((option) => option.name !== \"version\");\n\t\tif (options.length > 0) {\n\t\t\tconst longestOptionName = findLongest(options.map((option) => option.rawName));\n\t\t\tsections.push({\n\t\t\t\ttitle: \"Options\",\n\t\t\t\tbody: options.map((option) => {\n\t\t\t\t\treturn ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? \"\" : `(default: ${option.config.default})`}`;\n\t\t\t\t}).join(\"\\n\")\n\t\t\t});\n\t\t}\n\t\tif (this.examples.length > 0) sections.push({\n\t\t\ttitle: \"Examples\",\n\t\t\tbody: this.examples.map((example) => {\n\t\t\t\tif (typeof example === \"function\") return example(name);\n\t\t\t\treturn example;\n\t\t\t}).join(\"\\n\")\n\t\t});\n\t\tif (helpCallback) sections = helpCallback(sections) || sections;\n\t\tconsole.info(sections.map((section) => {\n\t\t\treturn section.title ? `${section.title}:\\n${section.body}` : section.body;\n\t\t}).join(\"\\n\\n\"));\n\t}\n\toutputVersion() {\n\t\tconst { name } = this.cli;\n\t\tconst { versionNumber } = this.cli.globalCommand;\n\t\tif (versionNumber) console.info(`${name}/${versionNumber} ${runtimeInfo}`);\n\t}\n\tcheckRequiredArgs() {\n\t\tconst minimalArgsCount = this.args.filter((arg) => arg.required).length;\n\t\tif (this.cli.args.length < minimalArgsCount) throw new CACError(`missing required args for command \\`${this.rawName}\\``);\n\t}\n\t/**\n\t* Check if the parsed options contain any unknown options\n\t*\n\t* Exit and output error when true\n\t*/\n\tcheckUnknownOptions() {\n\t\tconst { options, globalCommand } = this.cli;\n\t\tif (!this.config.allowUnknownOptions) {\n\t\t\tfor (const name of Object.keys(options)) if (name !== \"--\" && !this.hasOption(name) && !globalCommand.hasOption(name)) throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n\t\t}\n\t}\n\t/**\n\t* Check if the required string-type options exist\n\t*/\n\tcheckOptionValue() {\n\t\tconst { options: parsedOptions, globalCommand } = this.cli;\n\t\tconst options = [...globalCommand.options, ...this.options];\n\t\tfor (const option of options) {\n\t\t\tconst value = parsedOptions[option.name.split(\".\")[0]];\n\t\t\tif (option.required) {\n\t\t\t\tconst hasNegated = options.some((o) => o.negated && o.names.includes(option.name));\n\t\t\t\tif (value === true || value === false && !hasNegated) throw new CACError(`option \\`${option.rawName}\\` value is missing`);\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t* Check if the number of args is more than expected\n\t*/\n\tcheckUnusedArgs() {\n\t\tconst maximumArgsCount = this.args.some((arg) => arg.variadic) ? Infinity : this.args.length;\n\t\tif (maximumArgsCount < this.cli.args.length) throw new CACError(`Unused args: ${this.cli.args.slice(maximumArgsCount).map((arg) => `\\`${arg}\\``).join(\", \")}`);\n\t}\n};\nvar GlobalCommand = class extends Command {\n\tconstructor(cli) {\n\t\tsuper(\"@@global@@\", \"\", {}, cli);\n\t}\n};\n\n//#endregion\n//#region src/cac.ts\nvar CAC = class extends EventTarget {\n\t/** The program name to display in help and version message */\n\tname;\n\tcommands;\n\tglobalCommand;\n\tmatchedCommand;\n\tmatchedCommandName;\n\t/**\n\t* Raw CLI arguments\n\t*/\n\trawArgs;\n\t/**\n\t* Parsed CLI arguments\n\t*/\n\targs;\n\t/**\n\t* Parsed CLI options, camelCased\n\t*/\n\toptions;\n\tshowHelpOnExit;\n\tshowVersionOnExit;\n\t/**\n\t* @param name The program name to display in help and version message\n\t*/\n\tconstructor(name = \"\") {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.commands = [];\n\t\tthis.rawArgs = [];\n\t\tthis.args = [];\n\t\tthis.options = {};\n\t\tthis.globalCommand = new GlobalCommand(this);\n\t\tthis.globalCommand.usage(\"<command> [options]\");\n\t}\n\t/**\n\t* Add a global usage text.\n\t*\n\t* This is not used by sub-commands.\n\t*/\n\tusage(text) {\n\t\tthis.globalCommand.usage(text);\n\t\treturn this;\n\t}\n\t/**\n\t* Add a sub-command\n\t*/\n\tcommand(rawName, description, config) {\n\t\tconst command = new Command(rawName, description || \"\", config, this);\n\t\tcommand.globalCommand = this.globalCommand;\n\t\tthis.commands.push(command);\n\t\treturn command;\n\t}\n\t/**\n\t* Add a global CLI option.\n\t*\n\t* Which is also applied to sub-commands.\n\t*/\n\toption(rawName, description, config) {\n\t\tthis.globalCommand.option(rawName, description, config);\n\t\treturn this;\n\t}\n\t/**\n\t* Show help message when `-h, --help` flags appear.\n\t*\n\t*/\n\thelp(callback) {\n\t\tthis.globalCommand.option(\"-h, --help\", \"Display this message\");\n\t\tthis.globalCommand.helpCallback = callback;\n\t\tthis.showHelpOnExit = true;\n\t\treturn this;\n\t}\n\t/**\n\t* Show version number when `-v, --version` flags appear.\n\t*\n\t*/\n\tversion(version, customFlags = \"-v, --version\") {\n\t\tthis.globalCommand.version(version, customFlags);\n\t\tthis.showVersionOnExit = true;\n\t\treturn this;\n\t}\n\t/**\n\t* Add a global example.\n\t*\n\t* This example added here will not be used by sub-commands.\n\t*/\n\texample(example) {\n\t\tthis.globalCommand.example(example);\n\t\treturn this;\n\t}\n\t/**\n\t* Output the corresponding help message\n\t* When a sub-command is matched, output the help message for the command\n\t* Otherwise output the global one.\n\t*\n\t*/\n\toutputHelp() {\n\t\tif (this.matchedCommand) this.matchedCommand.outputHelp();\n\t\telse this.globalCommand.outputHelp();\n\t}\n\t/**\n\t* Output the version number.\n\t*\n\t*/\n\toutputVersion() {\n\t\tthis.globalCommand.outputVersion();\n\t}\n\tsetParsedInfo({ args, options }, matchedCommand, matchedCommandName) {\n\t\tthis.args = args;\n\t\tthis.options = options;\n\t\tif (matchedCommand) this.matchedCommand = matchedCommand;\n\t\tif (matchedCommandName) this.matchedCommandName = matchedCommandName;\n\t\treturn this;\n\t}\n\tunsetMatchedCommand() {\n\t\tthis.matchedCommand = void 0;\n\t\tthis.matchedCommandName = void 0;\n\t}\n\t/**\n\t* Parse argv\n\t*/\n\tparse(argv, { run = true } = {}) {\n\t\tif (!argv) {\n\t\t\tif (!runtimeProcessArgs) throw new Error(\"No argv provided and runtime process argv is not available.\");\n\t\t\targv = runtimeProcessArgs;\n\t\t}\n\t\tthis.rawArgs = argv;\n\t\tif (!this.name) this.name = argv[1] ? getFileName(argv[1]) : \"cli\";\n\t\tlet shouldParse = true;\n\t\tfor (const command of this.commands) {\n\t\t\tconst parsed = this.mri(argv.slice(2), command);\n\t\t\tconst commandName = parsed.args[0];\n\t\t\tif (command.isMatched(commandName)) {\n\t\t\t\tshouldParse = false;\n\t\t\t\tconst parsedInfo = {\n\t\t\t\t\t...parsed,\n\t\t\t\t\targs: parsed.args.slice(1)\n\t\t\t\t};\n\t\t\t\tthis.setParsedInfo(parsedInfo, command, commandName);\n\t\t\t\tthis.dispatchEvent(new CustomEvent(`command:${commandName}`, { detail: command }));\n\t\t\t}\n\t\t}\n\t\tif (shouldParse) {\n\t\t\tfor (const command of this.commands) if (command.isDefaultCommand) {\n\t\t\t\tshouldParse = false;\n\t\t\t\tconst parsed = this.mri(argv.slice(2), command);\n\t\t\t\tthis.setParsedInfo(parsed, command);\n\t\t\t\tthis.dispatchEvent(new CustomEvent(\"command:!\", { detail: command }));\n\t\t\t}\n\t\t}\n\t\tif (shouldParse) {\n\t\t\tconst parsed = this.mri(argv.slice(2));\n\t\t\tthis.setParsedInfo(parsed);\n\t\t}\n\t\tif (this.options.help && this.showHelpOnExit) {\n\t\t\tthis.outputHelp();\n\t\t\trun = false;\n\t\t\tthis.unsetMatchedCommand();\n\t\t}\n\t\tif (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) {\n\t\t\tthis.outputVersion();\n\t\t\trun = false;\n\t\t\tthis.unsetMatchedCommand();\n\t\t}\n\t\tconst parsedArgv = {\n\t\t\targs: this.args,\n\t\t\toptions: this.options\n\t\t};\n\t\tif (run) this.runMatchedCommand();\n\t\tif (!this.matchedCommand && this.args[0]) this.dispatchEvent(new CustomEvent(\"command:*\", { detail: this.args[0] }));\n\t\treturn parsedArgv;\n\t}\n\tmri(argv, command) {\n\t\tconst cliOptions = [...this.globalCommand.options, ...command ? command.options : []];\n\t\tconst mriOptions = getMriOptions(cliOptions);\n\t\tlet argsAfterDoubleDashes = [];\n\t\tconst doubleDashesIndex = argv.indexOf(\"--\");\n\t\tif (doubleDashesIndex !== -1) {\n\t\t\targsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);\n\t\t\targv = argv.slice(0, doubleDashesIndex);\n\t\t}\n\t\tlet parsed = lib_default(argv, mriOptions);\n\t\tparsed = Object.keys(parsed).reduce((res, name) => {\n\t\t\treturn {\n\t\t\t\t...res,\n\t\t\t\t[camelcaseOptionName(name)]: parsed[name]\n\t\t\t};\n\t\t}, { _: [] });\n\t\tconst args = parsed._;\n\t\tconst options = { \"--\": argsAfterDoubleDashes };\n\t\tconst ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;\n\t\tconst transforms = Object.create(null);\n\t\tfor (const cliOption of cliOptions) {\n\t\t\tif (!ignoreDefault && cliOption.config.default !== void 0) for (const name of cliOption.names) options[name] = cliOption.config.default;\n\t\t\tif (Array.isArray(cliOption.config.type) && transforms[cliOption.name] === void 0) {\n\t\t\t\ttransforms[cliOption.name] = Object.create(null);\n\t\t\t\ttransforms[cliOption.name].shouldTransform = true;\n\t\t\t\ttransforms[cliOption.name].transformFunction = cliOption.config.type[0];\n\t\t\t}\n\t\t}\n\t\tfor (const key of Object.keys(parsed)) if (key !== \"_\") {\n\t\t\tsetDotProp(options, key.split(\".\"), parsed[key]);\n\t\t\tsetByType(options, transforms);\n\t\t}\n\t\treturn {\n\t\t\targs,\n\t\t\toptions\n\t\t};\n\t}\n\trunMatchedCommand() {\n\t\tconst { args, options, matchedCommand: command } = this;\n\t\tif (!command || !command.commandAction) return;\n\t\tcommand.checkUnknownOptions();\n\t\tcommand.checkOptionValue();\n\t\tcommand.checkRequiredArgs();\n\t\tcommand.checkUnusedArgs();\n\t\tconst actionArgs = [];\n\t\tcommand.args.forEach((arg, index) => {\n\t\t\tif (arg.variadic) actionArgs.push(args.slice(index));\n\t\t\telse actionArgs.push(args[index]);\n\t\t});\n\t\tactionArgs.push(options);\n\t\treturn command.commandAction.apply(this, actionArgs);\n\t}\n};\n\n//#endregion\n//#region src/index.ts\n/**\n* @param name The program name to display in help and version message\n*/\nconst cac = (name = \"\") => new CAC(name);\n\n//#endregion\nexport { CAC, Command, cac, cac as default };","import { execFileSync } from \"node:child_process\";\nimport path from \"node:path\";\n//#region src/package-json.ts\nasync function readPackageJson(path) {\n\tconst { readFile } = await import(\"node:fs/promises\");\n\tconst content = await readFile(path, \"utf8\");\n\treturn JSON.parse(content);\n}\nasync function writePackageJson(filePath, data) {\n\tconst { writeFile } = await import(\"node:fs/promises\");\n\tawait writeFile(filePath, `${JSON.stringify(data, void 0, 2)}\\n`, \"utf8\");\n}\n//#endregion\n//#region src/scripts.ts\nfunction getScript(packageJson, name) {\n\tconst scripts = packageJson[\"scripts\"];\n\tif (typeof scripts !== \"object\" || scripts === null) return;\n\tconst value = Object.entries(scripts).find(([k]) => k === name)?.[1];\n\treturn typeof value === \"string\" ? value : void 0;\n}\nfunction setScript(packageJson, name, command) {\n\tlet scripts = packageJson[\"scripts\"];\n\tif (typeof scripts !== \"object\" || scripts === null) {\n\t\tscripts = {};\n\t\tpackageJson[\"scripts\"] = scripts;\n\t}\n\tObject.assign(scripts, { [name]: command });\n}\n//#endregion\n//#region src/workspace.ts\nasync function detectPackageManager(root) {\n\tfor (const [lockFile, pm] of Object.entries({\n\t\t\"bun.lock\": \"bun\",\n\t\t\"bun.lockb\": \"bun\",\n\t\t\"package-lock.json\": \"npm\",\n\t\t\"pnpm-lock.yaml\": \"pnpm\",\n\t\t\"yarn.lock\": \"yarn\"\n\t})) try {\n\t\tconst { access } = await import(\"node:fs/promises\");\n\t\tawait access(path.join(root, lockFile));\n\t\treturn pm;\n\t} catch {}\n\ttry {\n\t\tconst rawPm = (await readPackageJson(path.join(root, \"package.json\")))[\"packageManager\"];\n\t\tconst pm = typeof rawPm === \"string\" ? rawPm.split(\"@\", 2)[0] ?? \"\" : \"\";\n\t\tif ([\n\t\t\t\"bun\",\n\t\t\t\"npm\",\n\t\t\t\"pnpm\",\n\t\t\t\"yarn\"\n\t\t].includes(pm)) return pm;\n\t} catch {}\n\tconst userAgent = process.env[\"npm_config_user_agent\"] ?? \"\";\n\tif (userAgent.startsWith(\"bun\")) return \"bun\";\n\tif (userAgent.startsWith(\"pnpm\")) return \"pnpm\";\n\tif (userAgent.startsWith(\"yarn\")) return \"yarn\";\n\tif (userAgent.startsWith(\"npm\")) return \"npm\";\n\treturn \"pnpm\";\n}\nasync function discoverWorkspace(root) {\n\tconst pm = await detectPackageManager(root);\n\tlet output;\n\tswitch (pm) {\n\t\tcase \"bun\": return resolveBunWorkspaces(root);\n\t\tcase \"npm\": {\n\t\t\toutput = execFileSync(pmBin(\"npm\"), [\n\t\t\t\t\"ls\",\n\t\t\t\t\"--workspaces\",\n\t\t\t\t\"--all\",\n\t\t\t\t\"--json\",\n\t\t\t\t\"--depth\",\n\t\t\t\t\"0\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\tconst tree = JSON.parse(output);\n\t\t\treturn Object.values(tree.dependencies ?? {}).map((entry) => ({ path: entry.path }));\n\t\t}\n\t\tcase \"pnpm\":\n\t\t\toutput = execFileSync(pmBin(\"pnpm\"), [\n\t\t\t\t\"ls\",\n\t\t\t\t\"-r\",\n\t\t\t\t\"--depth\",\n\t\t\t\t\"-1\",\n\t\t\t\t\"--json\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\treturn JSON.parse(output).map((entry) => ({ path: entry.path }));\n\t\tcase \"yarn\":\n\t\t\toutput = execFileSync(pmBin(\"yarn\"), [\n\t\t\t\t\"workspaces\",\n\t\t\t\t\"list\",\n\t\t\t\t\"--json\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\treturn output.trim().split(\"\\n\").filter(Boolean).map((line) => JSON.parse(line)).map((entry) => ({ path: path.resolve(root, entry.location) }));\n\t}\n}\nfunction getWorkspacePatterns(packageJson) {\n\tconst raw = packageJson[\"workspaces\"];\n\tif (Array.isArray(raw)) return raw;\n\tif (typeof raw === \"object\" && raw !== null && \"packages\" in raw && Array.isArray(raw.packages)) return raw.packages;\n\treturn [];\n}\nfunction pmBin(pm) {\n\treturn pm;\n}\nasync function resolveBunWorkspaces(root) {\n\tconst patterns = getWorkspacePatterns(await readPackageJson(path.join(root, \"package.json\")));\n\tconst { glob } = await import(\"node:fs/promises\");\n\tconst packagePaths = [];\n\tfor (const pattern of patterns) {\n\t\tconst iterable = glob(pattern, { cwd: root });\n\t\tfor await (const entry of iterable) {\n\t\t\tconst absolute = path.resolve(root, entry);\n\t\t\tif (!packagePaths.includes(absolute)) packagePaths.push(absolute);\n\t\t}\n\t}\n\treturn packagePaths.map((p) => ({ path: p }));\n}\n//#endregion\nexport { detectPackageManager, discoverWorkspace, getScript, readPackageJson, setScript, writePackageJson };\n\n//# sourceMappingURL=index.js.map","/**\n * Escapes a character if it has a special meaning in regular expressions\n * and returns the character as is if it doesn't\n */\nfunction escapeRegExpChar(char) {\n if (char === '-' ||\n char === '^' ||\n char === '$' ||\n char === '+' ||\n char === '.' ||\n char === '(' ||\n char === ')' ||\n char === '|' ||\n char === '[' ||\n char === ']' ||\n char === '{' ||\n char === '}' ||\n char === '*' ||\n char === '?' ||\n char === '\\\\') {\n return \"\\\\\".concat(char);\n }\n else {\n return char;\n }\n}\n/**\n * Escapes all characters in a given string that have a special meaning in regular expressions\n */\nfunction escapeRegExpString(str) {\n var result = '';\n for (var i = 0; i < str.length; i++) {\n result += escapeRegExpChar(str[i]);\n }\n return result;\n}\n/**\n * Transforms one or more glob patterns into a RegExp pattern\n */\nfunction transform(pattern, separator) {\n if (separator === void 0) { separator = true; }\n if (Array.isArray(pattern)) {\n var regExpPatterns = pattern.map(function (p) { return \"^\".concat(transform(p, separator), \"$\"); });\n return \"(?:\".concat(regExpPatterns.join('|'), \")\");\n }\n var separatorSplitter = '';\n var separatorMatcher = '';\n var wildcard = '.';\n if (separator === true) {\n separatorSplitter = '/';\n separatorMatcher = '[/\\\\\\\\]';\n wildcard = '[^/\\\\\\\\]';\n }\n else if (separator) {\n separatorSplitter = separator;\n separatorMatcher = escapeRegExpString(separatorSplitter);\n if (separatorMatcher.length > 1) {\n separatorMatcher = \"(?:\".concat(separatorMatcher, \")\");\n wildcard = \"((?!\".concat(separatorMatcher, \").)\");\n }\n else {\n wildcard = \"[^\".concat(separatorMatcher, \"]\");\n }\n }\n var requiredSeparator = separator ? \"\".concat(separatorMatcher, \"+?\") : '';\n var optionalSeparator = separator ? \"\".concat(separatorMatcher, \"*?\") : '';\n var segments = separator ? pattern.split(separatorSplitter) : [pattern];\n var result = '';\n for (var s = 0; s < segments.length; s++) {\n var segment = segments[s];\n var nextSegment = segments[s + 1];\n var currentSeparator = '';\n if (!segment && s > 0) {\n continue;\n }\n if (separator) {\n if (s === segments.length - 1) {\n currentSeparator = optionalSeparator;\n }\n else if (nextSegment !== '**') {\n currentSeparator = requiredSeparator;\n }\n else {\n currentSeparator = '';\n }\n }\n if (separator && segment === '**') {\n if (currentSeparator) {\n result +=\n s === 0\n ? ''\n : s === segments.length - 1\n ? \"(?:\".concat(requiredSeparator, \"|$)\")\n : requiredSeparator;\n result += \"(?:\".concat(wildcard, \"*?\").concat(currentSeparator, \")*?\");\n }\n continue;\n }\n for (var c = 0; c < segment.length; c++) {\n var char = segment[c];\n if (char === '\\\\') {\n if (c < segment.length - 1) {\n result += escapeRegExpChar(segment[c + 1]);\n c++;\n }\n }\n else if (char === '?') {\n result += wildcard;\n }\n else if (char === '*') {\n result += \"\".concat(wildcard, \"*?\");\n }\n else {\n result += escapeRegExpChar(char);\n }\n }\n result += currentSeparator;\n }\n return result;\n}\n\nfunction isMatch(regexp, sample) {\n if (typeof sample !== 'string') {\n throw new TypeError(\"Sample must be a string, but \".concat(typeof sample, \" given\"));\n }\n return regexp.test(sample);\n}\n/**\n * Compiles one or more glob patterns into a RegExp and returns an isMatch function.\n * The isMatch function takes a sample string as its only argument and returns `true`\n * if the string matches the pattern(s).\n *\n * ```js\n * wildcardMatch('src/*.js')('src/index.js') //=> true\n * ```\n *\n * ```js\n * const isMatch = wildcardMatch('*.example.com', '.')\n * isMatch('foo.example.com') //=> true\n * isMatch('foo.bar.com') //=> false\n * ```\n */\nfunction wildcardMatch(pattern, options) {\n if (typeof pattern !== 'string' && !Array.isArray(pattern)) {\n throw new TypeError(\"The first argument must be a single pattern string or an array of patterns, but \".concat(typeof pattern, \" given\"));\n }\n if (typeof options === 'string' || typeof options === 'boolean') {\n options = { separator: options };\n }\n if (arguments.length === 2 &&\n !(typeof options === 'undefined' ||\n (typeof options === 'object' && options !== null && !Array.isArray(options)))) {\n throw new TypeError(\"The second argument must be an options object or a string/boolean separator, but \".concat(typeof options, \" given\"));\n }\n options = options || {};\n if (options.separator === '\\\\') {\n throw new Error('\\\\ is not a valid separator because it is used for escaping. Try setting the separator to `true` instead');\n }\n var regexpPattern = transform(pattern, options.separator);\n var regexp = new RegExp(\"^\".concat(regexpPattern, \"$\"), options.flags);\n var fn = isMatch.bind(null, regexp);\n fn.options = options;\n fn.pattern = pattern;\n fn.regexp = regexp;\n return fn;\n}\n\nexport { wildcardMatch as default };\n//# sourceMappingURL=index.es.mjs.map\n","import { getScript, readPackageJson } from \"@moniq/workspace\";\nimport path from \"node:path\";\nimport wcmatch from \"wildcard-match\";\n//#region src/scripts.ts\nasync function resolveScriptPolicies(scriptsConfig, root, packages_) {\n\tconst diagnostics = [];\n\tconst entries = Object.entries(scriptsConfig ?? {});\n\tfor (const [scriptName, policyOrArray] of entries) {\n\t\tconst policies = Array.isArray(policyOrArray) ? policyOrArray : [policyOrArray];\n\t\tfor (const package_ of packages_) {\n\t\t\tconst relativePath = path.relative(root, package_.path);\n\t\t\tconst policy = pickPolicy(policies, relativePath);\n\t\t\tif (policy !== void 0 && policy.severity !== \"off\") await resolvePolicy(policy, scriptName, package_, relativePath, diagnostics);\n\t\t}\n\t}\n\treturn diagnostics;\n}\nfunction isCommandMatch(actual, expected) {\n\tif (typeof expected === \"function\") return expected(actual);\n\tif (expected instanceof RegExp) return expected.test(actual);\n\treturn actual === expected;\n}\nfunction isGlobMatch(pattern, relativePath) {\n\tif (pattern === \"*\") return true;\n\tif (pattern === \".\") return relativePath === \".\" || relativePath === \"\";\n\treturn wcmatch(pattern)(relativePath);\n}\nfunction isMatchAny(patterns, relativePath) {\n\tfor (const pattern of patterns) if (isGlobMatch(pattern, relativePath)) return true;\n\treturn false;\n}\nfunction isPolicyMatch(policy, relativePath) {\n\tconst include = policy.include ?? [\"*\"];\n\tconst exclude = policy.exclude ?? [];\n\treturn isMatchAny(include, relativePath) && !isMatchAny(exclude, relativePath);\n}\nfunction pickPolicy(policies, relativePath) {\n\tfor (const policy of policies) if (isPolicyMatch(policy, relativePath)) return policy;\n}\nasync function resolvePolicy(policy, scriptName, package_, relativePath, diagnostics) {\n\tconst packageJson = await readPackageJson(path.join(package_.path, \"package.json\"));\n\tconst packageDisplayName = packageJson[\"name\"] ?? path.basename(package_.path);\n\tconst hasScript = getScript(packageJson, scriptName) !== void 0;\n\tconst severity = policy.severity ?? \"error\";\n\tif (policy.required !== false && !hasScript) {\n\t\tdiagnostics.push({\n\t\t\tfix: policy.autofix && typeof policy.command === \"string\" ? policy.command : void 0,\n\t\t\tmessage: `Missing required script \"${scriptName}\"`,\n\t\t\tpackageName: packageDisplayName,\n\t\t\tpackagePath: package_.path,\n\t\t\tscriptName,\n\t\t\tseverity\n\t\t});\n\t\treturn;\n\t}\n\tif (policy.command === void 0 || !hasScript) return;\n\tif (policy.allowCustomCommands !== void 0 && isMatchAny(policy.allowCustomCommands, relativePath)) return;\n\tconst actualCommand = getScript(packageJson, scriptName);\n\tif (actualCommand !== void 0 && isCommandMatch(actualCommand, policy.command)) return;\n\tdiagnostics.push({\n\t\tactual: actualCommand,\n\t\texpected: typeof policy.command === \"string\" ? policy.command : void 0,\n\t\tfix: policy.autofix && typeof policy.command === \"string\" ? policy.command : void 0,\n\t\tmessage: `Unexpected command for script \"${scriptName}\"`,\n\t\tpackageName: packageDisplayName,\n\t\tpackagePath: package_.path,\n\t\tscriptName,\n\t\tseverity\n\t});\n}\n//#endregion\n//#region src/index.ts\nasync function resolve(config, root, packages_) {\n\tconst diagnostics = [];\n\tconst scriptDiags = await resolveScriptPolicies(config.scripts, root, packages_);\n\tdiagnostics.push(...scriptDiags);\n\treturn diagnostics;\n}\n//#endregion\nexport { resolve };\n\n//# sourceMappingURL=index.js.map","import { cac } from \"cac\";\nimport { loadConfig } from \"@moniq/config\";\nimport { resolve } from \"@moniq/core\";\nimport { detectPackageManager, discoverWorkspace, readPackageJson } from \"@moniq/workspace\";\nimport { styleText } from \"node:util\";\nimport path from \"node:path\";\nimport { execFile } from \"node:child_process\";\nimport { stdin } from \"node:process\";\nimport { createInterface } from \"node:readline/promises\";\n//#region ../moniq/package.json\nvar version = \"0.3.0\";\n//#endregion\n//#region src/format.ts\nfunction formatDiagnostics(diagnostics, options) {\n\tif ((options?.format ?? \"pretty\") === \"json\") return formatJson(diagnostics);\n\treturn formatPretty(diagnostics, options?.isDryRun);\n}\nfunction formatJson(diagnostics) {\n\treturn `${JSON.stringify(diagnostics, void 0, 2)}\\n`;\n}\nfunction formatPretty(diagnostics, isDryRun) {\n\tif (diagnostics.length === 0) return styleText([\"bold\", \"green\"], \"✅ No issues found.\");\n\tconst lines = [];\n\tconst byPackage = /* @__PURE__ */ new Map();\n\tfor (const d of diagnostics) {\n\t\tconst array = byPackage.get(d.packageName);\n\t\tif (array) array.push(d);\n\t\telse byPackage.set(d.packageName, [d]);\n\t}\n\tfor (const [packageName, diags] of byPackage) {\n\t\tlines.push(\"\", `📦 ${styleText([\"bold\", \"cyan\"], packageName)}`);\n\t\tfor (const d of diags) pushDiagnostic(lines, d, isDryRun);\n\t}\n\tconst errorCount = diagnostics.filter((d) => d.severity === \"error\").length;\n\tconst warningCount = diagnostics.filter((d) => d.severity === \"warn\").length;\n\tconst countParts = [];\n\tif (errorCount > 0) countParts.push(styleText(\"red\", `${String(errorCount)} error(s)`));\n\tif (warningCount > 0) countParts.push(styleText(\"yellow\", `${String(warningCount)} warning(s)`));\n\tconst summary = countParts.join(\", \");\n\tconst summaryLine = `📋 Found ${String(diagnostics.length)} issue(s) — ${summary.length > 0 ? summary : \"all clear\"}`;\n\tlines.push(\"\", styleText(\"dim\", summaryLine));\n\tif (isDryRun) {\n\t\tconst fixableCount = diagnostics.filter((d) => d.fix && d.severity !== \"off\").length;\n\t\tlines.push(\"\", styleText(\"dim\", `🔮 Dry-run: ${String(fixableCount)} fix(es) available`));\n\t}\n\treturn lines.join(\"\\n\");\n}\nfunction pushDiagnostic(lines, d, isDryRun) {\n\tconst badge = severityBadge(d.severity);\n\tconst emoji = severityEmoji(d.severity);\n\tlines.push(` ${emoji} ${badge} ${d.message}`);\n\tif (d.expected && d.actual) lines.push(` ${styleText(\"dim\", \"Expected:\")} ${styleText(\"cyan\", d.expected)}`, ` ${styleText(\"dim\", \"Actual:\")} ${styleText(\"red\", d.actual)}`);\n\telse if (d.expected) lines.push(` ${styleText(\"dim\", \"Expected:\")} ${styleText(\"cyan\", d.expected)}`);\n\telse if (d.actual) lines.push(` ${styleText(\"dim\", \"Actual:\")} ${styleText(\"red\", d.actual)}`);\n\tif (d.fix) {\n\t\tconst label = styleText(\"dim\", isDryRun ? \"Would fix:\" : \"Fix:\");\n\t\tconst icon = isDryRun ? \"🔮\" : \"🔧\";\n\t\tlines.push(` ${icon} ${label} ${d.fix}`);\n\t}\n}\nfunction severityBadge(severity) {\n\tif (severity === \"error\") return styleText([\"bold\", \"red\"], \"ERROR\");\n\tif (severity === \"warn\") return styleText([\"bold\", \"yellow\"], \"WARN\");\n\treturn styleText(\"gray\", \"OFF\");\n}\nfunction severityEmoji(severity) {\n\tif (severity === \"error\") return \"❌\";\n\tif (severity === \"warn\") return \"⚠️ \";\n\treturn \"⚪\";\n}\n//#endregion\n//#region src/scripts.ts\nasync function applyScriptFixes(diagnostics, options) {\n\tconst fixable = diagnostics.filter((d) => d.fix && d.severity !== \"off\");\n\tconst isDryRun = options?.isDryRun ?? false;\n\tlet fixed = 0;\n\tlet errors = 0;\n\tconst packages = /* @__PURE__ */ new Set();\n\tfor (const d of fixable) {\n\t\tif (!d.fix) continue;\n\t\tif (isDryRun) {\n\t\t\tfixed++;\n\t\t\tpackages.add(d.packagePath);\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst packageFilePath = path.join(d.packagePath, \"package.json\");\n\t\t\tconst { readFile, writeFile } = await import(\"node:fs/promises\");\n\t\t\tconst content = await readFile(packageFilePath, \"utf8\");\n\t\t\tconst package_ = JSON.parse(content);\n\t\t\tconst scriptName = d.scriptName;\n\t\t\tif (!scriptName) continue;\n\t\t\tconst scriptsRecord = package_[\"scripts\"];\n\t\t\tif (scriptsRecord) {\n\t\t\t\tconst entries = Object.entries(scriptsRecord);\n\t\t\t\tif (!Object.hasOwn(scriptsRecord, scriptName)) entries.push([scriptName, d.fix]);\n\t\t\t\tpackage_[\"scripts\"] = Object.fromEntries(entries.map(([name, command]) => {\n\t\t\t\t\treturn name === scriptName ? [name, d.fix ?? command] : [name, command];\n\t\t\t\t}));\n\t\t\t}\n\t\t\tawait writeFile(packageFilePath, `${JSON.stringify(package_, void 0, 2)}\\n`, \"utf8\");\n\t\t\tfixed++;\n\t\t\tpackages.add(d.packagePath);\n\t\t} catch {\n\t\t\terrors++;\n\t\t}\n\t}\n\treturn {\n\t\terrors,\n\t\tfixed,\n\t\tisDryRun,\n\t\tpackageCount: packages.size\n\t};\n}\n//#endregion\n//#region src/commands/check.ts\nasync function check(options) {\n\tconst cwd = process.cwd();\n\tlet config;\n\ttry {\n\t\tconfig = await loadConfig(cwd);\n\t} catch {\n\t\tthrow new Error(\"No moniq.config file found in or above the current directory.\");\n\t}\n\tconst packages = await discoverWorkspace(cwd);\n\tif (packages.length === 0) throw new Error(\"No workspace packages found.\");\n\tconst diagnostics = await resolve(config, cwd, packages);\n\tlet fixSummary;\n\tif (options.fix) fixSummary = await applyScriptFixes(diagnostics, { isDryRun: options.isDryRun });\n\tif (options.format !== \"json\") {\n\t\tconsole.log(` 🔍 Scanned ${String(packages.length)} package(s)`);\n\t\tconsole.log();\n\t}\n\tconsole.log(formatDiagnostics(diagnostics, {\n\t\tformat: options.format,\n\t\tisDryRun: options.isDryRun\n\t}));\n\tif (fixSummary) if (fixSummary.isDryRun) {\n\t\tconst message = `🔮 Dry-run: ${String(fixSummary.fixed)} fix(es) available, ${String(fixSummary.errors)} error(s)`;\n\t\tconsole.log(styleText(\"dim\", message));\n\t} else {\n\t\tconst message = `✅ Fixed ${String(fixSummary.fixed)} issue(s) across ${String(fixSummary.packageCount)} package(s)`;\n\t\tconsole.log(styleText([\"bold\", \"green\"], message));\n\t}\n}\n//#endregion\n//#region src/commands/doctor.ts\nasync function doctor() {\n\tconst cwd = process.cwd();\n\tconst issues = [];\n\ttry {\n\t\tconst config = await loadConfig(cwd);\n\t\tissues.push({\n\t\t\tmessage: \"moniq.config file found and loadable.\",\n\t\t\tseverity: \"warn\"\n\t\t});\n\t\tcheckScriptPolicies(config, issues);\n\t} catch {\n\t\tissues.push({\n\t\t\tmessage: \"No moniq.config file found in or above the current directory.\",\n\t\t\tseverity: \"error\"\n\t\t});\n\t}\n\ttry {\n\t\tconst packageCount = (await discoverWorkspace(cwd)).length;\n\t\tif (packageCount === 0) issues.push({\n\t\t\tmessage: \"No workspace packages detected. Check your workspace configuration.\",\n\t\t\tseverity: \"warn\"\n\t\t});\n\t\telse issues.push({\n\t\t\tmessage: `Detected ${String(packageCount)} workspace package(s).`,\n\t\t\tseverity: \"warn\"\n\t\t});\n\t} catch {\n\t\tissues.push({\n\t\t\tmessage: \"Failed to discover workspace packages. Ensure a lock file or packageManager field is present.\",\n\t\t\tseverity: \"error\"\n\t\t});\n\t}\n\tconsole.log();\n\tconsole.log(` ${styleText(\"bold\", \"🏥 Configuration Doctor\")}`);\n\tconsole.log();\n\tif (issues.length === 0) {\n\t\tconsole.log(` ${styleText([\"bold\", \"green\"], \"✅ Everything looks good!\")}`);\n\t\treturn;\n\t}\n\tfor (const issue of issues) {\n\t\tconst icon = issue.severity === \"error\" ? \"❌\" : \"⚠️ \";\n\t\tconst label = issue.severity === \"error\" ? styleText([\"bold\", \"red\"], \"ERROR\") : styleText([\"bold\", \"yellow\"], \"WARN\");\n\t\tconsole.log(` ${icon} ${label} ${issue.message}`);\n\t}\n\tconst errorCount = issues.filter((index) => index.severity === \"error\").length;\n\tconst warningCount = issues.filter((index) => index.severity === \"warn\").length;\n\tconst summary = styleText(\"dim\", `Found ${`${String(errorCount)} error(s)`}, ${`${String(warningCount)} warning(s)`}`);\n\tconsole.log();\n\tconsole.log(` ${summary}`);\n\tif (errorCount > 0) {\n\t\tconst tip = styleText([\"bold\", \"cyan\"], \"💡 Tip:\");\n\t\tconst hint = styleText(\"dim\", \"moniq init\");\n\t\tconsole.log();\n\t\tconsole.log(` ${tip} Run ${hint} to scaffold a starter configuration.`);\n\t}\n}\nfunction checkScriptPolicies(config, issues) {\n\tconst scripts = config.scripts;\n\tif (!scripts) return;\n\tfor (const [name, policyOrArray] of Object.entries(scripts)) {\n\t\tconst policies = Array.isArray(policyOrArray) ? policyOrArray : [policyOrArray];\n\t\tfor (const policy of policies) {\n\t\t\tconst sev = policy.severity;\n\t\t\tif (sev !== void 0 && ![\n\t\t\t\t\"error\",\n\t\t\t\t\"off\",\n\t\t\t\t\"warn\"\n\t\t\t].includes(sev)) issues.push({\n\t\t\t\tmessage: `Script policy \"${name}\" has invalid severity \"${sev}\".`,\n\t\t\t\tseverity: \"error\"\n\t\t\t});\n\t\t}\n\t}\n}\n//#endregion\n//#region src/banner.ts\nconst colorFns = [\n\t(s) => styleText(\"cyan\", s),\n\t(s) => styleText(\"magenta\", s),\n\t(s) => styleText(\"green\", s),\n\t(s) => styleText(\"yellow\", s),\n\t(s) => styleText(\"blue\", s)\n];\nconst letterRows = [\n\t[\n\t\t\"███╗ ███╗\",\n\t\t\"████╗ ████║\",\n\t\t\"██╔████╔██║\",\n\t\t\"██║╚██╔╝██║\",\n\t\t\"██║ ╚═╝ ██║\",\n\t\t\"╚═╝ ╚═╝\"\n\t],\n\t[\n\t\t\" ██████╗ \",\n\t\t\"██╔═══██╗\",\n\t\t\"██║ ██║\",\n\t\t\"██║ ██║\",\n\t\t\"╚██████╔╝\",\n\t\t\" ╚═════╝ \"\n\t],\n\t[\n\t\t\"███╗ ██╗\",\n\t\t\"████╗ ██║\",\n\t\t\"██╔██╗ ██║\",\n\t\t\"██║╚██╗██║\",\n\t\t\"██║ ╚████║\",\n\t\t\"╚═╝ ╚═══╝\"\n\t],\n\t[\n\t\t\"██╗\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"╚═╝\"\n\t],\n\t[\n\t\t\" ██████╗ \",\n\t\t\"██╔═══██╗\",\n\t\t\"██║ ██║\",\n\t\t\"██║ ██║\",\n\t\t\"╚██████╔╝\",\n\t\t\" ╚════╝╗ \"\n\t]\n];\nconst DESCRIPTION = \"Policy-driven workspace linter for JavaScript/TypeScript monorepos.\";\nfunction renderBanner() {\n\tconst lines = [\"\"];\n\tfor (let rowIndex = 0; rowIndex < 6; rowIndex++) lines.push(assembleRow(rowIndex));\n\tconst description = styleText(\"bold\", DESCRIPTION);\n\tlines.push(description, \"\");\n\treturn lines.join(\"\\n\");\n}\nfunction assembleRow(rowIndex) {\n\tlet row = \"\";\n\tfor (let columnIndex = 0; columnIndex < 5; columnIndex++) {\n\t\trow += rowPart(columnIndex, rowIndex);\n\t\tif (columnIndex < 4) row += \" \";\n\t}\n\treturn row;\n}\nfunction rowPart(columnIndex, rowIndex) {\n\tconst rows = letterRows.at(columnIndex);\n\tconst colorFunction = colorFns.at(columnIndex);\n\tif (rows === void 0 || colorFunction === void 0) return \"\";\n\tconst line = rows.at(rowIndex);\n\treturn line === void 0 ? \"\" : colorFunction(line);\n}\n//#endregion\n//#region src/commands/init.ts\nconst SUPPORTED_LANGS = [\n\t\"ts\",\n\t\"js\",\n\t\"mjs\",\n\t\"cjs\",\n\t\"mts\",\n\t\"cts\"\n];\nconst DIVIDER_WIDTH = 44;\nfunction labelPad(label) {\n\treturn label.padEnd(18);\n}\nconst STARTER_CONFIG = `import { defineConfig } from \"@udohjeremiah/moniq\";\n\nexport default defineConfig({\n scripts: {\n dev: { required: true },\n build: { required: true },\n lint: { required: true },\n },\n});\n`;\nasync function detectLang(cwd, packageJson) {\n\tconst rawDependencies = packageJson[\"dependencies\"];\n\tconst rawDevelopmentDependencies = packageJson[\"devDependencies\"];\n\tconst { access } = await import(\"node:fs/promises\");\n\ttry {\n\t\tawait access(path.join(cwd, \"tsconfig.json\"));\n\t\treturn \"ts\";\n\t} catch {}\n\tif (typeof rawDependencies === \"object\" && rawDependencies !== null && Object.hasOwn(rawDependencies, \"typescript\")) return \"ts\";\n\tif (typeof rawDevelopmentDependencies === \"object\" && rawDevelopmentDependencies !== null && Object.hasOwn(rawDevelopmentDependencies, \"typescript\")) return \"ts\";\n\treturn \"js\";\n}\nasync function init(options) {\n\tconst { _cwd, lang: explicitLang } = options;\n\tconst cwd = _cwd ?? process.cwd();\n\tconsole.log(renderBanner());\n\tconst rootPackageJson = await readRootPackageJson(cwd);\n\tif (rootPackageJson === void 0) return;\n\tconst lang = explicitLang ?? await detectLang(cwd, rootPackageJson);\n\tif (!SUPPORTED_LANGS.includes(lang)) {\n\t\tconst unsupportedMessage = `Unsupported --lang \"${lang}\". Supported: ${SUPPORTED_LANGS.join(\", \")}`;\n\t\tconsole.error(` ${styleText(\"yellow\", unsupportedMessage)}`);\n\t\tprocess.exitCode = 1;\n\t\treturn;\n\t}\n\tconst filename = `moniq.config.${lang}`;\n\tconst configPath = path.join(cwd, filename);\n\tif (!await handleExistingConfig(configPath, filename)) return;\n\tlet workspaceLabel = \"single package\";\n\tlet packages = [];\n\ttry {\n\t\tpackages = await discoverWorkspace(cwd);\n\t\tif (packages.length > 1) workspaceLabel = `monorepo with ${String(packages.length)} packages`;\n\t} catch {\n\t\tworkspaceLabel = \"unknown (workspace detection failed)\";\n\t}\n\tconst pm = await detectPackageManager(cwd);\n\tconst langDisplay = [\n\t\t\"cts\",\n\t\t\"mts\",\n\t\t\"ts\"\n\t].includes(lang) ? \"TypeScript\" : \"JavaScript\";\n\tconst dim = (s) => styleText(\"dim\", s);\n\tconst cyan = (s) => styleText(\"cyan\", s);\n\tconst sideDashes = (DIVIDER_WIDTH - 10) / 2;\n\tconst topDivider = dim(` ${\"─\".repeat(sideDashes)} Detected ${\"─\".repeat(sideDashes)}`);\n\tconst bottomDivider = dim(` ${\"─\".repeat(DIVIDER_WIDTH)}`);\n\tconst labelIndent = \" \".repeat(19);\n\tconsole.log(topDivider);\n\tconsole.log(` ${dim(labelPad(\"Workspace:\"))} ${cyan(workspaceLabel)}`);\n\tif (packages.length > 1) for (const package_ of packages) {\n\t\tconst bullet = dim(`• ${path.relative(cwd, package_.path)}`);\n\t\tconsole.log(` ${labelIndent}${bullet}`);\n\t}\n\tconsole.log(` ${dim(labelPad(\"Package Manager:\"))} ${cyan(pm)}`);\n\tconsole.log(` ${dim(labelPad(\"Language:\"))} ${cyan(langDisplay)}`);\n\tconsole.log(bottomDivider);\n\tconsole.log();\n\tif (!_cwd) {\n\t\tconst stopSpinner = startSpinner(\"Installing @udohjeremiah/moniq as devDependency...\");\n\t\ttry {\n\t\t\tawait installPackage(pm, cwd);\n\t\t\tstopSpinner();\n\t\t\tconsole.log(` ✅ Installed @udohjeremiah/moniq as devDependency`);\n\t\t\tconsole.log();\n\t\t} catch (error) {\n\t\t\tstopSpinner();\n\t\t\tconst styledError = styleText(\"red\", `❌ ${`Installation failed: ${String(error)}`}`);\n\t\t\tconsole.log(` ${styledError}`);\n\t\t\tconsole.log(` ${styleText(\"dim\", \"Make sure you have a working internet connection and try again.\")}`);\n\t\t\tconsole.log();\n\t\t\tprocess.exitCode = 1;\n\t\t\treturn;\n\t\t}\n\t}\n\tconst { writeFile } = await import(\"node:fs/promises\");\n\tawait writeFile(configPath, STARTER_CONFIG, \"utf8\");\n\tconst createdMessage = `✅ Created ${filename}`;\n\tconsole.log(` ${styleText([\"bold\", \"green\"], createdMessage)}`);\n\tconsole.log();\n\tawait doctor();\n\tconsole.log();\n\tconsole.log(` ${styleText(\"dim\", \"Next steps:\")}`);\n\tconsole.log(` 1. ${styleText(\"dim\", \"Edit\")} ${styleText(\"cyan\", filename)} ${styleText(\"dim\", \"to configure your policies.\")}`);\n\tconsole.log(` 2. ${styleText(\"dim\", \"Run\")} ${styleText(\"cyan\", \"moniq check\")} ${styleText(\"dim\", \"to validate your workspace.\")}`);\n\tconsole.log(` 3. ${styleText(\"dim\", \"Run\")} ${styleText(\"cyan\", \"moniq fix\")} ${styleText(\"dim\", \"to apply automatic fixes.\")}`);\n\tconsole.log();\n}\nasync function handleExistingConfig(configPath, filename) {\n\tconst { access } = await import(\"node:fs/promises\");\n\ttry {\n\t\tawait access(configPath);\n\t} catch {\n\t\treturn true;\n\t}\n\tif (!stdin.isTTY) return true;\n\tconst rl = createInterface({\n\t\tinput: stdin,\n\t\toutput: process.stdout\n\t});\n\tconst message = `${filename} already exists. Overwrite?`;\n\tconst answer = await rl.question(` ${styleText(\"dim\", message + \" (y/N) \")}`);\n\trl.close();\n\tif (answer.trim().length === 0) return false;\n\treturn answer.toLowerCase() === \"y\" || answer.toLowerCase() === \"yes\";\n}\nfunction installArguments(pm) {\n\tswitch (pm) {\n\t\tcase \"bun\": return [\n\t\t\t\"add\",\n\t\t\t\"--dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tcase \"npm\": return [\n\t\t\t\"install\",\n\t\t\t\"--save-dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tcase \"yarn\": return [\n\t\t\t\"add\",\n\t\t\t\"--dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tdefault: return [\n\t\t\t\"add\",\n\t\t\t\"-D\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t}\n}\nfunction installPackage(pm, root) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst child = execFile(pm, installArguments(pm), { cwd: root });\n\t\tchild.on(\"exit\", (code) => {\n\t\t\tif (code === 0) resolve();\n\t\t\telse reject(/* @__PURE__ */ new Error(`Exit code ${String(code)}`));\n\t\t});\n\t\tchild.on(\"error\", reject);\n\t});\n}\nasync function readRootPackageJson(cwd) {\n\ttry {\n\t\treturn await readPackageJson(path.join(cwd, \"package.json\"));\n\t} catch {\n\t\tconsole.log();\n\t\tconsole.log(` ${styleText(\"yellow\", \"⚠ No package.json found in current directory.\")}`);\n\t\tconsole.log(` Create one first, then run ${styleText(\"cyan\", \"moniq init\")} again.`);\n\t\tconsole.log();\n\t\tprocess.exitCode = 1;\n\t\treturn;\n\t}\n}\nfunction startSpinner(text) {\n\tconst frames = [\n\t\t\"⠋\",\n\t\t\"⠙\",\n\t\t\"⠸\",\n\t\t\"⠴\",\n\t\t\"⠦\",\n\t\t\"⠧\"\n\t];\n\tlet index = 0;\n\tconst id = setInterval(() => {\n\t\tconst styled = styleText(\"dim\", `${frames.at(index) ?? \"\"} ${text}`);\n\t\tprocess.stdout.write(`\\r ${styled}`);\n\t\tindex = (index + 1) % frames.length;\n\t}, 80);\n\treturn () => {\n\t\tclearInterval(id);\n\t\tprocess.stdout.write(\"\\r\\x1B[K\");\n\t};\n}\n//#endregion\n//#region src/index.ts\nconst cli = cac(\"moniq\");\ncli.command(\"check\", \"Run policy checks\").option(\"--format <fmt>\", \"Output format: pretty or json\", { default: \"pretty\" }).action(async (options) => {\n\tconst fmt = typeof options[\"format\"] === \"string\" ? options[\"format\"] : \"pretty\";\n\ttry {\n\t\tawait check({\n\t\t\tfix: false,\n\t\t\tformat: fmt\n\t\t});\n\t} catch (error) {\n\t\tconsole.error(String(error));\n\t\tprocess.exitCode = 1;\n\t}\n});\ncli.command(\"fix\", \"Run policy checks and apply autofixes\").option(\"--dry-run\", \"Preview autofixes without writing to files\").option(\"--format <fmt>\", \"Output format: pretty or json\", { default: \"pretty\" }).action(async (options) => {\n\tconst isDryRun = options[\"dryRun\"] === true;\n\tconst fmt = typeof options[\"format\"] === \"string\" ? options[\"format\"] : \"pretty\";\n\ttry {\n\t\tawait check({\n\t\t\tfix: true,\n\t\t\tformat: fmt,\n\t\t\tisDryRun\n\t\t});\n\t} catch (error) {\n\t\tconsole.error(String(error));\n\t\tprocess.exitCode = 1;\n\t}\n});\ncli.command(\"doctor\", \"Detect configuration mistakes\").action(async () => {\n\tawait doctor();\n});\ncli.command(\"init\", \"Scaffold a moniq.config file in the current directory\").option(\"--lang <type>\", \"Config language: ts, js, mjs, cjs, mts, cts (default: auto-detected)\").action(async (options) => {\n\tawait init({ lang: typeof options[\"lang\"] === \"string\" ? options[\"lang\"] : void 0 });\n});\ncli.help();\ncli.version(version);\ncli.parse();\n//#endregion\nexport {};\n\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0,2],"mappings":";;;;;;;;AACA,SAAS,MAAM,KAAK;CACnB,OAAO,OAAO,OAAO,CAAC,IAAI,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AAC1D;AACA,SAAS,MAAM,KAAK,KAAK,KAAK,MAAM;CACnC,IAAI,GAAG,MAAM,IAAI,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,QAAQ,GAAG,IAAI,OAAO,QAAQ,QAAQ,OAAO,KAAK,OAAO,GAAG,IAAI,OAAO,QAAQ,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,QAAQ,GAAG,IAAI,QAAQ,UAAU,QAAQ,QAAQ,WAAW,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,IAAI;CAC/S,IAAI,OAAO,OAAO,OAAO,MAAM,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG;AAChF;AACA,SAAS,YAAY,MAAM,MAAM;CAChC,OAAO,QAAQ,CAAC;CAChB,OAAO,QAAQ,CAAC;CAChB,IAAI,GAAG,KAAK,KAAK,MAAM,KAAK,MAAM,EAAE,GAAG,CAAC,EAAE;CAC1C,IAAI,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,KAAK;CACtC,MAAM,QAAQ,KAAK,UAAU,KAAK;CAClC,MAAM,SAAS,KAAK,YAAY,KAAK;CACrC,MAAM,WAAW,KAAK,YAAY,KAAK;CACvC,KAAK,QAAQ,KAAK,SAAS,CAAC;CAC5B,KAAK,SAAS,MAAM,KAAK,MAAM;CAC/B,KAAK,UAAU,MAAM,KAAK,OAAO;CACjC,IAAI,OAAO,KAAK,KAAK,KAAK,OAAO;EAChC,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,EAAE;EACzC,KAAK,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,CAAC,KAAK,MAAM,IAAI,MAAM,IAAI,OAAO,CAAC,EAAA,CAAG,OAAO,GAAG,CAAC;CAClF;CACA,KAAK,IAAI,KAAK,QAAQ,QAAQ,MAAM,IAAI;EACvC,MAAM,KAAK,MAAM,KAAK,QAAQ,OAAO,CAAC;EACtC,KAAK,IAAI,IAAI,QAAQ,MAAM,IAAI,KAAK,QAAQ,KAAK,IAAI,EAAE;CACxD;CACA,KAAK,IAAI,KAAK,OAAO,QAAQ,MAAM,IAAI;EACtC,MAAM,KAAK,MAAM,KAAK,OAAO,OAAO,CAAC;EACrC,KAAK,IAAI,IAAI,QAAQ,MAAM,IAAI,KAAK,OAAO,KAAK,IAAI,EAAE;CACvD;CACA,IAAI,UAAU,KAAK,KAAK,KAAK,SAAS;EACrC,OAAO,OAAO,KAAK,QAAQ;EAC3B,MAAM,KAAK,MAAM,KAAK,KAAK,MAAM,MAAM,CAAC;EACxC,IAAI,KAAK,UAAU,KAAK,GAAG;GAC1B,KAAK,KAAK,CAAC,KAAK,CAAC;GACjB,KAAK,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE;EACxD;CACD;CACA,MAAM,OAAO,SAAS,OAAO,KAAK,KAAK,KAAK,IAAI,CAAC;CACjD,KAAK,IAAI,GAAG,IAAI,KAAK,KAAK;EACzB,MAAM,KAAK;EACX,IAAI,QAAQ,MAAM;GACjB,IAAI,IAAI,IAAI,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;GACpC;EACD;EACA,KAAK,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,IAAI;EAC/D,IAAI,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG;OACtB,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,OAAO;GAC3C,OAAO,IAAI,UAAU,IAAI,CAAC;GAC1B,IAAI,UAAU,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,OAAO,KAAK,QAAQ,GAAG;GAC3D,IAAI,QAAQ;EACb,OAAO;GACN,KAAK,MAAM,IAAI,GAAG,MAAM,IAAI,QAAQ,OAAO,IAAI,IAAI,WAAW,GAAG,MAAM,IAAI;GAC3E,OAAO,IAAI,UAAU,GAAG,GAAG;GAC3B,MAAM,IAAI,UAAU,EAAE,GAAG,KAAK,IAAI,MAAM,QAAQ,KAAK,KAAK,IAAI,GAAA,CAAI,WAAW,CAAC,MAAM,MAAM,KAAK,EAAE;GACjG,MAAM,MAAM,IAAI,CAAC,IAAI,IAAI;GACzB,KAAK,MAAM,GAAG,MAAM,IAAI,QAAQ,OAAO;IACtC,OAAO,IAAI;IACX,IAAI,UAAU,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI;IAC5E,MAAM,KAAK,MAAM,MAAM,IAAI,IAAI,UAAU,KAAK,IAAI;GACnD;EACD;CACD;CACA,IAAI;OACE,KAAK,KAAK,SAAS,IAAI,IAAI,OAAO,KAAK,GAAG,IAAI,KAAK,KAAK,QAAQ;CAAA;CAEtE,IAAI,OAAO,KAAK,KAAK,KAAK;EACzB,MAAM,KAAK,MAAM,MAAM,CAAC;EACxB,OAAO,IAAI,SAAS,GAAG,IAAI,IAAI,MAAM,KAAK,IAAI;CAC/C;CACA,OAAO;AACR;AAIA,SAAS,eAAe,GAAG;CAC1B,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,CAAC,KAAK;AACrC;AACA,SAAS,gBAAgB,GAAG;CAC3B,MAAM,2BAA2B;CACjC,MAAM,2BAA2B;CACjC,MAAM,MAAM,CAAC;CACb,MAAM,SAAS,UAAU;EACxB,IAAI,WAAW;EACf,IAAI,QAAQ,MAAM;EAClB,IAAI,MAAM,WAAW,KAAK,GAAG;GAC5B,QAAQ,MAAM,MAAM,CAAC;GACrB,WAAW;EACZ;EACA,OAAO;GACN,UAAU,MAAM,EAAE,CAAC,WAAW,GAAG;GACjC;GACA;EACD;CACD;CACA,IAAI;CACJ,OAAO,cAAc,yBAAyB,KAAK,CAAC,GAAG,IAAI,KAAK,MAAM,WAAW,CAAC;CAClF,IAAI;CACJ,OAAO,cAAc,yBAAyB,KAAK,CAAC,GAAG,IAAI,KAAK,MAAM,WAAW,CAAC;CAClF,OAAO;AACR;AACA,SAAS,cAAc,SAAS;CAC/B,MAAM,SAAS;EACd,OAAO,CAAC;EACR,SAAS,CAAC;CACX;CACA,KAAK,MAAM,CAAC,OAAO,WAAW,QAAQ,QAAQ,GAAG;EAChD,IAAI,OAAO,MAAM,SAAS,GAAG,OAAO,MAAM,OAAO,MAAM,MAAM,OAAO,MAAM,MAAM,CAAC;EACjF,IAAI,OAAO,WAAW,IAAI,OAAO;OAC5B,CAAC,QAAQ,MAAM,GAAG,MAAM;IAC3B,OAAO,MAAM,SAAS,EAAE,MAAM,MAAM,SAAS,OAAO,MAAM,SAAS,IAAI,CAAC,KAAK,OAAO,EAAE,aAAa;GACpG,CAAC,GAAG,OAAO,QAAQ,KAAK,OAAO,MAAM,EAAE;EAAA,OACjC,OAAO,QAAQ,KAAK,OAAO,MAAM,EAAE;CAC3C;CACA,OAAO;AACR;AACA,SAAS,YAAY,KAAK;CACzB,OAAO,IAAI,MAAM,GAAG,MAAM;EACzB,OAAO,EAAE,SAAS,EAAE,SAAS,KAAK;CACnC,CAAC,CAAC,CAAC;AACJ;AACA,SAAS,SAAS,KAAK,QAAQ;CAC9B,OAAO,IAAI,UAAU,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,SAAS,IAAI,MAAM;AAC5E;AACA,SAAS,UAAU,OAAO;CACzB,OAAO,MAAM,WAAW,qBAAqB,GAAG,IAAI,OAAO;EAC1D,OAAO,KAAK,GAAG,YAAY;CAC5B,CAAC;AACF;AACA,SAAS,WAAW,KAAK,MAAM,KAAK;CACnC,IAAI,UAAU;CACd,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACrC,MAAM,MAAM,KAAK;EACjB,IAAI,MAAM,KAAK,SAAS,GAAG;GAC1B,QAAQ,OAAO;GACf;EACD;EACA,IAAI,QAAQ,QAAQ,MAAM;GACzB,MAAM,sBAAsB,CAAC,KAAK,IAAI,KAAK;GAC3C,QAAQ,OAAO,sBAAsB,CAAC,IAAI,CAAC;EAC5C;EACA,UAAU,QAAQ;CACnB;AACD;AACA,SAAS,UAAU,KAAK,YAAY;CACnC,KAAK,MAAM,OAAO,OAAO,KAAK,UAAU,GAAG;EAC1C,MAAM,YAAY,WAAW;EAC7B,IAAI,UAAU,iBAAiB;GAC9B,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK;GAC3B,IAAI,OAAO,UAAU,sBAAsB,YAAY,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,UAAU,iBAAiB;EAC3G;CACD;AACD;AACA,SAAS,YAAY,OAAO;CAC3B,MAAM,IAAI,aAAa,KAAK,KAAK;CACjC,OAAO,IAAI,EAAE,KAAK;AACnB;AACA,SAAS,oBAAoB,MAAM;CAClC,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM;EACpC,OAAO,MAAM,IAAI,UAAU,CAAC,IAAI;CACjC,CAAC,CAAC,CAAC,KAAK,GAAG;AACZ;AACA,IAAI,WAAW,cAAc,MAAM;CAClC,YAAY,SAAS;EACpB,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,IAAI,OAAO,MAAM,sBAAsB,YAAY,KAAK,QAAQ,IAAI,MAAM,OAAO,CAAC,CAAC;CACpF;AACD;AAIA,IAAI,SAAS,MAAM;CAClB;CACA;;CAEA;;CAEA;CACA;CACA;CACA;CACA;CACA,YAAY,SAAS,aAAa,QAAQ;EACzC,KAAK,UAAU;EACf,KAAK,cAAc;EACnB,KAAK,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM;EACtC,UAAU,QAAQ,WAAW,MAAM,EAAE;EACrC,KAAK,UAAU;EACf,KAAK,QAAQ,eAAe,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM;GAC1D,IAAI,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,WAAW,EAAE;GACzC,IAAI,KAAK,WAAW,KAAK,GAAG;IAC3B,KAAK,UAAU;IACf,OAAO,KAAK,QAAQ,QAAQ,EAAE;GAC/B;GACA,OAAO,oBAAoB,IAAI;EAChC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,EAAE;EAC9C,KAAK,OAAO,KAAK,MAAM,GAAG,EAAE;EAC5B,IAAI,KAAK,WAAW,KAAK,OAAO,WAAW,MAAM,KAAK,OAAO,UAAU;EACvE,IAAI,QAAQ,SAAS,GAAG,GAAG,KAAK,WAAW;OACtC,IAAI,QAAQ,SAAS,GAAG,GAAG,KAAK,WAAW;OAC3C,KAAK,YAAY;CACvB;AACD;AAIA,IAAI;AACJ,IAAI;AACJ,IAAI,OAAO,YAAY,aAAa;CACnC,IAAI;CACJ,IAAI,OAAO,SAAS,eAAe,OAAO,KAAK,SAAS,SAAS,UAAU,cAAc;MACpF,IAAI,OAAO,QAAQ,eAAe,OAAO,IAAI,YAAY,UAAU,cAAc;MACjF,cAAc;CACnB,cAAc,GAAG,QAAQ,SAAS,GAAG,QAAQ,KAAK,GAAG,YAAY,GAAG,QAAQ;CAC5E,qBAAqB,QAAQ;AAC9B,OAAO,IAAI,OAAO,cAAc,aAAa,cAAc;KACtD,cAAc,GAAG,UAAU,SAAS,GAAG,UAAU;AAItD,IAAI,UAAU,MAAM;CACnB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,YAAY,SAAS,aAAa,SAAS,CAAC,GAAG,KAAK;EACnD,KAAK,UAAU;EACf,KAAK,cAAc;EACnB,KAAK,SAAS;EACd,KAAK,MAAM;EACX,KAAK,UAAU,CAAC;EAChB,KAAK,aAAa,CAAC;EACnB,KAAK,OAAO,eAAe,OAAO;EAClC,KAAK,OAAO,gBAAgB,OAAO;EACnC,KAAK,WAAW,CAAC;CAClB;CACA,MAAM,MAAM;EACX,KAAK,YAAY;EACjB,OAAO;CACR;CACA,sBAAsB;EACrB,KAAK,OAAO,sBAAsB;EAClC,OAAO;CACR;CACA,2BAA2B;EAC1B,KAAK,OAAO,2BAA2B;EACvC,OAAO;CACR;CACA,QAAQ,SAAS,cAAc,iBAAiB;EAC/C,KAAK,gBAAgB;EACrB,KAAK,OAAO,aAAa,wBAAwB;EACjD,OAAO;CACR;CACA,QAAQ,SAAS;EAChB,KAAK,SAAS,KAAK,OAAO;EAC1B,OAAO;CACR;;;;;;;CAOA,OAAO,SAAS,aAAa,QAAQ;EACpC,MAAM,SAAS,IAAI,OAAO,SAAS,aAAa,MAAM;EACtD,KAAK,QAAQ,KAAK,MAAM;EACxB,OAAO;CACR;CACA,MAAM,MAAM;EACX,KAAK,WAAW,KAAK,IAAI;EACzB,OAAO;CACR;CACA,OAAO,UAAU;EAChB,KAAK,gBAAgB;EACrB,OAAO;CACR;;;;;CAKA,UAAU,MAAM;EACf,OAAO,KAAK,SAAS,QAAQ,KAAK,WAAW,SAAS,IAAI;CAC3D;CACA,IAAI,mBAAmB;EACtB,OAAO,KAAK,SAAS,MAAM,KAAK,WAAW,SAAS,GAAG;CACxD;CACA,IAAI,kBAAkB;EACrB,OAAO,gBAAgB;CACxB;;;;;CAKA,UAAU,MAAM;EACf,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC;EACvB,OAAO,KAAK,QAAQ,MAAM,WAAW;GACpC,OAAO,OAAO,MAAM,SAAS,IAAI;EAClC,CAAC;CACF;CACA,aAAa;EACZ,MAAM,EAAE,MAAM,aAAa,KAAK;EAChC,MAAM,EAAE,eAAe,SAAS,eAAe,iBAAiB,KAAK,IAAI;EACzE,IAAI,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,gBAAgB,IAAI,kBAAkB,KAAK,CAAC;EAC9E,SAAS,KAAK;GACb,OAAO;GACP,MAAM,OAAO,KAAK,GAAG,KAAK,aAAa,KAAK;EAC7C,CAAC;EACD,KAAK,KAAK,mBAAmB,KAAK,qBAAqB,SAAS,SAAS,GAAG;GAC3E,MAAM,qBAAqB,YAAY,SAAS,KAAK,YAAY,QAAQ,OAAO,CAAC;GACjF,SAAS,KAAK;IACb,OAAO;IACP,MAAM,SAAS,KAAK,YAAY;KAC/B,OAAO,KAAK,SAAS,QAAQ,SAAS,mBAAmB,MAAM,EAAE,IAAI,QAAQ;IAC9E,CAAC,CAAC,CAAC,KAAK,IAAI;GACb,GAAG;IACF,OAAO;IACP,MAAM,SAAS,KAAK,YAAY,OAAO,OAAO,QAAQ,SAAS,KAAK,KAAK,IAAI,QAAQ,OAAO,QAAQ,CAAC,CAAC,KAAK,IAAI;GAChH,CAAC;EACF;EACA,IAAI,UAAU,KAAK,kBAAkB,gBAAgB,CAAC,GAAG,KAAK,SAAS,GAAG,iBAAiB,CAAC,CAAC;EAC7F,IAAI,CAAC,KAAK,mBAAmB,CAAC,KAAK,kBAAkB,UAAU,QAAQ,QAAQ,WAAW,OAAO,SAAS,SAAS;EACnH,IAAI,QAAQ,SAAS,GAAG;GACvB,MAAM,oBAAoB,YAAY,QAAQ,KAAK,WAAW,OAAO,OAAO,CAAC;GAC7E,SAAS,KAAK;IACb,OAAO;IACP,MAAM,QAAQ,KAAK,WAAW;KAC7B,OAAO,KAAK,SAAS,OAAO,SAAS,kBAAkB,MAAM,EAAE,IAAI,OAAO,YAAY,GAAG,OAAO,OAAO,YAAY,KAAK,IAAI,KAAK,aAAa,OAAO,OAAO,QAAQ;IACrK,CAAC,CAAC,CAAC,KAAK,IAAI;GACb,CAAC;EACF;EACA,IAAI,KAAK,SAAS,SAAS,GAAG,SAAS,KAAK;GAC3C,OAAO;GACP,MAAM,KAAK,SAAS,KAAK,YAAY;IACpC,IAAI,OAAO,YAAY,YAAY,OAAO,QAAQ,IAAI;IACtD,OAAO;GACR,CAAC,CAAC,CAAC,KAAK,IAAI;EACb,CAAC;EACD,IAAI,cAAc,WAAW,aAAa,QAAQ,KAAK;EACvD,QAAQ,KAAK,SAAS,KAAK,YAAY;GACtC,OAAO,QAAQ,QAAQ,GAAG,QAAQ,MAAM,KAAK,QAAQ,SAAS,QAAQ;EACvE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;CAChB;CACA,gBAAgB;EACf,MAAM,EAAE,SAAS,KAAK;EACtB,MAAM,EAAE,kBAAkB,KAAK,IAAI;EACnC,IAAI,eAAe,QAAQ,KAAK,GAAG,KAAK,GAAG,cAAc,GAAG,aAAa;CAC1E;CACA,oBAAoB;EACnB,MAAM,mBAAmB,KAAK,KAAK,QAAQ,QAAQ,IAAI,QAAQ,CAAC,CAAC;EACjE,IAAI,KAAK,IAAI,KAAK,SAAS,kBAAkB,MAAM,IAAI,SAAS,uCAAuC,KAAK,QAAQ,GAAG;CACxH;;;;;;CAMA,sBAAsB;EACrB,MAAM,EAAE,SAAS,kBAAkB,KAAK;EACxC,IAAI,CAAC,KAAK,OAAO;QACX,MAAM,QAAQ,OAAO,KAAK,OAAO,GAAG,IAAI,SAAS,QAAQ,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,cAAc,UAAU,IAAI,GAAG,MAAM,IAAI,SAAS,oBAAoB,KAAK,SAAS,IAAI,KAAK,SAAS,IAAI,OAAO,GAAG;EAAA;CAE9M;;;;CAIA,mBAAmB;EAClB,MAAM,EAAE,SAAS,eAAe,kBAAkB,KAAK;EACvD,MAAM,UAAU,CAAC,GAAG,cAAc,SAAS,GAAG,KAAK,OAAO;EAC1D,KAAK,MAAM,UAAU,SAAS;GAC7B,MAAM,QAAQ,cAAc,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC;GACnD,IAAI,OAAO,UAAU;IACpB,MAAM,aAAa,QAAQ,MAAM,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,OAAO,IAAI,CAAC;IACjF,IAAI,UAAU,QAAQ,UAAU,SAAS,CAAC,YAAY,MAAM,IAAI,SAAS,YAAY,OAAO,QAAQ,oBAAoB;GACzH;EACD;CACD;;;;CAIA,kBAAkB;EACjB,MAAM,mBAAmB,KAAK,KAAK,MAAM,QAAQ,IAAI,QAAQ,IAAI,WAAW,KAAK,KAAK;EACtF,IAAI,mBAAmB,KAAK,IAAI,KAAK,QAAQ,MAAM,IAAI,SAAS,gBAAgB,KAAK,IAAI,KAAK,MAAM,gBAAgB,CAAC,CAAC,KAAK,QAAQ,KAAK,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG;CAC9J;AACD;AACA,IAAI,gBAAgB,cAAc,QAAQ;CACzC,YAAY,KAAK;EAChB,MAAM,cAAc,IAAI,CAAC,GAAG,GAAG;CAChC;AACD;AAIA,IAAI,MAAM,cAAc,YAAY;;CAEnC;CACA;CACA;CACA;CACA;;;;CAIA;;;;CAIA;;;;CAIA;CACA;CACA;;;;CAIA,YAAY,OAAO,IAAI;EACtB,MAAM;EACN,KAAK,OAAO;EACZ,KAAK,WAAW,CAAC;EACjB,KAAK,UAAU,CAAC;EAChB,KAAK,OAAO,CAAC;EACb,KAAK,UAAU,CAAC;EAChB,KAAK,gBAAgB,IAAI,cAAc,IAAI;EAC3C,KAAK,cAAc,MAAM,qBAAqB;CAC/C;;;;;;CAMA,MAAM,MAAM;EACX,KAAK,cAAc,MAAM,IAAI;EAC7B,OAAO;CACR;;;;CAIA,QAAQ,SAAS,aAAa,QAAQ;EACrC,MAAM,UAAU,IAAI,QAAQ,SAAS,eAAe,IAAI,QAAQ,IAAI;EACpE,QAAQ,gBAAgB,KAAK;EAC7B,KAAK,SAAS,KAAK,OAAO;EAC1B,OAAO;CACR;;;;;;CAMA,OAAO,SAAS,aAAa,QAAQ;EACpC,KAAK,cAAc,OAAO,SAAS,aAAa,MAAM;EACtD,OAAO;CACR;;;;;CAKA,KAAK,UAAU;EACd,KAAK,cAAc,OAAO,cAAc,sBAAsB;EAC9D,KAAK,cAAc,eAAe;EAClC,KAAK,iBAAiB;EACtB,OAAO;CACR;;;;;CAKA,QAAQ,SAAS,cAAc,iBAAiB;EAC/C,KAAK,cAAc,QAAQ,SAAS,WAAW;EAC/C,KAAK,oBAAoB;EACzB,OAAO;CACR;;;;;;CAMA,QAAQ,SAAS;EAChB,KAAK,cAAc,QAAQ,OAAO;EAClC,OAAO;CACR;;;;;;;CAOA,aAAa;EACZ,IAAI,KAAK,gBAAgB,KAAK,eAAe,WAAW;OACnD,KAAK,cAAc,WAAW;CACpC;;;;;CAKA,gBAAgB;EACf,KAAK,cAAc,cAAc;CAClC;CACA,cAAc,EAAE,MAAM,WAAW,gBAAgB,oBAAoB;EACpE,KAAK,OAAO;EACZ,KAAK,UAAU;EACf,IAAI,gBAAgB,KAAK,iBAAiB;EAC1C,IAAI,oBAAoB,KAAK,qBAAqB;EAClD,OAAO;CACR;CACA,sBAAsB;EACrB,KAAK,iBAAiB,KAAK;EAC3B,KAAK,qBAAqB,KAAK;CAChC;;;;CAIA,MAAM,MAAM,EAAE,MAAM,SAAS,CAAC,GAAG;EAChC,IAAI,CAAC,MAAM;GACV,IAAI,CAAC,oBAAoB,MAAM,IAAI,MAAM,6DAA6D;GACtG,OAAO;EACR;EACA,KAAK,UAAU;EACf,IAAI,CAAC,KAAK,MAAM,KAAK,OAAO,KAAK,KAAK,YAAY,KAAK,EAAE,IAAI;EAC7D,IAAI,cAAc;EAClB,KAAK,MAAM,WAAW,KAAK,UAAU;GACpC,MAAM,SAAS,KAAK,IAAI,KAAK,MAAM,CAAC,GAAG,OAAO;GAC9C,MAAM,cAAc,OAAO,KAAK;GAChC,IAAI,QAAQ,UAAU,WAAW,GAAG;IACnC,cAAc;IACd,MAAM,aAAa;KAClB,GAAG;KACH,MAAM,OAAO,KAAK,MAAM,CAAC;IAC1B;IACA,KAAK,cAAc,YAAY,SAAS,WAAW;IACnD,KAAK,cAAc,IAAI,YAAY,WAAW,eAAe,EAAE,QAAQ,QAAQ,CAAC,CAAC;GAClF;EACD;EACA,IAAI;QACE,MAAM,WAAW,KAAK,UAAU,IAAI,QAAQ,kBAAkB;IAClE,cAAc;IACd,MAAM,SAAS,KAAK,IAAI,KAAK,MAAM,CAAC,GAAG,OAAO;IAC9C,KAAK,cAAc,QAAQ,OAAO;IAClC,KAAK,cAAc,IAAI,YAAY,aAAa,EAAE,QAAQ,QAAQ,CAAC,CAAC;GACrE;;EAED,IAAI,aAAa;GAChB,MAAM,SAAS,KAAK,IAAI,KAAK,MAAM,CAAC,CAAC;GACrC,KAAK,cAAc,MAAM;EAC1B;EACA,IAAI,KAAK,QAAQ,QAAQ,KAAK,gBAAgB;GAC7C,KAAK,WAAW;GAChB,MAAM;GACN,KAAK,oBAAoB;EAC1B;EACA,IAAI,KAAK,QAAQ,WAAW,KAAK,qBAAqB,KAAK,sBAAsB,MAAM;GACtF,KAAK,cAAc;GACnB,MAAM;GACN,KAAK,oBAAoB;EAC1B;EACA,MAAM,aAAa;GAClB,MAAM,KAAK;GACX,SAAS,KAAK;EACf;EACA,IAAI,KAAK,KAAK,kBAAkB;EAChC,IAAI,CAAC,KAAK,kBAAkB,KAAK,KAAK,IAAI,KAAK,cAAc,IAAI,YAAY,aAAa,EAAE,QAAQ,KAAK,KAAK,GAAG,CAAC,CAAC;EACnH,OAAO;CACR;CACA,IAAI,MAAM,SAAS;EAClB,MAAM,aAAa,CAAC,GAAG,KAAK,cAAc,SAAS,GAAG,UAAU,QAAQ,UAAU,CAAC,CAAC;EACpF,MAAM,aAAa,cAAc,UAAU;EAC3C,IAAI,wBAAwB,CAAC;EAC7B,MAAM,oBAAoB,KAAK,QAAQ,IAAI;EAC3C,IAAI,sBAAsB,IAAI;GAC7B,wBAAwB,KAAK,MAAM,oBAAoB,CAAC;GACxD,OAAO,KAAK,MAAM,GAAG,iBAAiB;EACvC;EACA,IAAI,SAAS,YAAY,MAAM,UAAU;EACzC,SAAS,OAAO,KAAK,MAAM,CAAC,CAAC,QAAQ,KAAK,SAAS;GAClD,OAAO;IACN,GAAG;KACF,oBAAoB,IAAI,IAAI,OAAO;GACrC;EACD,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;EACZ,MAAM,OAAO,OAAO;EACpB,MAAM,UAAU,EAAE,MAAM,sBAAsB;EAC9C,MAAM,gBAAgB,WAAW,QAAQ,OAAO,2BAA2B,QAAQ,OAAO,2BAA2B,KAAK,cAAc,OAAO;EAC/I,MAAM,aAAa,OAAO,OAAO,IAAI;EACrC,KAAK,MAAM,aAAa,YAAY;GACnC,IAAI,CAAC,iBAAiB,UAAU,OAAO,YAAY,KAAK,GAAG,KAAK,MAAM,QAAQ,UAAU,OAAO,QAAQ,QAAQ,UAAU,OAAO;GAChI,IAAI,MAAM,QAAQ,UAAU,OAAO,IAAI,KAAK,WAAW,UAAU,UAAU,KAAK,GAAG;IAClF,WAAW,UAAU,QAAQ,OAAO,OAAO,IAAI;IAC/C,WAAW,UAAU,KAAK,CAAC,kBAAkB;IAC7C,WAAW,UAAU,KAAK,CAAC,oBAAoB,UAAU,OAAO,KAAK;GACtE;EACD;EACA,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAAG,IAAI,QAAQ,KAAK;GACvD,WAAW,SAAS,IAAI,MAAM,GAAG,GAAG,OAAO,IAAI;GAC/C,UAAU,SAAS,UAAU;EAC9B;EACA,OAAO;GACN;GACA;EACD;CACD;CACA,oBAAoB;EACnB,MAAM,EAAE,MAAM,SAAS,gBAAgB,YAAY;EACnD,IAAI,CAAC,WAAW,CAAC,QAAQ,eAAe;EACxC,QAAQ,oBAAoB;EAC5B,QAAQ,iBAAiB;EACzB,QAAQ,kBAAkB;EAC1B,QAAQ,gBAAgB;EACxB,MAAM,aAAa,CAAC;EACpB,QAAQ,KAAK,SAAS,KAAK,UAAU;GACpC,IAAI,IAAI,UAAU,WAAW,KAAK,KAAK,MAAM,KAAK,CAAC;QAC9C,WAAW,KAAK,KAAK,MAAM;EACjC,CAAC;EACD,WAAW,KAAK,OAAO;EACvB,OAAO,QAAQ,cAAc,MAAM,MAAM,UAAU;CACpD;AACD;;;;AAOA,MAAM,OAAO,OAAO,OAAO,IAAI,IAAI,IAAI;;;ACvnBvC,eAAe,gBAAgB,MAAM;CACpC,MAAM,EAAE,aAAa,MAAM,OAAO;CAClC,MAAM,UAAU,MAAM,SAAS,MAAM,MAAM;CAC3C,OAAO,KAAK,MAAM,OAAO;AAC1B;AAOA,SAAS,UAAU,aAAa,MAAM;CACrC,MAAM,UAAU,YAAY;CAC5B,IAAI,OAAO,YAAY,YAAY,YAAY,MAAM;CACrD,MAAM,QAAQ,OAAO,QAAQ,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,IAAI,CAAC,GAAG;CAClE,OAAO,OAAO,UAAU,WAAW,QAAQ,KAAK;AACjD;AAWA,eAAe,qBAAqB,MAAM;CACzC,KAAK,MAAM,CAAC,UAAU,OAAO,OAAO,QAAQ;EAC3C,YAAY;EACZ,aAAa;EACb,qBAAqB;EACrB,kBAAkB;EAClB,aAAa;CACd,CAAC,GAAG,IAAI;EACP,MAAM,EAAE,WAAW,MAAM,OAAO;EAChC,MAAM,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;EACtC,OAAO;CACR,QAAQ,CAAC;CACT,IAAI;EACH,MAAM,SAAS,MAAM,gBAAgB,KAAK,KAAK,MAAM,cAAc,CAAC,EAAA,CAAG;EACvE,MAAM,KAAK,OAAO,UAAU,WAAW,MAAM,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK;EACtE,IAAI;GACH;GACA;GACA;GACA;EACD,CAAC,CAAC,SAAS,EAAE,GAAG,OAAO;CACxB,QAAQ,CAAC;CACT,MAAM,YAAY,QAAQ,IAAI,4BAA4B;CAC1D,IAAI,UAAU,WAAW,KAAK,GAAG,OAAO;CACxC,IAAI,UAAU,WAAW,MAAM,GAAG,OAAO;CACzC,IAAI,UAAU,WAAW,MAAM,GAAG,OAAO;CACzC,IAAI,UAAU,WAAW,KAAK,GAAG,OAAO;CACxC,OAAO;AACR;AACA,eAAe,kBAAkB,MAAM;CACtC,MAAM,KAAK,MAAM,qBAAqB,IAAI;CAC1C,IAAI;CACJ,QAAQ,IAAR;EACC,KAAK,OAAO,OAAO,qBAAqB,IAAI;EAC5C,KAAK,OAAO;GACX,SAAS,aAAa,MAAM,KAAK,GAAG;IACnC;IACA;IACA;IACA;IACA;IACA;GACD,GAAG;IACF,KAAK;IACL,UAAU;GACX,CAAC;GACD,MAAM,OAAO,KAAK,MAAM,MAAM;GAC9B,OAAO,OAAO,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,MAAM,MAAM,KAAK,EAAE;EACpF;EACA,KAAK;GACJ,SAAS,aAAa,MAAM,MAAM,GAAG;IACpC;IACA;IACA;IACA;IACA;GACD,GAAG;IACF,KAAK;IACL,UAAU;GACX,CAAC;GACD,OAAO,KAAK,MAAM,MAAM,CAAC,CAAC,KAAK,WAAW,EAAE,MAAM,MAAM,KAAK,EAAE;EAChE,KAAK;GACJ,SAAS,aAAa,MAAM,MAAM,GAAG;IACpC;IACA;IACA;GACD,GAAG;IACF,KAAK;IACL,UAAU;GACX,CAAC;GACD,OAAO,OAAO,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,SAAS,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,MAAM,KAAK,QAAQ,MAAM,MAAM,QAAQ,EAAE,EAAE;CAChJ;AACD;AACA,SAAS,qBAAqB,aAAa;CAC1C,MAAM,MAAM,YAAY;CACxB,IAAI,MAAM,QAAQ,GAAG,GAAG,OAAO;CAC/B,IAAI,OAAO,QAAQ,YAAY,QAAQ,QAAQ,cAAc,OAAO,MAAM,QAAQ,IAAI,QAAQ,GAAG,OAAO,IAAI;CAC5G,OAAO,CAAC;AACT;AACA,SAAS,MAAM,IAAI;CAClB,OAAO;AACR;AACA,eAAe,qBAAqB,MAAM;CACzC,MAAM,WAAW,qBAAqB,MAAM,gBAAgB,KAAK,KAAK,MAAM,cAAc,CAAC,CAAC;CAC5F,MAAM,EAAE,SAAS,MAAM,OAAO;CAC9B,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,WAAW,UAAU;EAC/B,MAAM,WAAW,KAAK,SAAS,EAAE,KAAK,KAAK,CAAC;EAC5C,WAAW,MAAM,SAAS,UAAU;GACnC,MAAM,WAAW,KAAK,QAAQ,MAAM,KAAK;GACzC,IAAI,CAAC,aAAa,SAAS,QAAQ,GAAG,aAAa,KAAK,QAAQ;EACjE;CACD;CACA,OAAO,aAAa,KAAK,OAAO,EAAE,MAAM,EAAE,EAAE;AAC7C;;;;;;;ACxHA,SAAS,iBAAiB,MAAM;CAC5B,IAAI,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,OACT,SAAS,MACT,OAAO,KAAK,OAAO,IAAI;MAGvB,OAAO;AAEf;;;;AAIA,SAAS,mBAAmB,KAAK;CAC7B,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAC5B,UAAU,iBAAiB,IAAI,EAAE;CAErC,OAAO;AACX;;;;AAIA,SAAS,UAAU,SAAS,WAAW;CACnC,IAAI,cAAc,KAAK,GAAK,YAAY;CACxC,IAAI,MAAM,QAAQ,OAAO,GAAG;EACxB,IAAI,iBAAiB,QAAQ,IAAI,SAAU,GAAG;GAAE,OAAO,IAAI,OAAO,UAAU,GAAG,SAAS,GAAG,GAAG;EAAG,CAAC;EAClG,OAAO,MAAM,OAAO,eAAe,KAAK,GAAG,GAAG,GAAG;CACrD;CACA,IAAI,oBAAoB;CACxB,IAAI,mBAAmB;CACvB,IAAI,WAAW;CACf,IAAI,cAAc,MAAM;EACpB,oBAAoB;EACpB,mBAAmB;EACnB,WAAW;CACf,OACK,IAAI,WAAW;EAChB,oBAAoB;EACpB,mBAAmB,mBAAmB,iBAAiB;EACvD,IAAI,iBAAiB,SAAS,GAAG;GAC7B,mBAAmB,MAAM,OAAO,kBAAkB,GAAG;GACrD,WAAW,OAAO,OAAO,kBAAkB,KAAK;EACpD,OAEI,WAAW,KAAK,OAAO,kBAAkB,GAAG;CAEpD;CACA,IAAI,oBAAoB,YAAY,GAAG,OAAO,kBAAkB,IAAI,IAAI;CACxE,IAAI,oBAAoB,YAAY,GAAG,OAAO,kBAAkB,IAAI,IAAI;CACxE,IAAI,WAAW,YAAY,QAAQ,MAAM,iBAAiB,IAAI,CAAC,OAAO;CACtE,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACtC,IAAI,UAAU,SAAS;EACvB,IAAI,cAAc,SAAS,IAAI;EAC/B,IAAI,mBAAmB;EACvB,IAAI,CAAC,WAAW,IAAI,GAChB;EAEJ,IAAI,WACA,IAAI,MAAM,SAAS,SAAS,GACxB,mBAAmB;OAElB,IAAI,gBAAgB,MACrB,mBAAmB;OAGnB,mBAAmB;EAG3B,IAAI,aAAa,YAAY,MAAM;GAC/B,IAAI,kBAAkB;IAClB,UACI,MAAM,IACA,KACA,MAAM,SAAS,SAAS,IACpB,MAAM,OAAO,mBAAmB,KAAK,IACrC;IACd,UAAU,MAAM,OAAO,UAAU,IAAI,CAAC,CAAC,OAAO,kBAAkB,KAAK;GACzE;GACA;EACJ;EACA,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;GACrC,IAAI,OAAO,QAAQ;GACnB,IAAI,SAAS;QACL,IAAI,QAAQ,SAAS,GAAG;KACxB,UAAU,iBAAiB,QAAQ,IAAI,EAAE;KACzC;IACJ;UAEC,IAAI,SAAS,KACd,UAAU;QAET,IAAI,SAAS,KACd,UAAU,GAAG,OAAO,UAAU,IAAI;QAGlC,UAAU,iBAAiB,IAAI;EAEvC;EACA,UAAU;CACd;CACA,OAAO;AACX;AAEA,SAAS,QAAQ,QAAQ,QAAQ;CAC7B,IAAI,OAAO,WAAW,UAClB,MAAM,IAAI,UAAU,gCAAgC,OAAO,OAAO,QAAQ,QAAQ,CAAC;CAEvF,OAAO,OAAO,KAAK,MAAM;AAC7B;;;;;;;;;;;;;;;;AAgBA,SAAS,cAAc,SAAS,SAAS;CACrC,IAAI,OAAO,YAAY,YAAY,CAAC,MAAM,QAAQ,OAAO,GACrD,MAAM,IAAI,UAAU,mFAAmF,OAAO,OAAO,SAAS,QAAQ,CAAC;CAE3I,IAAI,OAAO,YAAY,YAAY,OAAO,YAAY,WAClD,UAAU,EAAE,WAAW,QAAQ;CAEnC,IAAI,UAAU,WAAW,KACrB,EAAE,OAAO,YAAY,eAChB,OAAO,YAAY,YAAY,YAAY,QAAQ,CAAC,MAAM,QAAQ,OAAO,IAC9E,MAAM,IAAI,UAAU,oFAAoF,OAAO,OAAO,SAAS,QAAQ,CAAC;CAE5I,UAAU,WAAW,CAAC;CACtB,IAAI,QAAQ,cAAc,MACtB,MAAM,IAAI,MAAM,0GAA0G;CAE9H,IAAI,gBAAgB,UAAU,SAAS,QAAQ,SAAS;CACxD,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,eAAe,GAAG,GAAG,QAAQ,KAAK;CACrE,IAAI,KAAK,QAAQ,KAAK,MAAM,MAAM;CAClC,GAAG,UAAU;CACb,GAAG,UAAU;CACb,GAAG,SAAS;CACZ,OAAO;AACX;;;ACjKA,eAAe,sBAAsB,eAAe,MAAM,WAAW;CACpE,MAAM,cAAc,CAAC;CACrB,MAAM,UAAU,OAAO,QAAQ,iBAAiB,CAAC,CAAC;CAClD,KAAK,MAAM,CAAC,YAAY,kBAAkB,SAAS;EAClD,MAAM,WAAW,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;EAC9E,KAAK,MAAM,YAAY,WAAW;GACjC,MAAM,eAAe,KAAK,SAAS,MAAM,SAAS,IAAI;GACtD,MAAM,SAAS,WAAW,UAAU,YAAY;GAChD,IAAI,WAAW,KAAK,KAAK,OAAO,aAAa,OAAO,MAAM,cAAc,QAAQ,YAAY,UAAU,cAAc,WAAW;EAChI;CACD;CACA,OAAO;AACR;AACA,SAAS,eAAe,QAAQ,UAAU;CACzC,IAAI,OAAO,aAAa,YAAY,OAAO,SAAS,MAAM;CAC1D,IAAI,oBAAoB,QAAQ,OAAO,SAAS,KAAK,MAAM;CAC3D,OAAO,WAAW;AACnB;AACA,SAAS,YAAY,SAAS,cAAc;CAC3C,IAAI,YAAY,KAAK,OAAO;CAC5B,IAAI,YAAY,KAAK,OAAO,iBAAiB,OAAO,iBAAiB;CACrE,OAAOA,cAAQ,OAAO,CAAC,CAAC,YAAY;AACrC;AACA,SAAS,WAAW,UAAU,cAAc;CAC3C,KAAK,MAAM,WAAW,UAAU,IAAI,YAAY,SAAS,YAAY,GAAG,OAAO;CAC/E,OAAO;AACR;AACA,SAAS,cAAc,QAAQ,cAAc;CAC5C,MAAM,UAAU,OAAO,WAAW,CAAC,GAAG;CACtC,MAAM,UAAU,OAAO,WAAW,CAAC;CACnC,OAAO,WAAW,SAAS,YAAY,KAAK,CAAC,WAAW,SAAS,YAAY;AAC9E;AACA,SAAS,WAAW,UAAU,cAAc;CAC3C,KAAK,MAAM,UAAU,UAAU,IAAI,cAAc,QAAQ,YAAY,GAAG,OAAO;AAChF;AACA,eAAe,cAAc,QAAQ,YAAY,UAAU,cAAc,aAAa;CACrF,MAAM,cAAc,MAAM,gBAAgB,KAAK,KAAK,SAAS,MAAM,cAAc,CAAC;CAClF,MAAM,qBAAqB,YAAY,WAAW,KAAK,SAAS,SAAS,IAAI;CAC7E,MAAM,YAAY,UAAU,aAAa,UAAU,MAAM,KAAK;CAC9D,MAAM,WAAW,OAAO,YAAY;CACpC,IAAI,OAAO,aAAa,SAAS,CAAC,WAAW;EAC5C,YAAY,KAAK;GAChB,KAAK,OAAO,WAAW,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU,KAAK;GAClF,SAAS,4BAA4B,WAAW;GAChD,aAAa;GACb,aAAa,SAAS;GACtB;GACA;EACD,CAAC;EACD;CACD;CACA,IAAI,OAAO,YAAY,KAAK,KAAK,CAAC,WAAW;CAC7C,IAAI,OAAO,wBAAwB,KAAK,KAAK,WAAW,OAAO,qBAAqB,YAAY,GAAG;CACnG,MAAM,gBAAgB,UAAU,aAAa,UAAU;CACvD,IAAI,kBAAkB,KAAK,KAAK,eAAe,eAAe,OAAO,OAAO,GAAG;CAC/E,YAAY,KAAK;EAChB,QAAQ;EACR,UAAU,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU,KAAK;EACrE,KAAK,OAAO,WAAW,OAAO,OAAO,YAAY,WAAW,OAAO,UAAU,KAAK;EAClF,SAAS,kCAAkC,WAAW;EACtD,aAAa;EACb,aAAa,SAAS;EACtB;EACA;CACD,CAAC;AACF;AAGA,eAAe,QAAQ,QAAQ,MAAM,WAAW;CAC/C,MAAM,cAAc,CAAC;CACrB,MAAM,cAAc,MAAM,sBAAsB,OAAO,SAAS,MAAM,SAAS;CAC/E,YAAY,KAAK,GAAG,WAAW;CAC/B,OAAO;AACR;;;ACnEA,IAAI,UAAU;AAGd,SAAS,kBAAkB,aAAa,SAAS;CAChD,KAAK,SAAS,UAAU,cAAc,QAAQ,OAAO,WAAW,WAAW;CAC3E,OAAO,aAAa,aAAa,SAAS,QAAQ;AACnD;AACA,SAAS,WAAW,aAAa;CAChC,OAAO,GAAG,KAAK,UAAU,aAAa,KAAK,GAAG,CAAC,EAAE;AAClD;AACA,SAAS,aAAa,aAAa,UAAU;CAC5C,IAAI,YAAY,WAAW,GAAG,OAAO,UAAU,CAAC,QAAQ,OAAO,GAAG,oBAAoB;CACtF,MAAM,QAAQ,CAAC;CACf,MAAM,4BAA4B,IAAI,IAAI;CAC1C,KAAK,MAAM,KAAK,aAAa;EAC5B,MAAM,QAAQ,UAAU,IAAI,EAAE,WAAW;EACzC,IAAI,OAAO,MAAM,KAAK,CAAC;OAClB,UAAU,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;CACtC;CACA,KAAK,MAAM,CAAC,aAAa,UAAU,WAAW;EAC7C,MAAM,KAAK,IAAI,MAAM,UAAU,CAAC,QAAQ,MAAM,GAAG,WAAW,GAAG;EAC/D,KAAK,MAAM,KAAK,OAAO,eAAe,OAAO,GAAG,QAAQ;CACzD;CACA,MAAM,aAAa,YAAY,QAAQ,MAAM,EAAE,aAAa,OAAO,CAAC,CAAC;CACrE,MAAM,eAAe,YAAY,QAAQ,MAAM,EAAE,aAAa,MAAM,CAAC,CAAC;CACtE,MAAM,aAAa,CAAC;CACpB,IAAI,aAAa,GAAG,WAAW,KAAK,UAAU,OAAO,GAAG,OAAO,UAAU,EAAE,UAAU,CAAC;CACtF,IAAI,eAAe,GAAG,WAAW,KAAK,UAAU,UAAU,GAAG,OAAO,YAAY,EAAE,YAAY,CAAC;CAC/F,MAAM,UAAU,WAAW,KAAK,IAAI;CACpC,MAAM,cAAc,YAAY,OAAO,YAAY,MAAM,EAAE,cAAc,QAAQ,SAAS,IAAI,UAAU;CACxG,MAAM,KAAK,IAAI,UAAU,OAAO,WAAW,CAAC;CAC5C,IAAI,UAAU;EACb,MAAM,eAAe,YAAY,QAAQ,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,CAAC,CAAC;EAC9E,MAAM,KAAK,IAAI,UAAU,OAAO,eAAe,OAAO,YAAY,EAAE,mBAAmB,CAAC;CACzF;CACA,OAAO,MAAM,KAAK,IAAI;AACvB;AACA,SAAS,eAAe,OAAO,GAAG,UAAU;CAC3C,MAAM,QAAQ,cAAc,EAAE,QAAQ;CACtC,MAAM,QAAQ,cAAc,EAAE,QAAQ;CACtC,MAAM,KAAK,KAAK,MAAM,GAAG,MAAM,GAAG,EAAE,SAAS;CAC7C,IAAI,EAAE,YAAY,EAAE,QAAQ,MAAM,KAAK,YAAY,UAAU,OAAO,WAAW,EAAE,GAAG,UAAU,QAAQ,EAAE,QAAQ,KAAK,YAAY,UAAU,OAAO,SAAS,EAAE,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG;MACzL,IAAI,EAAE,UAAU,MAAM,KAAK,YAAY,UAAU,OAAO,WAAW,EAAE,GAAG,UAAU,QAAQ,EAAE,QAAQ,GAAG;MACvG,IAAI,EAAE,QAAQ,MAAM,KAAK,YAAY,UAAU,OAAO,SAAS,EAAE,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG;CACvG,IAAI,EAAE,KAAK;EACV,MAAM,QAAQ,UAAU,OAAO,WAAW,eAAe,MAAM;EAC/D,MAAM,OAAO,WAAW,OAAO;EAC/B,MAAM,KAAK,YAAY,KAAK,GAAG,MAAM,GAAG,EAAE,KAAK;CAChD;AACD;AACA,SAAS,cAAc,UAAU;CAChC,IAAI,aAAa,SAAS,OAAO,UAAU,CAAC,QAAQ,KAAK,GAAG,OAAO;CACnE,IAAI,aAAa,QAAQ,OAAO,UAAU,CAAC,QAAQ,QAAQ,GAAG,MAAM;CACpE,OAAO,UAAU,QAAQ,KAAK;AAC/B;AACA,SAAS,cAAc,UAAU;CAChC,IAAI,aAAa,SAAS,OAAO;CACjC,IAAI,aAAa,QAAQ,OAAO;CAChC,OAAO;AACR;AAGA,eAAe,iBAAiB,aAAa,SAAS;CACrD,MAAM,UAAU,YAAY,QAAQ,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK;CACvE,MAAM,WAAW,SAAS,YAAY;CACtC,IAAI,QAAQ;CACZ,IAAI,SAAS;CACb,MAAM,2BAA2B,IAAI,IAAI;CACzC,KAAK,MAAM,KAAK,SAAS;EACxB,IAAI,CAAC,EAAE,KAAK;EACZ,IAAI,UAAU;GACb;GACA,SAAS,IAAI,EAAE,WAAW;GAC1B;EACD;EACA,IAAI;GACH,MAAM,kBAAkB,KAAK,KAAK,EAAE,aAAa,cAAc;GAC/D,MAAM,EAAE,UAAU,cAAc,MAAM,OAAO;GAC7C,MAAM,UAAU,MAAM,SAAS,iBAAiB,MAAM;GACtD,MAAM,WAAW,KAAK,MAAM,OAAO;GACnC,MAAM,aAAa,EAAE;GACrB,IAAI,CAAC,YAAY;GACjB,MAAM,gBAAgB,SAAS;GAC/B,IAAI,eAAe;IAClB,MAAM,UAAU,OAAO,QAAQ,aAAa;IAC5C,IAAI,CAAC,OAAO,OAAO,eAAe,UAAU,GAAG,QAAQ,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC;IAC/E,SAAS,aAAa,OAAO,YAAY,QAAQ,KAAK,CAAC,MAAM,aAAa;KACzE,OAAO,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO,OAAO,IAAI,CAAC,MAAM,OAAO;IACvE,CAAC,CAAC;GACH;GACA,MAAM,UAAU,iBAAiB,GAAG,KAAK,UAAU,UAAU,KAAK,GAAG,CAAC,EAAE,KAAK,MAAM;GACnF;GACA,SAAS,IAAI,EAAE,WAAW;EAC3B,QAAQ;GACP;EACD;CACD;CACA,OAAO;EACN;EACA;EACA;EACA,cAAc,SAAS;CACxB;AACD;AAGA,eAAe,MAAM,SAAS;CAC7B,MAAM,MAAM,QAAQ,IAAI;CACxB,IAAI;CACJ,IAAI;EACH,SAAS,MAAM,WAAW,GAAG;CAC9B,QAAQ;EACP,MAAM,IAAI,MAAM,+DAA+D;CAChF;CACA,MAAM,WAAW,MAAM,kBAAkB,GAAG;CAC5C,IAAI,SAAS,WAAW,GAAG,MAAM,IAAI,MAAM,8BAA8B;CACzE,MAAM,cAAc,MAAM,QAAQ,QAAQ,KAAK,QAAQ;CACvD,IAAI;CACJ,IAAI,QAAQ,KAAK,aAAa,MAAM,iBAAiB,aAAa,EAAE,UAAU,QAAQ,SAAS,CAAC;CAChG,IAAI,QAAQ,WAAW,QAAQ;EAC9B,QAAQ,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,YAAY;EAChE,QAAQ,IAAI;CACb;CACA,QAAQ,IAAI,kBAAkB,aAAa;EAC1C,QAAQ,QAAQ;EAChB,UAAU,QAAQ;CACnB,CAAC,CAAC;CACF,IAAI,YAAY,IAAI,WAAW,UAAU;EACxC,MAAM,UAAU,eAAe,OAAO,WAAW,KAAK,EAAE,sBAAsB,OAAO,WAAW,MAAM,EAAE;EACxG,QAAQ,IAAI,UAAU,OAAO,OAAO,CAAC;CACtC,OAAO;EACN,MAAM,UAAU,WAAW,OAAO,WAAW,KAAK,EAAE,mBAAmB,OAAO,WAAW,YAAY,EAAE;EACvG,QAAQ,IAAI,UAAU,CAAC,QAAQ,OAAO,GAAG,OAAO,CAAC;CAClD;AACD;AAGA,eAAe,SAAS;CACvB,MAAM,MAAM,QAAQ,IAAI;CACxB,MAAM,SAAS,CAAC;CAChB,IAAI;EACH,MAAM,SAAS,MAAM,WAAW,GAAG;EACnC,OAAO,KAAK;GACX,SAAS;GACT,UAAU;EACX,CAAC;EACD,oBAAoB,QAAQ,MAAM;CACnC,QAAQ;EACP,OAAO,KAAK;GACX,SAAS;GACT,UAAU;EACX,CAAC;CACF;CACA,IAAI;EACH,MAAM,gBAAgB,MAAM,kBAAkB,GAAG,EAAA,CAAG;EACpD,IAAI,iBAAiB,GAAG,OAAO,KAAK;GACnC,SAAS;GACT,UAAU;EACX,CAAC;OACI,OAAO,KAAK;GAChB,SAAS,YAAY,OAAO,YAAY,EAAE;GAC1C,UAAU;EACX,CAAC;CACF,QAAQ;EACP,OAAO,KAAK;GACX,SAAS;GACT,UAAU;EACX,CAAC;CACF;CACA,QAAQ,IAAI;CACZ,QAAQ,IAAI,KAAK,UAAU,QAAQ,yBAAyB,GAAG;CAC/D,QAAQ,IAAI;CACZ,IAAI,OAAO,WAAW,GAAG;EACxB,QAAQ,IAAI,KAAK,UAAU,CAAC,QAAQ,OAAO,GAAG,0BAA0B,GAAG;EAC3E;CACD;CACA,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,OAAO,MAAM,aAAa,UAAU,MAAM;EAChD,MAAM,QAAQ,MAAM,aAAa,UAAU,UAAU,CAAC,QAAQ,KAAK,GAAG,OAAO,IAAI,UAAU,CAAC,QAAQ,QAAQ,GAAG,MAAM;EACrH,QAAQ,IAAI,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,SAAS;CAClD;CACA,MAAM,aAAa,OAAO,QAAQ,UAAU,MAAM,aAAa,OAAO,CAAC,CAAC;CACxE,MAAM,eAAe,OAAO,QAAQ,UAAU,MAAM,aAAa,MAAM,CAAC,CAAC;CACzE,MAAM,UAAU,UAAU,OAAO,SAAS,GAAG,OAAO,UAAU,EAAE,WAAW,IAAI,GAAG,OAAO,YAAY,EAAE,cAAc;CACrH,QAAQ,IAAI;CACZ,QAAQ,IAAI,KAAK,SAAS;CAC1B,IAAI,aAAa,GAAG;EACnB,MAAM,MAAM,UAAU,CAAC,QAAQ,MAAM,GAAG,SAAS;EACjD,MAAM,OAAO,UAAU,OAAO,YAAY;EAC1C,QAAQ,IAAI;EACZ,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,sCAAsC;CACxE;AACD;AACA,SAAS,oBAAoB,QAAQ,QAAQ;CAC5C,MAAM,UAAU,OAAO;CACvB,IAAI,CAAC,SAAS;CACd,KAAK,MAAM,CAAC,MAAM,kBAAkB,OAAO,QAAQ,OAAO,GAAG;EAC5D,MAAM,WAAW,MAAM,QAAQ,aAAa,IAAI,gBAAgB,CAAC,aAAa;EAC9E,KAAK,MAAM,UAAU,UAAU;GAC9B,MAAM,MAAM,OAAO;GACnB,IAAI,QAAQ,KAAK,KAAK,CAAC;IACtB;IACA;IACA;GACD,CAAC,CAAC,SAAS,GAAG,GAAG,OAAO,KAAK;IAC5B,SAAS,kBAAkB,KAAK,0BAA0B,IAAI;IAC9D,UAAU;GACX,CAAC;EACF;CACD;AACD;AAGA,MAAM,WAAW;EACf,MAAM,UAAU,QAAQ,CAAC;EACzB,MAAM,UAAU,WAAW,CAAC;EAC5B,MAAM,UAAU,SAAS,CAAC;EAC1B,MAAM,UAAU,UAAU,CAAC;EAC3B,MAAM,UAAU,QAAQ,CAAC;AAC3B;AACA,MAAM,aAAa;CAClB;EACC;EACA;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;EACA;CACD;CACA;EACC;EACA;EACA;EACA;EACA;EACA;CACD;AACD;AACA,MAAM,cAAc;AACpB,SAAS,eAAe;CACvB,MAAM,QAAQ,CAAC,EAAE;CACjB,KAAK,IAAI,WAAW,GAAG,WAAW,GAAG,YAAY,MAAM,KAAK,YAAY,QAAQ,CAAC;CACjF,MAAM,cAAc,UAAU,QAAQ,WAAW;CACjD,MAAM,KAAK,aAAa,EAAE;CAC1B,OAAO,MAAM,KAAK,IAAI;AACvB;AACA,SAAS,YAAY,UAAU;CAC9B,IAAI,MAAM;CACV,KAAK,IAAI,cAAc,GAAG,cAAc,GAAG,eAAe;EACzD,OAAO,QAAQ,aAAa,QAAQ;EACpC,IAAI,cAAc,GAAG,OAAO;CAC7B;CACA,OAAO;AACR;AACA,SAAS,QAAQ,aAAa,UAAU;CACvC,MAAM,OAAO,WAAW,GAAG,WAAW;CACtC,MAAM,gBAAgB,SAAS,GAAG,WAAW;CAC7C,IAAI,SAAS,KAAK,KAAK,kBAAkB,KAAK,GAAG,OAAO;CACxD,MAAM,OAAO,KAAK,GAAG,QAAQ;CAC7B,OAAO,SAAS,KAAK,IAAI,KAAK,cAAc,IAAI;AACjD;AAGA,MAAM,kBAAkB;CACvB;CACA;CACA;CACA;CACA;CACA;AACD;AACA,MAAM,gBAAgB;AACtB,SAAS,SAAS,OAAO;CACxB,OAAO,MAAM,OAAO,EAAE;AACvB;AACA,MAAM,iBAAiB;;;;;;;;;;AAUvB,eAAe,WAAW,KAAK,aAAa;CAC3C,MAAM,kBAAkB,YAAY;CACpC,MAAM,6BAA6B,YAAY;CAC/C,MAAM,EAAE,WAAW,MAAM,OAAO;CAChC,IAAI;EACH,MAAM,OAAO,KAAK,KAAK,KAAK,eAAe,CAAC;EAC5C,OAAO;CACR,QAAQ,CAAC;CACT,IAAI,OAAO,oBAAoB,YAAY,oBAAoB,QAAQ,OAAO,OAAO,iBAAiB,YAAY,GAAG,OAAO;CAC5H,IAAI,OAAO,+BAA+B,YAAY,+BAA+B,QAAQ,OAAO,OAAO,4BAA4B,YAAY,GAAG,OAAO;CAC7J,OAAO;AACR;AACA,eAAe,KAAK,SAAS;CAC5B,MAAM,EAAE,MAAM,MAAM,iBAAiB;CACrC,MAAM,MAAM,QAAQ,QAAQ,IAAI;CAChC,QAAQ,IAAI,aAAa,CAAC;CAC1B,MAAM,kBAAkB,MAAM,oBAAoB,GAAG;CACrD,IAAI,oBAAoB,KAAK,GAAG;CAChC,MAAM,OAAO,gBAAgB,MAAM,WAAW,KAAK,eAAe;CAClE,IAAI,CAAC,gBAAgB,SAAS,IAAI,GAAG;EACpC,MAAM,qBAAqB,uBAAuB,KAAK,gBAAgB,gBAAgB,KAAK,IAAI;EAChG,QAAQ,MAAM,KAAK,UAAU,UAAU,kBAAkB,GAAG;EAC5D,QAAQ,WAAW;EACnB;CACD;CACA,MAAM,WAAW,gBAAgB;CACjC,MAAM,aAAa,KAAK,KAAK,KAAK,QAAQ;CAC1C,IAAI,CAAC,MAAM,qBAAqB,YAAY,QAAQ,GAAG;CACvD,IAAI,iBAAiB;CACrB,IAAI,WAAW,CAAC;CAChB,IAAI;EACH,WAAW,MAAM,kBAAkB,GAAG;EACtC,IAAI,SAAS,SAAS,GAAG,iBAAiB,iBAAiB,OAAO,SAAS,MAAM,EAAE;CACpF,QAAQ;EACP,iBAAiB;CAClB;CACA,MAAM,KAAK,MAAM,qBAAqB,GAAG;CACzC,MAAM,cAAc;EACnB;EACA;EACA;CACD,CAAC,CAAC,SAAS,IAAI,IAAI,eAAe;CAClC,MAAM,OAAO,MAAM,UAAU,OAAO,CAAC;CACrC,MAAM,QAAQ,MAAM,UAAU,QAAQ,CAAC;CACvC,MAAM,cAAc,gBAAgB,MAAM;CAC1C,MAAM,aAAa,IAAI,KAAK,IAAI,OAAO,UAAU,EAAE,YAAY,IAAI,OAAO,UAAU,GAAG;CACvF,MAAM,gBAAgB,IAAI,KAAK,IAAI,OAAO,aAAa,GAAG;CAC1D,MAAM,cAAc,IAAI,OAAO,EAAE;CACjC,QAAQ,IAAI,UAAU;CACtB,QAAQ,IAAI,OAAO,IAAI,SAAS,YAAY,CAAC,EAAE,GAAG,KAAK,cAAc,GAAG;CACxE,IAAI,SAAS,SAAS,GAAG,KAAK,MAAM,YAAY,UAAU;EACzD,MAAM,SAAS,IAAI,KAAK,KAAK,SAAS,KAAK,SAAS,IAAI,GAAG;EAC3D,QAAQ,IAAI,OAAO,cAAc,QAAQ;CAC1C;CACA,QAAQ,IAAI,OAAO,IAAI,SAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG;CAClE,QAAQ,IAAI,OAAO,IAAI,SAAS,WAAW,CAAC,EAAE,GAAG,KAAK,WAAW,GAAG;CACpE,QAAQ,IAAI,aAAa;CACzB,QAAQ,IAAI;CACZ,IAAI,CAAC,MAAM;EACV,MAAM,cAAc,aAAa,oDAAoD;EACrF,IAAI;GACH,MAAM,eAAe,IAAI,GAAG;GAC5B,YAAY;GACZ,QAAQ,IAAI,oDAAoD;GAChE,QAAQ,IAAI;EACb,SAAS,OAAO;GACf,YAAY;GACZ,MAAM,cAAc,UAAU,OAAO,KAAK,wBAAwB,OAAO,KAAK,KAAK;GACnF,QAAQ,IAAI,KAAK,aAAa;GAC9B,QAAQ,IAAI,KAAK,UAAU,OAAO,iEAAiE,GAAG;GACtG,QAAQ,IAAI;GACZ,QAAQ,WAAW;GACnB;EACD;CACD;CACA,MAAM,EAAE,cAAc,MAAM,OAAO;CACnC,MAAM,UAAU,YAAY,gBAAgB,MAAM;CAClD,MAAM,iBAAiB,aAAa;CACpC,QAAQ,IAAI,KAAK,UAAU,CAAC,QAAQ,OAAO,GAAG,cAAc,GAAG;CAC/D,QAAQ,IAAI;CACZ,MAAM,OAAO;CACb,QAAQ,IAAI;CACZ,QAAQ,IAAI,KAAK,UAAU,OAAO,aAAa,GAAG;CAClD,QAAQ,IAAI,SAAS,UAAU,OAAO,MAAM,EAAE,GAAG,UAAU,QAAQ,QAAQ,EAAE,GAAG,UAAU,OAAO,6BAA6B,GAAG;CACjI,QAAQ,IAAI,SAAS,UAAU,OAAO,KAAK,EAAE,GAAG,UAAU,QAAQ,aAAa,EAAE,GAAG,UAAU,OAAO,6BAA6B,GAAG;CACrI,QAAQ,IAAI,SAAS,UAAU,OAAO,KAAK,EAAE,GAAG,UAAU,QAAQ,WAAW,EAAE,GAAG,UAAU,OAAO,2BAA2B,GAAG;CACjI,QAAQ,IAAI;AACb;AACA,eAAe,qBAAqB,YAAY,UAAU;CACzD,MAAM,EAAE,WAAW,MAAM,OAAO;CAChC,IAAI;EACH,MAAM,OAAO,UAAU;CACxB,QAAQ;EACP,OAAO;CACR;CACA,IAAI,CAAC,MAAM,OAAO,OAAO;CACzB,MAAM,KAAK,gBAAgB;EAC1B,OAAO;EACP,QAAQ,QAAQ;CACjB,CAAC;CACD,MAAM,UAAU,GAAG,SAAS;CAC5B,MAAM,SAAS,MAAM,GAAG,SAAS,KAAK,UAAU,OAAO,UAAU,SAAS,GAAG;CAC7E,GAAG,MAAM;CACT,IAAI,OAAO,KAAK,CAAC,CAAC,WAAW,GAAG,OAAO;CACvC,OAAO,OAAO,YAAY,MAAM,OAAO,OAAO,YAAY,MAAM;AACjE;AACA,SAAS,iBAAiB,IAAI;CAC7B,QAAQ,IAAR;EACC,KAAK,OAAO,OAAO;GAClB;GACA;GACA;EACD;EACA,KAAK,OAAO,OAAO;GAClB;GACA;GACA;EACD;EACA,KAAK,QAAQ,OAAO;GACnB;GACA;GACA;EACD;EACA,SAAS,OAAO;GACf;GACA;GACA;EACD;CACD;AACD;AACA,SAAS,eAAe,IAAI,MAAM;CACjC,OAAO,IAAI,SAAS,SAAS,WAAW;EACvC,MAAM,QAAQ,SAAS,IAAI,iBAAiB,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC;EAC9D,MAAM,GAAG,SAAS,SAAS;GAC1B,IAAI,SAAS,GAAG,QAAQ;QACnB,uBAAuB,IAAI,MAAM,aAAa,OAAO,IAAI,GAAG,CAAC;EACnE,CAAC;EACD,MAAM,GAAG,SAAS,MAAM;CACzB,CAAC;AACF;AACA,eAAe,oBAAoB,KAAK;CACvC,IAAI;EACH,OAAO,MAAM,gBAAgB,KAAK,KAAK,KAAK,cAAc,CAAC;CAC5D,QAAQ;EACP,QAAQ,IAAI;EACZ,QAAQ,IAAI,KAAK,UAAU,UAAU,+CAA+C,GAAG;EACvF,QAAQ,IAAI,gCAAgC,UAAU,QAAQ,YAAY,EAAE,QAAQ;EACpF,QAAQ,IAAI;EACZ,QAAQ,WAAW;EACnB;CACD;AACD;AACA,SAAS,aAAa,MAAM;CAC3B,MAAM,SAAS;EACd;EACA;EACA;EACA;EACA;EACA;CACD;CACA,IAAI,QAAQ;CACZ,MAAM,KAAK,kBAAkB;EAC5B,MAAM,SAAS,UAAU,OAAO,GAAG,OAAO,GAAG,KAAK,KAAK,GAAG,GAAG,MAAM;EACnE,QAAQ,OAAO,MAAM,OAAO,QAAQ;EACpC,SAAS,QAAQ,KAAK,OAAO;CAC9B,GAAG,EAAE;CACL,aAAa;EACZ,cAAc,EAAE;EAChB,QAAQ,OAAO,MAAM,UAAU;CAChC;AACD;AAGA,MAAM,MAAM,IAAI,OAAO;AACvB,IAAI,QAAQ,SAAS,mBAAmB,CAAC,CAAC,OAAO,kBAAkB,iCAAiC,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,OAAO,OAAO,YAAY;CACpJ,MAAM,MAAM,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;CACxE,IAAI;EACH,MAAM,MAAM;GACX,KAAK;GACL,QAAQ;EACT,CAAC;CACF,SAAS,OAAO;EACf,QAAQ,MAAM,OAAO,KAAK,CAAC;EAC3B,QAAQ,WAAW;CACpB;AACD,CAAC;AACD,IAAI,QAAQ,OAAO,uCAAuC,CAAC,CAAC,OAAO,aAAa,4CAA4C,CAAC,CAAC,OAAO,kBAAkB,iCAAiC,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,OAAO,OAAO,YAAY;CACxO,MAAM,WAAW,QAAQ,cAAc;CACvC,MAAM,MAAM,OAAO,QAAQ,cAAc,WAAW,QAAQ,YAAY;CACxE,IAAI;EACH,MAAM,MAAM;GACX,KAAK;GACL,QAAQ;GACR;EACD,CAAC;CACF,SAAS,OAAO;EACf,QAAQ,MAAM,OAAO,KAAK,CAAC;EAC3B,QAAQ,WAAW;CACpB;AACD,CAAC;AACD,IAAI,QAAQ,UAAU,+BAA+B,CAAC,CAAC,OAAO,YAAY;CACzE,MAAM,OAAO;AACd,CAAC;AACD,IAAI,QAAQ,QAAQ,uDAAuD,CAAC,CAAC,OAAO,iBAAiB,sEAAsE,CAAC,CAAC,OAAO,OAAO,YAAY;CACtM,MAAM,KAAK,EAAE,MAAM,OAAO,QAAQ,YAAY,WAAW,QAAQ,UAAU,KAAK,EAAE,CAAC;AACpF,CAAC;AACD,IAAI,KAAK;AACT,IAAI,QAAQ,OAAO;AACnB,IAAI,MAAM"}
1
+ {"version":3,"file":"cli.js","names":["wcmatch"],"sources":["../../../node_modules/.pnpm/cac@7.0.0/node_modules/cac/dist/index.js","../../workspace/dist/index.js","../../../node_modules/.pnpm/wildcard-match@5.1.4/node_modules/wildcard-match/build/index.es.mjs","../../core/dist/index.js","../../cli/dist/index.js"],"sourcesContent":["//#region node_modules/.pnpm/mri@1.2.0/node_modules/mri/lib/index.mjs\nfunction toArr(any) {\n\treturn any == null ? [] : Array.isArray(any) ? any : [any];\n}\nfunction toVal(out, key, val, opts) {\n\tvar x, old = out[key], nxt = !!~opts.string.indexOf(key) ? val == null || val === true ? \"\" : String(val) : typeof val === \"boolean\" ? val : !!~opts.boolean.indexOf(key) ? val === \"false\" ? false : val === \"true\" || (out._.push((x = +val, x * 0 === 0) ? x : val), !!val) : (x = +val, x * 0 === 0) ? x : val;\n\tout[key] = old == null ? nxt : Array.isArray(old) ? old.concat(nxt) : [old, nxt];\n}\nfunction lib_default(args, opts) {\n\targs = args || [];\n\topts = opts || {};\n\tvar k, arr, arg, name, val, out = { _: [] };\n\tvar i = 0, j = 0, idx = 0, len = args.length;\n\tconst alibi = opts.alias !== void 0;\n\tconst strict = opts.unknown !== void 0;\n\tconst defaults = opts.default !== void 0;\n\topts.alias = opts.alias || {};\n\topts.string = toArr(opts.string);\n\topts.boolean = toArr(opts.boolean);\n\tif (alibi) for (k in opts.alias) {\n\t\tarr = opts.alias[k] = toArr(opts.alias[k]);\n\t\tfor (i = 0; i < arr.length; i++) (opts.alias[arr[i]] = arr.concat(k)).splice(i, 1);\n\t}\n\tfor (i = opts.boolean.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.boolean[i]] || [];\n\t\tfor (j = arr.length; j-- > 0;) opts.boolean.push(arr[j]);\n\t}\n\tfor (i = opts.string.length; i-- > 0;) {\n\t\tarr = opts.alias[opts.string[i]] || [];\n\t\tfor (j = arr.length; j-- > 0;) opts.string.push(arr[j]);\n\t}\n\tif (defaults) for (k in opts.default) {\n\t\tname = typeof opts.default[k];\n\t\tarr = opts.alias[k] = opts.alias[k] || [];\n\t\tif (opts[name] !== void 0) {\n\t\t\topts[name].push(k);\n\t\t\tfor (i = 0; i < arr.length; i++) opts[name].push(arr[i]);\n\t\t}\n\t}\n\tconst keys = strict ? Object.keys(opts.alias) : [];\n\tfor (i = 0; i < len; i++) {\n\t\targ = args[i];\n\t\tif (arg === \"--\") {\n\t\t\tout._ = out._.concat(args.slice(++i));\n\t\t\tbreak;\n\t\t}\n\t\tfor (j = 0; j < arg.length; j++) if (arg.charCodeAt(j) !== 45) break;\n\t\tif (j === 0) out._.push(arg);\n\t\telse if (arg.substring(j, j + 3) === \"no-\") {\n\t\t\tname = arg.substring(j + 3);\n\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown(arg);\n\t\t\tout[name] = false;\n\t\t} else {\n\t\t\tfor (idx = j + 1; idx < arg.length; idx++) if (arg.charCodeAt(idx) === 61) break;\n\t\t\tname = arg.substring(j, idx);\n\t\t\tval = arg.substring(++idx) || i + 1 === len || (\"\" + args[i + 1]).charCodeAt(0) === 45 || args[++i];\n\t\t\tarr = j === 2 ? [name] : name;\n\t\t\tfor (idx = 0; idx < arr.length; idx++) {\n\t\t\t\tname = arr[idx];\n\t\t\t\tif (strict && !~keys.indexOf(name)) return opts.unknown(\"-\".repeat(j) + name);\n\t\t\t\ttoVal(out, name, idx + 1 < arr.length || val, opts);\n\t\t\t}\n\t\t}\n\t}\n\tif (defaults) {\n\t\tfor (k in opts.default) if (out[k] === void 0) out[k] = opts.default[k];\n\t}\n\tif (alibi) for (k in out) {\n\t\tarr = opts.alias[k] || [];\n\t\twhile (arr.length > 0) out[arr.shift()] = out[k];\n\t}\n\treturn out;\n}\n\n//#endregion\n//#region src/utils.ts\nfunction removeBrackets(v) {\n\treturn v.replace(/[<[].+/, \"\").trim();\n}\nfunction findAllBrackets(v) {\n\tconst ANGLED_BRACKET_RE_GLOBAL = /<([^>]+)>/g;\n\tconst SQUARE_BRACKET_RE_GLOBAL = /\\[([^\\]]+)\\]/g;\n\tconst res = [];\n\tconst parse = (match) => {\n\t\tlet variadic = false;\n\t\tlet value = match[1];\n\t\tif (value.startsWith(\"...\")) {\n\t\t\tvalue = value.slice(3);\n\t\t\tvariadic = true;\n\t\t}\n\t\treturn {\n\t\t\trequired: match[0].startsWith(\"<\"),\n\t\t\tvalue,\n\t\t\tvariadic\n\t\t};\n\t};\n\tlet angledMatch;\n\twhile (angledMatch = ANGLED_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(angledMatch));\n\tlet squareMatch;\n\twhile (squareMatch = SQUARE_BRACKET_RE_GLOBAL.exec(v)) res.push(parse(squareMatch));\n\treturn res;\n}\nfunction getMriOptions(options) {\n\tconst result = {\n\t\talias: {},\n\t\tboolean: []\n\t};\n\tfor (const [index, option] of options.entries()) {\n\t\tif (option.names.length > 1) result.alias[option.names[0]] = option.names.slice(1);\n\t\tif (option.isBoolean) if (option.negated) {\n\t\t\tif (!options.some((o, i) => {\n\t\t\t\treturn i !== index && o.names.some((name) => option.names.includes(name)) && typeof o.required === \"boolean\";\n\t\t\t})) result.boolean.push(option.names[0]);\n\t\t} else result.boolean.push(option.names[0]);\n\t}\n\treturn result;\n}\nfunction findLongest(arr) {\n\treturn arr.sort((a, b) => {\n\t\treturn a.length > b.length ? -1 : 1;\n\t})[0];\n}\nfunction padRight(str, length) {\n\treturn str.length >= length ? str : `${str}${\" \".repeat(length - str.length)}`;\n}\nfunction camelcase(input) {\n\treturn input.replaceAll(/([a-z])-([a-z])/g, (_, p1, p2) => {\n\t\treturn p1 + p2.toUpperCase();\n\t});\n}\nfunction setDotProp(obj, keys, val) {\n\tlet current = obj;\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tif (i === keys.length - 1) {\n\t\t\tcurrent[key] = val;\n\t\t\treturn;\n\t\t}\n\t\tif (current[key] == null) {\n\t\t\tconst nextKeyIsArrayIndex = +keys[i + 1] > -1;\n\t\t\tcurrent[key] = nextKeyIsArrayIndex ? [] : {};\n\t\t}\n\t\tcurrent = current[key];\n\t}\n}\nfunction setByType(obj, transforms) {\n\tfor (const key of Object.keys(transforms)) {\n\t\tconst transform = transforms[key];\n\t\tif (transform.shouldTransform) {\n\t\t\tobj[key] = [obj[key]].flat();\n\t\t\tif (typeof transform.transformFunction === \"function\") obj[key] = obj[key].map(transform.transformFunction);\n\t\t}\n\t}\n}\nfunction getFileName(input) {\n\tconst m = /([^\\\\/]+)$/.exec(input);\n\treturn m ? m[1] : \"\";\n}\nfunction camelcaseOptionName(name) {\n\treturn name.split(\".\").map((v, i) => {\n\t\treturn i === 0 ? camelcase(v) : v;\n\t}).join(\".\");\n}\nvar CACError = class extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = \"CACError\";\n\t\tif (typeof Error.captureStackTrace !== \"function\") this.stack = new Error(message).stack;\n\t}\n};\n\n//#endregion\n//#region src/option.ts\nvar Option = class {\n\trawName;\n\tdescription;\n\t/** Option name */\n\tname;\n\t/** Option name and aliases */\n\tnames;\n\tisBoolean;\n\trequired;\n\tconfig;\n\tnegated;\n\tconstructor(rawName, description, config) {\n\t\tthis.rawName = rawName;\n\t\tthis.description = description;\n\t\tthis.config = Object.assign({}, config);\n\t\trawName = rawName.replaceAll(\".*\", \"\");\n\t\tthis.negated = false;\n\t\tthis.names = removeBrackets(rawName).split(\",\").map((v) => {\n\t\t\tlet name = v.trim().replace(/^-{1,2}/, \"\");\n\t\t\tif (name.startsWith(\"no-\")) {\n\t\t\t\tthis.negated = true;\n\t\t\t\tname = name.replace(/^no-/, \"\");\n\t\t\t}\n\t\t\treturn camelcaseOptionName(name);\n\t\t}).sort((a, b) => a.length > b.length ? 1 : -1);\n\t\tthis.name = this.names.at(-1);\n\t\tif (this.negated && this.config.default == null) this.config.default = true;\n\t\tif (rawName.includes(\"<\")) this.required = true;\n\t\telse if (rawName.includes(\"[\")) this.required = false;\n\t\telse this.isBoolean = true;\n\t}\n};\n\n//#endregion\n//#region src/runtime.ts\nlet runtimeProcessArgs;\nlet runtimeInfo;\nif (typeof process !== \"undefined\") {\n\tlet runtimeName;\n\tif (typeof Deno !== \"undefined\" && typeof Deno.version?.deno === \"string\") runtimeName = \"deno\";\n\telse if (typeof Bun !== \"undefined\" && typeof Bun.version === \"string\") runtimeName = \"bun\";\n\telse runtimeName = \"node\";\n\truntimeInfo = `${process.platform}-${process.arch} ${runtimeName}-${process.version}`;\n\truntimeProcessArgs = process.argv;\n} else if (typeof navigator === \"undefined\") runtimeInfo = `unknown`;\nelse runtimeInfo = `${navigator.platform} ${navigator.userAgent}`;\n\n//#endregion\n//#region src/command.ts\nvar Command = class {\n\trawName;\n\tdescription;\n\tconfig;\n\tcli;\n\toptions;\n\taliasNames;\n\tname;\n\targs;\n\tcommandAction;\n\tusageText;\n\tversionNumber;\n\texamples;\n\thelpCallback;\n\tglobalCommand;\n\tconstructor(rawName, description, config = {}, cli) {\n\t\tthis.rawName = rawName;\n\t\tthis.description = description;\n\t\tthis.config = config;\n\t\tthis.cli = cli;\n\t\tthis.options = [];\n\t\tthis.aliasNames = [];\n\t\tthis.name = removeBrackets(rawName);\n\t\tthis.args = findAllBrackets(rawName);\n\t\tthis.examples = [];\n\t}\n\tusage(text) {\n\t\tthis.usageText = text;\n\t\treturn this;\n\t}\n\tallowUnknownOptions() {\n\t\tthis.config.allowUnknownOptions = true;\n\t\treturn this;\n\t}\n\tignoreOptionDefaultValue() {\n\t\tthis.config.ignoreOptionDefaultValue = true;\n\t\treturn this;\n\t}\n\tversion(version, customFlags = \"-v, --version\") {\n\t\tthis.versionNumber = version;\n\t\tthis.option(customFlags, \"Display version number\");\n\t\treturn this;\n\t}\n\texample(example) {\n\t\tthis.examples.push(example);\n\t\treturn this;\n\t}\n\t/**\n\t* Add a option for this command\n\t* @param rawName Raw option name(s)\n\t* @param description Option description\n\t* @param config Option config\n\t*/\n\toption(rawName, description, config) {\n\t\tconst option = new Option(rawName, description, config);\n\t\tthis.options.push(option);\n\t\treturn this;\n\t}\n\talias(name) {\n\t\tthis.aliasNames.push(name);\n\t\treturn this;\n\t}\n\taction(callback) {\n\t\tthis.commandAction = callback;\n\t\treturn this;\n\t}\n\t/**\n\t* Check if a command name is matched by this command\n\t* @param name Command name\n\t*/\n\tisMatched(name) {\n\t\treturn this.name === name || this.aliasNames.includes(name);\n\t}\n\tget isDefaultCommand() {\n\t\treturn this.name === \"\" || this.aliasNames.includes(\"!\");\n\t}\n\tget isGlobalCommand() {\n\t\treturn this instanceof GlobalCommand;\n\t}\n\t/**\n\t* Check if an option is registered in this command\n\t* @param name Option name\n\t*/\n\thasOption(name) {\n\t\tname = name.split(\".\")[0];\n\t\treturn this.options.find((option) => {\n\t\t\treturn option.names.includes(name);\n\t\t});\n\t}\n\toutputHelp() {\n\t\tconst { name, commands } = this.cli;\n\t\tconst { versionNumber, options: globalOptions, helpCallback } = this.cli.globalCommand;\n\t\tlet sections = [{ body: `${name}${versionNumber ? `/${versionNumber}` : \"\"}` }];\n\t\tsections.push({\n\t\t\ttitle: \"Usage\",\n\t\t\tbody: ` $ ${name} ${this.usageText || this.rawName}`\n\t\t});\n\t\tif ((this.isGlobalCommand || this.isDefaultCommand) && commands.length > 0) {\n\t\t\tconst longestCommandName = findLongest(commands.map((command) => command.rawName));\n\t\t\tsections.push({\n\t\t\t\ttitle: \"Commands\",\n\t\t\t\tbody: commands.map((command) => {\n\t\t\t\t\treturn ` ${padRight(command.rawName, longestCommandName.length)} ${command.description}`;\n\t\t\t\t}).join(\"\\n\")\n\t\t\t}, {\n\t\t\t\ttitle: `For more info, run any command with the \\`--help\\` flag`,\n\t\t\t\tbody: commands.map((command) => ` $ ${name}${command.name === \"\" ? \"\" : ` ${command.name}`} --help`).join(\"\\n\")\n\t\t\t});\n\t\t}\n\t\tlet options = this.isGlobalCommand ? globalOptions : [...this.options, ...globalOptions || []];\n\t\tif (!this.isGlobalCommand && !this.isDefaultCommand) options = options.filter((option) => option.name !== \"version\");\n\t\tif (options.length > 0) {\n\t\t\tconst longestOptionName = findLongest(options.map((option) => option.rawName));\n\t\t\tsections.push({\n\t\t\t\ttitle: \"Options\",\n\t\t\t\tbody: options.map((option) => {\n\t\t\t\t\treturn ` ${padRight(option.rawName, longestOptionName.length)} ${option.description} ${option.config.default === void 0 ? \"\" : `(default: ${option.config.default})`}`;\n\t\t\t\t}).join(\"\\n\")\n\t\t\t});\n\t\t}\n\t\tif (this.examples.length > 0) sections.push({\n\t\t\ttitle: \"Examples\",\n\t\t\tbody: this.examples.map((example) => {\n\t\t\t\tif (typeof example === \"function\") return example(name);\n\t\t\t\treturn example;\n\t\t\t}).join(\"\\n\")\n\t\t});\n\t\tif (helpCallback) sections = helpCallback(sections) || sections;\n\t\tconsole.info(sections.map((section) => {\n\t\t\treturn section.title ? `${section.title}:\\n${section.body}` : section.body;\n\t\t}).join(\"\\n\\n\"));\n\t}\n\toutputVersion() {\n\t\tconst { name } = this.cli;\n\t\tconst { versionNumber } = this.cli.globalCommand;\n\t\tif (versionNumber) console.info(`${name}/${versionNumber} ${runtimeInfo}`);\n\t}\n\tcheckRequiredArgs() {\n\t\tconst minimalArgsCount = this.args.filter((arg) => arg.required).length;\n\t\tif (this.cli.args.length < minimalArgsCount) throw new CACError(`missing required args for command \\`${this.rawName}\\``);\n\t}\n\t/**\n\t* Check if the parsed options contain any unknown options\n\t*\n\t* Exit and output error when true\n\t*/\n\tcheckUnknownOptions() {\n\t\tconst { options, globalCommand } = this.cli;\n\t\tif (!this.config.allowUnknownOptions) {\n\t\t\tfor (const name of Object.keys(options)) if (name !== \"--\" && !this.hasOption(name) && !globalCommand.hasOption(name)) throw new CACError(`Unknown option \\`${name.length > 1 ? `--${name}` : `-${name}`}\\``);\n\t\t}\n\t}\n\t/**\n\t* Check if the required string-type options exist\n\t*/\n\tcheckOptionValue() {\n\t\tconst { options: parsedOptions, globalCommand } = this.cli;\n\t\tconst options = [...globalCommand.options, ...this.options];\n\t\tfor (const option of options) {\n\t\t\tconst value = parsedOptions[option.name.split(\".\")[0]];\n\t\t\tif (option.required) {\n\t\t\t\tconst hasNegated = options.some((o) => o.negated && o.names.includes(option.name));\n\t\t\t\tif (value === true || value === false && !hasNegated) throw new CACError(`option \\`${option.rawName}\\` value is missing`);\n\t\t\t}\n\t\t}\n\t}\n\t/**\n\t* Check if the number of args is more than expected\n\t*/\n\tcheckUnusedArgs() {\n\t\tconst maximumArgsCount = this.args.some((arg) => arg.variadic) ? Infinity : this.args.length;\n\t\tif (maximumArgsCount < this.cli.args.length) throw new CACError(`Unused args: ${this.cli.args.slice(maximumArgsCount).map((arg) => `\\`${arg}\\``).join(\", \")}`);\n\t}\n};\nvar GlobalCommand = class extends Command {\n\tconstructor(cli) {\n\t\tsuper(\"@@global@@\", \"\", {}, cli);\n\t}\n};\n\n//#endregion\n//#region src/cac.ts\nvar CAC = class extends EventTarget {\n\t/** The program name to display in help and version message */\n\tname;\n\tcommands;\n\tglobalCommand;\n\tmatchedCommand;\n\tmatchedCommandName;\n\t/**\n\t* Raw CLI arguments\n\t*/\n\trawArgs;\n\t/**\n\t* Parsed CLI arguments\n\t*/\n\targs;\n\t/**\n\t* Parsed CLI options, camelCased\n\t*/\n\toptions;\n\tshowHelpOnExit;\n\tshowVersionOnExit;\n\t/**\n\t* @param name The program name to display in help and version message\n\t*/\n\tconstructor(name = \"\") {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.commands = [];\n\t\tthis.rawArgs = [];\n\t\tthis.args = [];\n\t\tthis.options = {};\n\t\tthis.globalCommand = new GlobalCommand(this);\n\t\tthis.globalCommand.usage(\"<command> [options]\");\n\t}\n\t/**\n\t* Add a global usage text.\n\t*\n\t* This is not used by sub-commands.\n\t*/\n\tusage(text) {\n\t\tthis.globalCommand.usage(text);\n\t\treturn this;\n\t}\n\t/**\n\t* Add a sub-command\n\t*/\n\tcommand(rawName, description, config) {\n\t\tconst command = new Command(rawName, description || \"\", config, this);\n\t\tcommand.globalCommand = this.globalCommand;\n\t\tthis.commands.push(command);\n\t\treturn command;\n\t}\n\t/**\n\t* Add a global CLI option.\n\t*\n\t* Which is also applied to sub-commands.\n\t*/\n\toption(rawName, description, config) {\n\t\tthis.globalCommand.option(rawName, description, config);\n\t\treturn this;\n\t}\n\t/**\n\t* Show help message when `-h, --help` flags appear.\n\t*\n\t*/\n\thelp(callback) {\n\t\tthis.globalCommand.option(\"-h, --help\", \"Display this message\");\n\t\tthis.globalCommand.helpCallback = callback;\n\t\tthis.showHelpOnExit = true;\n\t\treturn this;\n\t}\n\t/**\n\t* Show version number when `-v, --version` flags appear.\n\t*\n\t*/\n\tversion(version, customFlags = \"-v, --version\") {\n\t\tthis.globalCommand.version(version, customFlags);\n\t\tthis.showVersionOnExit = true;\n\t\treturn this;\n\t}\n\t/**\n\t* Add a global example.\n\t*\n\t* This example added here will not be used by sub-commands.\n\t*/\n\texample(example) {\n\t\tthis.globalCommand.example(example);\n\t\treturn this;\n\t}\n\t/**\n\t* Output the corresponding help message\n\t* When a sub-command is matched, output the help message for the command\n\t* Otherwise output the global one.\n\t*\n\t*/\n\toutputHelp() {\n\t\tif (this.matchedCommand) this.matchedCommand.outputHelp();\n\t\telse this.globalCommand.outputHelp();\n\t}\n\t/**\n\t* Output the version number.\n\t*\n\t*/\n\toutputVersion() {\n\t\tthis.globalCommand.outputVersion();\n\t}\n\tsetParsedInfo({ args, options }, matchedCommand, matchedCommandName) {\n\t\tthis.args = args;\n\t\tthis.options = options;\n\t\tif (matchedCommand) this.matchedCommand = matchedCommand;\n\t\tif (matchedCommandName) this.matchedCommandName = matchedCommandName;\n\t\treturn this;\n\t}\n\tunsetMatchedCommand() {\n\t\tthis.matchedCommand = void 0;\n\t\tthis.matchedCommandName = void 0;\n\t}\n\t/**\n\t* Parse argv\n\t*/\n\tparse(argv, { run = true } = {}) {\n\t\tif (!argv) {\n\t\t\tif (!runtimeProcessArgs) throw new Error(\"No argv provided and runtime process argv is not available.\");\n\t\t\targv = runtimeProcessArgs;\n\t\t}\n\t\tthis.rawArgs = argv;\n\t\tif (!this.name) this.name = argv[1] ? getFileName(argv[1]) : \"cli\";\n\t\tlet shouldParse = true;\n\t\tfor (const command of this.commands) {\n\t\t\tconst parsed = this.mri(argv.slice(2), command);\n\t\t\tconst commandName = parsed.args[0];\n\t\t\tif (command.isMatched(commandName)) {\n\t\t\t\tshouldParse = false;\n\t\t\t\tconst parsedInfo = {\n\t\t\t\t\t...parsed,\n\t\t\t\t\targs: parsed.args.slice(1)\n\t\t\t\t};\n\t\t\t\tthis.setParsedInfo(parsedInfo, command, commandName);\n\t\t\t\tthis.dispatchEvent(new CustomEvent(`command:${commandName}`, { detail: command }));\n\t\t\t}\n\t\t}\n\t\tif (shouldParse) {\n\t\t\tfor (const command of this.commands) if (command.isDefaultCommand) {\n\t\t\t\tshouldParse = false;\n\t\t\t\tconst parsed = this.mri(argv.slice(2), command);\n\t\t\t\tthis.setParsedInfo(parsed, command);\n\t\t\t\tthis.dispatchEvent(new CustomEvent(\"command:!\", { detail: command }));\n\t\t\t}\n\t\t}\n\t\tif (shouldParse) {\n\t\t\tconst parsed = this.mri(argv.slice(2));\n\t\t\tthis.setParsedInfo(parsed);\n\t\t}\n\t\tif (this.options.help && this.showHelpOnExit) {\n\t\t\tthis.outputHelp();\n\t\t\trun = false;\n\t\t\tthis.unsetMatchedCommand();\n\t\t}\n\t\tif (this.options.version && this.showVersionOnExit && this.matchedCommandName == null) {\n\t\t\tthis.outputVersion();\n\t\t\trun = false;\n\t\t\tthis.unsetMatchedCommand();\n\t\t}\n\t\tconst parsedArgv = {\n\t\t\targs: this.args,\n\t\t\toptions: this.options\n\t\t};\n\t\tif (run) this.runMatchedCommand();\n\t\tif (!this.matchedCommand && this.args[0]) this.dispatchEvent(new CustomEvent(\"command:*\", { detail: this.args[0] }));\n\t\treturn parsedArgv;\n\t}\n\tmri(argv, command) {\n\t\tconst cliOptions = [...this.globalCommand.options, ...command ? command.options : []];\n\t\tconst mriOptions = getMriOptions(cliOptions);\n\t\tlet argsAfterDoubleDashes = [];\n\t\tconst doubleDashesIndex = argv.indexOf(\"--\");\n\t\tif (doubleDashesIndex !== -1) {\n\t\t\targsAfterDoubleDashes = argv.slice(doubleDashesIndex + 1);\n\t\t\targv = argv.slice(0, doubleDashesIndex);\n\t\t}\n\t\tlet parsed = lib_default(argv, mriOptions);\n\t\tparsed = Object.keys(parsed).reduce((res, name) => {\n\t\t\treturn {\n\t\t\t\t...res,\n\t\t\t\t[camelcaseOptionName(name)]: parsed[name]\n\t\t\t};\n\t\t}, { _: [] });\n\t\tconst args = parsed._;\n\t\tconst options = { \"--\": argsAfterDoubleDashes };\n\t\tconst ignoreDefault = command && command.config.ignoreOptionDefaultValue ? command.config.ignoreOptionDefaultValue : this.globalCommand.config.ignoreOptionDefaultValue;\n\t\tconst transforms = Object.create(null);\n\t\tfor (const cliOption of cliOptions) {\n\t\t\tif (!ignoreDefault && cliOption.config.default !== void 0) for (const name of cliOption.names) options[name] = cliOption.config.default;\n\t\t\tif (Array.isArray(cliOption.config.type) && transforms[cliOption.name] === void 0) {\n\t\t\t\ttransforms[cliOption.name] = Object.create(null);\n\t\t\t\ttransforms[cliOption.name].shouldTransform = true;\n\t\t\t\ttransforms[cliOption.name].transformFunction = cliOption.config.type[0];\n\t\t\t}\n\t\t}\n\t\tfor (const key of Object.keys(parsed)) if (key !== \"_\") {\n\t\t\tsetDotProp(options, key.split(\".\"), parsed[key]);\n\t\t\tsetByType(options, transforms);\n\t\t}\n\t\treturn {\n\t\t\targs,\n\t\t\toptions\n\t\t};\n\t}\n\trunMatchedCommand() {\n\t\tconst { args, options, matchedCommand: command } = this;\n\t\tif (!command || !command.commandAction) return;\n\t\tcommand.checkUnknownOptions();\n\t\tcommand.checkOptionValue();\n\t\tcommand.checkRequiredArgs();\n\t\tcommand.checkUnusedArgs();\n\t\tconst actionArgs = [];\n\t\tcommand.args.forEach((arg, index) => {\n\t\t\tif (arg.variadic) actionArgs.push(args.slice(index));\n\t\t\telse actionArgs.push(args[index]);\n\t\t});\n\t\tactionArgs.push(options);\n\t\treturn command.commandAction.apply(this, actionArgs);\n\t}\n};\n\n//#endregion\n//#region src/index.ts\n/**\n* @param name The program name to display in help and version message\n*/\nconst cac = (name = \"\") => new CAC(name);\n\n//#endregion\nexport { CAC, Command, cac, cac as default };","import { execFileSync } from \"node:child_process\";\nimport path from \"node:path\";\n//#region src/package-json.ts\nasync function readPackageJson(path) {\n\tconst { readFile } = await import(\"node:fs/promises\");\n\tconst content = await readFile(path, \"utf8\");\n\treturn JSON.parse(content);\n}\nasync function writePackageJson(filePath, data) {\n\tconst { writeFile } = await import(\"node:fs/promises\");\n\tawait writeFile(filePath, `${JSON.stringify(data, void 0, 2)}\\n`, \"utf8\");\n}\n//#endregion\n//#region src/scripts.ts\nfunction getScript(packageJson, name) {\n\tconst scripts = packageJson[\"scripts\"];\n\tif (typeof scripts !== \"object\" || scripts === null) return;\n\tconst value = Object.entries(scripts).find(([k]) => k === name)?.[1];\n\treturn typeof value === \"string\" ? value : void 0;\n}\nfunction setScript(packageJson, name, command) {\n\tlet scripts = packageJson[\"scripts\"];\n\tif (typeof scripts !== \"object\" || scripts === null) {\n\t\tscripts = {};\n\t\tpackageJson[\"scripts\"] = scripts;\n\t}\n\tObject.assign(scripts, { [name]: command });\n}\n//#endregion\n//#region src/workspace.ts\nasync function detectPackageManager(root) {\n\tfor (const [lockFile, pm] of Object.entries({\n\t\t\"bun.lock\": \"bun\",\n\t\t\"bun.lockb\": \"bun\",\n\t\t\"package-lock.json\": \"npm\",\n\t\t\"pnpm-lock.yaml\": \"pnpm\",\n\t\t\"yarn.lock\": \"yarn\"\n\t})) try {\n\t\tconst { access } = await import(\"node:fs/promises\");\n\t\tawait access(path.join(root, lockFile));\n\t\treturn pm;\n\t} catch {}\n\ttry {\n\t\tconst rawPm = (await readPackageJson(path.join(root, \"package.json\")))[\"packageManager\"];\n\t\tconst pm = typeof rawPm === \"string\" ? rawPm.split(\"@\", 2)[0] ?? \"\" : \"\";\n\t\tif ([\n\t\t\t\"bun\",\n\t\t\t\"npm\",\n\t\t\t\"pnpm\",\n\t\t\t\"yarn\"\n\t\t].includes(pm)) return pm;\n\t} catch {}\n\tconst userAgent = process.env[\"npm_config_user_agent\"] ?? \"\";\n\tif (userAgent.startsWith(\"bun\")) return \"bun\";\n\tif (userAgent.startsWith(\"pnpm\")) return \"pnpm\";\n\tif (userAgent.startsWith(\"yarn\")) return \"yarn\";\n\tif (userAgent.startsWith(\"npm\")) return \"npm\";\n\tthrow new Error(\"Could not detect package manager. Ensure a lock file (package-lock.json, pnpm-lock.yaml, yarn.lock, or bun.lock) exists in the project root.\");\n}\nasync function discoverWorkspace(root) {\n\tconst pm = await detectPackageManager(root);\n\tlet output;\n\tswitch (pm) {\n\t\tcase \"bun\": return resolveBunWorkspaces(root);\n\t\tcase \"npm\": {\n\t\t\toutput = execFileSync(pmBin(\"npm\"), [\n\t\t\t\t\"ls\",\n\t\t\t\t\"--workspaces\",\n\t\t\t\t\"--all\",\n\t\t\t\t\"--json\",\n\t\t\t\t\"--depth\",\n\t\t\t\t\"0\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\tconst tree = JSON.parse(output);\n\t\t\treturn Object.values(tree.dependencies ?? {}).map((entry) => ({ path: entry.path }));\n\t\t}\n\t\tcase \"pnpm\":\n\t\t\toutput = execFileSync(pmBin(\"pnpm\"), [\n\t\t\t\t\"ls\",\n\t\t\t\t\"-r\",\n\t\t\t\t\"--depth\",\n\t\t\t\t\"-1\",\n\t\t\t\t\"--json\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\treturn JSON.parse(output).map((entry) => ({ path: entry.path }));\n\t\tcase \"yarn\":\n\t\t\toutput = execFileSync(pmBin(\"yarn\"), [\n\t\t\t\t\"workspaces\",\n\t\t\t\t\"list\",\n\t\t\t\t\"--json\"\n\t\t\t], {\n\t\t\t\tcwd: root,\n\t\t\t\tencoding: \"utf8\"\n\t\t\t});\n\t\t\treturn output.trim().split(\"\\n\").filter(Boolean).map((line) => JSON.parse(line)).map((entry) => ({ path: path.resolve(root, entry.location) }));\n\t}\n}\nfunction getWorkspacePatterns(packageJson) {\n\tconst raw = packageJson[\"workspaces\"];\n\tif (Array.isArray(raw)) return raw;\n\tif (typeof raw === \"object\" && raw !== null && \"packages\" in raw && Array.isArray(raw.packages)) return raw.packages;\n\treturn [];\n}\nfunction pmBin(pm) {\n\treturn pm;\n}\nasync function resolveBunWorkspaces(root) {\n\tconst patterns = getWorkspacePatterns(await readPackageJson(path.join(root, \"package.json\")));\n\tconst { glob } = await import(\"node:fs/promises\");\n\tconst packagePaths = [];\n\tfor (const pattern of patterns) {\n\t\tconst iterable = glob(pattern, { cwd: root });\n\t\tfor await (const entry of iterable) {\n\t\t\tconst absolute = path.resolve(root, entry);\n\t\t\tif (!packagePaths.includes(absolute)) packagePaths.push(absolute);\n\t\t}\n\t}\n\treturn packagePaths.map((p) => ({ path: p }));\n}\n//#endregion\nexport { detectPackageManager, discoverWorkspace, getScript, readPackageJson, setScript, writePackageJson };\n\n//# sourceMappingURL=index.js.map","/**\n * Escapes a character if it has a special meaning in regular expressions\n * and returns the character as is if it doesn't\n */\nfunction escapeRegExpChar(char) {\n if (char === '-' ||\n char === '^' ||\n char === '$' ||\n char === '+' ||\n char === '.' ||\n char === '(' ||\n char === ')' ||\n char === '|' ||\n char === '[' ||\n char === ']' ||\n char === '{' ||\n char === '}' ||\n char === '*' ||\n char === '?' ||\n char === '\\\\') {\n return \"\\\\\".concat(char);\n }\n else {\n return char;\n }\n}\n/**\n * Escapes all characters in a given string that have a special meaning in regular expressions\n */\nfunction escapeRegExpString(str) {\n var result = '';\n for (var i = 0; i < str.length; i++) {\n result += escapeRegExpChar(str[i]);\n }\n return result;\n}\n/**\n * Transforms one or more glob patterns into a RegExp pattern\n */\nfunction transform(pattern, separator) {\n if (separator === void 0) { separator = true; }\n if (Array.isArray(pattern)) {\n var regExpPatterns = pattern.map(function (p) { return \"^\".concat(transform(p, separator), \"$\"); });\n return \"(?:\".concat(regExpPatterns.join('|'), \")\");\n }\n var separatorSplitter = '';\n var separatorMatcher = '';\n var wildcard = '.';\n if (separator === true) {\n separatorSplitter = '/';\n separatorMatcher = '[/\\\\\\\\]';\n wildcard = '[^/\\\\\\\\]';\n }\n else if (separator) {\n separatorSplitter = separator;\n separatorMatcher = escapeRegExpString(separatorSplitter);\n if (separatorMatcher.length > 1) {\n separatorMatcher = \"(?:\".concat(separatorMatcher, \")\");\n wildcard = \"((?!\".concat(separatorMatcher, \").)\");\n }\n else {\n wildcard = \"[^\".concat(separatorMatcher, \"]\");\n }\n }\n var requiredSeparator = separator ? \"\".concat(separatorMatcher, \"+?\") : '';\n var optionalSeparator = separator ? \"\".concat(separatorMatcher, \"*?\") : '';\n var segments = separator ? pattern.split(separatorSplitter) : [pattern];\n var result = '';\n for (var s = 0; s < segments.length; s++) {\n var segment = segments[s];\n var nextSegment = segments[s + 1];\n var currentSeparator = '';\n if (!segment && s > 0) {\n continue;\n }\n if (separator) {\n if (s === segments.length - 1) {\n currentSeparator = optionalSeparator;\n }\n else if (nextSegment !== '**') {\n currentSeparator = requiredSeparator;\n }\n else {\n currentSeparator = '';\n }\n }\n if (separator && segment === '**') {\n if (currentSeparator) {\n result +=\n s === 0\n ? ''\n : s === segments.length - 1\n ? \"(?:\".concat(requiredSeparator, \"|$)\")\n : requiredSeparator;\n result += \"(?:\".concat(wildcard, \"*?\").concat(currentSeparator, \")*?\");\n }\n continue;\n }\n for (var c = 0; c < segment.length; c++) {\n var char = segment[c];\n if (char === '\\\\') {\n if (c < segment.length - 1) {\n result += escapeRegExpChar(segment[c + 1]);\n c++;\n }\n }\n else if (char === '?') {\n result += wildcard;\n }\n else if (char === '*') {\n result += \"\".concat(wildcard, \"*?\");\n }\n else {\n result += escapeRegExpChar(char);\n }\n }\n result += currentSeparator;\n }\n return result;\n}\n\nfunction isMatch(regexp, sample) {\n if (typeof sample !== 'string') {\n throw new TypeError(\"Sample must be a string, but \".concat(typeof sample, \" given\"));\n }\n return regexp.test(sample);\n}\n/**\n * Compiles one or more glob patterns into a RegExp and returns an isMatch function.\n * The isMatch function takes a sample string as its only argument and returns `true`\n * if the string matches the pattern(s).\n *\n * ```js\n * wildcardMatch('src/*.js')('src/index.js') //=> true\n * ```\n *\n * ```js\n * const isMatch = wildcardMatch('*.example.com', '.')\n * isMatch('foo.example.com') //=> true\n * isMatch('foo.bar.com') //=> false\n * ```\n */\nfunction wildcardMatch(pattern, options) {\n if (typeof pattern !== 'string' && !Array.isArray(pattern)) {\n throw new TypeError(\"The first argument must be a single pattern string or an array of patterns, but \".concat(typeof pattern, \" given\"));\n }\n if (typeof options === 'string' || typeof options === 'boolean') {\n options = { separator: options };\n }\n if (arguments.length === 2 &&\n !(typeof options === 'undefined' ||\n (typeof options === 'object' && options !== null && !Array.isArray(options)))) {\n throw new TypeError(\"The second argument must be an options object or a string/boolean separator, but \".concat(typeof options, \" given\"));\n }\n options = options || {};\n if (options.separator === '\\\\') {\n throw new Error('\\\\ is not a valid separator because it is used for escaping. Try setting the separator to `true` instead');\n }\n var regexpPattern = transform(pattern, options.separator);\n var regexp = new RegExp(\"^\".concat(regexpPattern, \"$\"), options.flags);\n var fn = isMatch.bind(null, regexp);\n fn.options = options;\n fn.pattern = pattern;\n fn.regexp = regexp;\n return fn;\n}\n\nexport { wildcardMatch as default };\n//# sourceMappingURL=index.es.mjs.map\n","import { getScript, readPackageJson } from \"@moniq/workspace\";\nimport path from \"node:path\";\nimport wcmatch from \"wildcard-match\";\n//#region src/scripts.ts\nasync function resolveScriptPolicies(scriptsConfig, root, packages_) {\n\tconst diagnostics = [];\n\tconst entries = Object.entries(scriptsConfig ?? {});\n\tfor (const [scriptName, policyOrArray] of entries) {\n\t\tconst policies = Array.isArray(policyOrArray) ? policyOrArray : [policyOrArray];\n\t\tfor (const package_ of packages_) {\n\t\t\tconst relativePath = path.relative(root, package_.path);\n\t\t\tconst policy = pickPolicy(policies, relativePath);\n\t\t\tif (policy !== void 0 && policy.severity !== \"off\") await resolvePolicy(policy, scriptName, package_, relativePath, diagnostics);\n\t\t}\n\t}\n\treturn diagnostics;\n}\nfunction isCommandMatch(actual, expected) {\n\tif (typeof expected === \"function\") return expected(actual);\n\tif (expected instanceof RegExp) return expected.test(actual);\n\treturn actual === expected;\n}\nfunction isGlobMatch(pattern, relativePath) {\n\tif (pattern === \"*\") return true;\n\tif (pattern === \".\") return relativePath === \".\" || relativePath === \"\";\n\treturn wcmatch(pattern)(relativePath);\n}\nfunction isMatchAny(patterns, relativePath) {\n\tfor (const pattern of patterns) if (isGlobMatch(pattern, relativePath)) return true;\n\treturn false;\n}\nfunction isPolicyMatch(policy, relativePath) {\n\tconst include = policy.include ?? [\"*\"];\n\tconst exclude = policy.exclude ?? [];\n\treturn isMatchAny(include, relativePath) && !isMatchAny(exclude, relativePath);\n}\nfunction pickPolicy(policies, relativePath) {\n\tfor (const policy of policies) if (isPolicyMatch(policy, relativePath)) return policy;\n}\nasync function resolvePolicy(policy, scriptName, package_, relativePath, diagnostics) {\n\tconst packageJson = await readPackageJson(path.join(package_.path, \"package.json\"));\n\tconst packageDisplayName = packageJson[\"name\"] ?? path.basename(package_.path);\n\tconst hasScript = getScript(packageJson, scriptName) !== void 0;\n\tconst severity = policy.severity ?? \"error\";\n\tif (policy.required !== false && !hasScript) {\n\t\tdiagnostics.push({\n\t\t\tfix: policy.autofix && typeof policy.command === \"string\" ? policy.command : void 0,\n\t\t\tmessage: `Missing required script \"${scriptName}\"`,\n\t\t\tpackageName: packageDisplayName,\n\t\t\tpackagePath: package_.path,\n\t\t\tscriptName,\n\t\t\tseverity\n\t\t});\n\t\treturn;\n\t}\n\tif (policy.command === void 0 || !hasScript) return;\n\tif (policy.allowCustomCommands !== void 0 && isMatchAny(policy.allowCustomCommands, relativePath)) return;\n\tconst actualCommand = getScript(packageJson, scriptName);\n\tif (actualCommand !== void 0 && isCommandMatch(actualCommand, policy.command)) return;\n\tdiagnostics.push({\n\t\tactual: actualCommand,\n\t\texpected: typeof policy.command === \"string\" ? policy.command : void 0,\n\t\tfix: policy.autofix && typeof policy.command === \"string\" ? policy.command : void 0,\n\t\tmessage: `Unexpected command for script \"${scriptName}\"`,\n\t\tpackageName: packageDisplayName,\n\t\tpackagePath: package_.path,\n\t\tscriptName,\n\t\tseverity\n\t});\n}\n//#endregion\n//#region src/index.ts\nasync function resolve(config, root, packages_) {\n\tconst diagnostics = [];\n\tconst scriptDiags = await resolveScriptPolicies(config.scripts, root, packages_);\n\tdiagnostics.push(...scriptDiags);\n\treturn diagnostics;\n}\n//#endregion\nexport { resolve };\n\n//# sourceMappingURL=index.js.map","import { cac } from \"cac\";\nimport { loadConfig } from \"@moniq/config\";\nimport { resolve } from \"@moniq/core\";\nimport { detectPackageManager, discoverWorkspace, readPackageJson } from \"@moniq/workspace\";\nimport { styleText } from \"node:util\";\nimport path from \"node:path\";\nimport { execFile } from \"node:child_process\";\nimport { stdin } from \"node:process\";\nimport { createInterface } from \"node:readline/promises\";\n//#region ../moniq/package.json\nvar version = \"0.3.1\";\n//#endregion\n//#region src/format.ts\nfunction formatDiagnostics(diagnostics, options) {\n\tif ((options?.format ?? \"pretty\") === \"json\") return formatJson(diagnostics);\n\treturn formatPretty(diagnostics, options?.isDryRun);\n}\nfunction formatJson(diagnostics) {\n\treturn `${JSON.stringify(diagnostics, void 0, 2)}\\n`;\n}\nfunction formatPretty(diagnostics, isDryRun) {\n\tif (diagnostics.length === 0) return styleText([\"bold\", \"green\"], \"✅ No issues found.\");\n\tconst lines = [];\n\tconst byPackage = /* @__PURE__ */ new Map();\n\tfor (const d of diagnostics) {\n\t\tconst array = byPackage.get(d.packageName);\n\t\tif (array) array.push(d);\n\t\telse byPackage.set(d.packageName, [d]);\n\t}\n\tfor (const [packageName, diags] of byPackage) {\n\t\tlines.push(\"\", `📦 ${styleText([\"bold\", \"cyan\"], packageName)}`);\n\t\tfor (const d of diags) pushDiagnostic(lines, d, isDryRun);\n\t}\n\tconst errorCount = diagnostics.filter((d) => d.severity === \"error\").length;\n\tconst warningCount = diagnostics.filter((d) => d.severity === \"warn\").length;\n\tconst countParts = [];\n\tif (errorCount > 0) countParts.push(styleText(\"red\", `${String(errorCount)} error(s)`));\n\tif (warningCount > 0) countParts.push(styleText(\"yellow\", `${String(warningCount)} warning(s)`));\n\tconst summary = countParts.join(\", \");\n\tconst summaryLine = `📋 Found ${String(diagnostics.length)} issue(s) — ${summary.length > 0 ? summary : \"all clear\"}`;\n\tlines.push(\"\", styleText(\"dim\", summaryLine));\n\tif (isDryRun) {\n\t\tconst fixableCount = diagnostics.filter((d) => d.fix && d.severity !== \"off\").length;\n\t\tlines.push(\"\", styleText(\"dim\", `🔮 Dry-run: ${String(fixableCount)} fix(es) available`));\n\t}\n\treturn lines.join(\"\\n\");\n}\nfunction pushDiagnostic(lines, d, isDryRun) {\n\tconst badge = severityBadge(d.severity);\n\tconst emoji = severityEmoji(d.severity);\n\tlines.push(` ${emoji} ${badge} ${d.message}`);\n\tif (d.expected && d.actual) lines.push(` ${styleText(\"dim\", \"Expected:\")} ${styleText(\"cyan\", d.expected)}`, ` ${styleText(\"dim\", \"Actual:\")} ${styleText(\"red\", d.actual)}`);\n\telse if (d.expected) lines.push(` ${styleText(\"dim\", \"Expected:\")} ${styleText(\"cyan\", d.expected)}`);\n\telse if (d.actual) lines.push(` ${styleText(\"dim\", \"Actual:\")} ${styleText(\"red\", d.actual)}`);\n\tif (d.fix) {\n\t\tconst label = styleText(\"dim\", isDryRun ? \"Would fix:\" : \"Fix:\");\n\t\tconst icon = isDryRun ? \"🔮\" : \"🔧\";\n\t\tlines.push(` ${icon} ${label} ${d.fix}`);\n\t}\n}\nfunction severityBadge(severity) {\n\tif (severity === \"error\") return styleText([\"bold\", \"red\"], \"ERROR\");\n\tif (severity === \"warn\") return styleText([\"bold\", \"yellow\"], \"WARN\");\n\treturn styleText(\"gray\", \"OFF\");\n}\nfunction severityEmoji(severity) {\n\tif (severity === \"error\") return \"❌\";\n\tif (severity === \"warn\") return \"⚠️ \";\n\treturn \"⚪\";\n}\n//#endregion\n//#region src/scripts.ts\nasync function applyScriptFixes(diagnostics, options) {\n\tconst fixable = diagnostics.filter((d) => d.fix && d.severity !== \"off\");\n\tconst isDryRun = options?.isDryRun ?? false;\n\tlet fixed = 0;\n\tlet errors = 0;\n\tconst packages = /* @__PURE__ */ new Set();\n\tfor (const d of fixable) {\n\t\tif (!d.fix) continue;\n\t\tif (isDryRun) {\n\t\t\tfixed++;\n\t\t\tpackages.add(d.packagePath);\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst packageFilePath = path.join(d.packagePath, \"package.json\");\n\t\t\tconst { readFile, writeFile } = await import(\"node:fs/promises\");\n\t\t\tconst content = await readFile(packageFilePath, \"utf8\");\n\t\t\tconst package_ = JSON.parse(content);\n\t\t\tconst scriptName = d.scriptName;\n\t\t\tif (!scriptName) continue;\n\t\t\tconst scriptsRecord = package_[\"scripts\"];\n\t\t\tif (scriptsRecord) {\n\t\t\t\tconst entries = Object.entries(scriptsRecord);\n\t\t\t\tif (!Object.hasOwn(scriptsRecord, scriptName)) entries.push([scriptName, d.fix]);\n\t\t\t\tpackage_[\"scripts\"] = Object.fromEntries(entries.map(([name, command]) => {\n\t\t\t\t\treturn name === scriptName ? [name, d.fix ?? command] : [name, command];\n\t\t\t\t}));\n\t\t\t}\n\t\t\tawait writeFile(packageFilePath, `${JSON.stringify(package_, void 0, 2)}\\n`, \"utf8\");\n\t\t\tfixed++;\n\t\t\tpackages.add(d.packagePath);\n\t\t} catch {\n\t\t\terrors++;\n\t\t}\n\t}\n\treturn {\n\t\terrors,\n\t\tfixed,\n\t\tisDryRun,\n\t\tpackageCount: packages.size\n\t};\n}\n//#endregion\n//#region src/commands/check.ts\nasync function check(options) {\n\tconst cwd = process.cwd();\n\tlet config;\n\ttry {\n\t\tconfig = await loadConfig(cwd);\n\t} catch {\n\t\tthrow new Error(\"No moniq.config file found in or above the current directory.\");\n\t}\n\tconst packages = await discoverWorkspace(cwd);\n\tif (packages.length === 0) throw new Error(\"No workspace packages found.\");\n\tconst diagnostics = await resolve(config, cwd, packages);\n\tlet fixSummary;\n\tif (options.fix) fixSummary = await applyScriptFixes(diagnostics, { isDryRun: options.isDryRun });\n\tif (options.format !== \"json\") {\n\t\tconsole.log(` 🔍 Scanned ${String(packages.length)} package(s)`);\n\t\tconsole.log();\n\t}\n\tconsole.log(formatDiagnostics(diagnostics, {\n\t\tformat: options.format,\n\t\tisDryRun: options.isDryRun\n\t}));\n\tif (fixSummary) if (fixSummary.isDryRun) {\n\t\tconst message = `🔮 Dry-run: ${String(fixSummary.fixed)} fix(es) available, ${String(fixSummary.errors)} error(s)`;\n\t\tconsole.log(styleText(\"dim\", message));\n\t} else {\n\t\tconst message = `✅ Fixed ${String(fixSummary.fixed)} issue(s) across ${String(fixSummary.packageCount)} package(s)`;\n\t\tconsole.log(styleText([\"bold\", \"green\"], message));\n\t}\n}\n//#endregion\n//#region src/commands/doctor.ts\nasync function doctor() {\n\tconst cwd = process.cwd();\n\tconst issues = [];\n\ttry {\n\t\tconst config = await loadConfig(cwd);\n\t\tissues.push({\n\t\t\tmessage: \"moniq.config file found and loadable.\",\n\t\t\tseverity: \"warn\"\n\t\t});\n\t\tcheckScriptPolicies(config, issues);\n\t} catch {\n\t\tissues.push({\n\t\t\tmessage: \"No moniq.config file found in or above the current directory.\",\n\t\t\tseverity: \"error\"\n\t\t});\n\t}\n\ttry {\n\t\tconst packageCount = (await discoverWorkspace(cwd)).length;\n\t\tif (packageCount === 0) issues.push({\n\t\t\tmessage: \"No workspace packages detected. Check your workspace configuration.\",\n\t\t\tseverity: \"warn\"\n\t\t});\n\t\telse issues.push({\n\t\t\tmessage: `Detected ${String(packageCount)} workspace package(s).`,\n\t\t\tseverity: \"warn\"\n\t\t});\n\t} catch {\n\t\tissues.push({\n\t\t\tmessage: \"Failed to discover workspace packages. Ensure a lock file or packageManager field is present.\",\n\t\t\tseverity: \"error\"\n\t\t});\n\t}\n\tconsole.log();\n\tconsole.log(` ${styleText(\"bold\", \"🏥 Configuration Doctor\")}`);\n\tconsole.log();\n\tif (issues.length === 0) {\n\t\tconsole.log(` ${styleText([\"bold\", \"green\"], \"✅ Everything looks good!\")}`);\n\t\treturn;\n\t}\n\tfor (const issue of issues) {\n\t\tconst icon = issue.severity === \"error\" ? \"❌\" : \"⚠️ \";\n\t\tconst label = issue.severity === \"error\" ? styleText([\"bold\", \"red\"], \"ERROR\") : styleText([\"bold\", \"yellow\"], \"WARN\");\n\t\tconsole.log(` ${icon} ${label} ${issue.message}`);\n\t}\n\tconst errorCount = issues.filter((index) => index.severity === \"error\").length;\n\tconst warningCount = issues.filter((index) => index.severity === \"warn\").length;\n\tconst summary = styleText(\"dim\", `Found ${`${String(errorCount)} error(s)`}, ${`${String(warningCount)} warning(s)`}`);\n\tconsole.log();\n\tconsole.log(` ${summary}`);\n\tif (errorCount > 0) {\n\t\tconst tip = styleText([\"bold\", \"cyan\"], \"💡 Tip:\");\n\t\tconst hint = styleText(\"dim\", \"moniq init\");\n\t\tconsole.log();\n\t\tconsole.log(` ${tip} Run ${hint} to scaffold a starter configuration.`);\n\t}\n}\nfunction checkScriptPolicies(config, issues) {\n\tconst scripts = config.scripts;\n\tif (!scripts) return;\n\tfor (const [name, policyOrArray] of Object.entries(scripts)) {\n\t\tconst policies = Array.isArray(policyOrArray) ? policyOrArray : [policyOrArray];\n\t\tfor (const policy of policies) {\n\t\t\tconst sev = policy.severity;\n\t\t\tif (sev !== void 0 && ![\n\t\t\t\t\"error\",\n\t\t\t\t\"off\",\n\t\t\t\t\"warn\"\n\t\t\t].includes(sev)) issues.push({\n\t\t\t\tmessage: `Script policy \"${name}\" has invalid severity \"${sev}\".`,\n\t\t\t\tseverity: \"error\"\n\t\t\t});\n\t\t}\n\t}\n}\n//#endregion\n//#region src/banner.ts\nconst colorFns = [\n\t(s) => styleText(\"cyan\", s),\n\t(s) => styleText(\"magenta\", s),\n\t(s) => styleText(\"green\", s),\n\t(s) => styleText(\"yellow\", s),\n\t(s) => styleText(\"blue\", s)\n];\nconst letterRows = [\n\t[\n\t\t\"███╗ ███╗\",\n\t\t\"████╗ ████║\",\n\t\t\"██╔████╔██║\",\n\t\t\"██║╚██╔╝██║\",\n\t\t\"██║ ╚═╝ ██║\",\n\t\t\"╚═╝ ╚═╝\"\n\t],\n\t[\n\t\t\" ██████╗ \",\n\t\t\"██╔═══██╗\",\n\t\t\"██║ ██║\",\n\t\t\"██║ ██║\",\n\t\t\"╚██████╔╝\",\n\t\t\" ╚═════╝ \"\n\t],\n\t[\n\t\t\"███╗ ██╗\",\n\t\t\"████╗ ██║\",\n\t\t\"██╔██╗ ██║\",\n\t\t\"██║╚██╗██║\",\n\t\t\"██║ ╚████║\",\n\t\t\"╚═╝ ╚═══╝\"\n\t],\n\t[\n\t\t\"██╗\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"██║\",\n\t\t\"╚═╝\"\n\t],\n\t[\n\t\t\" ██████╗ \",\n\t\t\"██╔═══██╗\",\n\t\t\"██║ ██║\",\n\t\t\"██║ ██║\",\n\t\t\"╚██████╔╝\",\n\t\t\" ╚════╝╗ \"\n\t]\n];\nconst DESCRIPTION = \"Policy-driven workspace linter for JavaScript/TypeScript monorepos.\";\nfunction renderBanner() {\n\tconst lines = [\"\"];\n\tfor (let rowIndex = 0; rowIndex < 6; rowIndex++) lines.push(assembleRow(rowIndex));\n\tconst description = styleText(\"bold\", DESCRIPTION);\n\tlines.push(description, \"\");\n\treturn lines.join(\"\\n\");\n}\nfunction assembleRow(rowIndex) {\n\tlet row = \"\";\n\tfor (let columnIndex = 0; columnIndex < 5; columnIndex++) {\n\t\trow += rowPart(columnIndex, rowIndex);\n\t\tif (columnIndex < 4) row += \" \";\n\t}\n\treturn row;\n}\nfunction rowPart(columnIndex, rowIndex) {\n\tconst rows = letterRows.at(columnIndex);\n\tconst colorFunction = colorFns.at(columnIndex);\n\tif (rows === void 0 || colorFunction === void 0) return \"\";\n\tconst line = rows.at(rowIndex);\n\treturn line === void 0 ? \"\" : colorFunction(line);\n}\n//#endregion\n//#region src/commands/init.ts\nconst SUPPORTED_LANGS = [\n\t\"ts\",\n\t\"js\",\n\t\"mjs\",\n\t\"cjs\",\n\t\"mts\",\n\t\"cts\"\n];\nconst DIVIDER_WIDTH = 44;\nfunction labelPad(label) {\n\treturn label.padEnd(18);\n}\nconst STARTER_CONFIG = `import { defineConfig } from \"@udohjeremiah/moniq\";\n\nexport default defineConfig({\n scripts: {\n dev: { required: true },\n build: { required: true },\n lint: { required: true },\n },\n});\n`;\nasync function detectLang(cwd, packageJson) {\n\tconst rawDependencies = packageJson[\"dependencies\"];\n\tconst rawDevelopmentDependencies = packageJson[\"devDependencies\"];\n\tconst { access } = await import(\"node:fs/promises\");\n\ttry {\n\t\tawait access(path.join(cwd, \"tsconfig.json\"));\n\t\treturn \"ts\";\n\t} catch {}\n\tif (typeof rawDependencies === \"object\" && rawDependencies !== null && Object.hasOwn(rawDependencies, \"typescript\")) return \"ts\";\n\tif (typeof rawDevelopmentDependencies === \"object\" && rawDevelopmentDependencies !== null && Object.hasOwn(rawDevelopmentDependencies, \"typescript\")) return \"ts\";\n\treturn \"js\";\n}\nasync function init(options) {\n\tconst { _cwd, lang: explicitLang } = options;\n\tconst cwd = _cwd ?? process.cwd();\n\tconsole.log(renderBanner());\n\tconst rootPackageJson = await readRootPackageJson(cwd);\n\tif (rootPackageJson === void 0) return;\n\tconst lang = explicitLang ?? await detectLang(cwd, rootPackageJson);\n\tif (!SUPPORTED_LANGS.includes(lang)) {\n\t\tconst unsupportedMessage = `Unsupported --lang \"${lang}\". Supported: ${SUPPORTED_LANGS.join(\", \")}`;\n\t\tconsole.error(` ${styleText(\"yellow\", unsupportedMessage)}`);\n\t\tprocess.exitCode = 1;\n\t\treturn;\n\t}\n\tconst filename = `moniq.config.${lang}`;\n\tconst configPath = path.join(cwd, filename);\n\tif (!await handleExistingConfig(configPath, filename)) return;\n\tlet workspaceLabel = \"single package\";\n\tlet packages = [];\n\ttry {\n\t\tpackages = await discoverWorkspace(cwd);\n\t\tif (packages.length > 1) workspaceLabel = `monorepo with ${String(packages.length)} packages`;\n\t} catch {\n\t\tworkspaceLabel = \"unknown (workspace detection failed)\";\n\t}\n\tconst pm = await detectPackageManager(cwd);\n\tconst langDisplay = [\n\t\t\"cts\",\n\t\t\"mts\",\n\t\t\"ts\"\n\t].includes(lang) ? \"TypeScript\" : \"JavaScript\";\n\tconst dim = (s) => styleText(\"dim\", s);\n\tconst cyan = (s) => styleText(\"cyan\", s);\n\tconst sideDashes = (DIVIDER_WIDTH - 10) / 2;\n\tconst topDivider = dim(` ${\"─\".repeat(sideDashes)} Detected ${\"─\".repeat(sideDashes)}`);\n\tconst bottomDivider = dim(` ${\"─\".repeat(DIVIDER_WIDTH)}`);\n\tconst labelIndent = \" \".repeat(19);\n\tconsole.log(topDivider);\n\tconsole.log(` ${dim(labelPad(\"Workspace:\"))} ${cyan(workspaceLabel)}`);\n\tif (packages.length > 1) for (const package_ of packages) {\n\t\tconst bullet = dim(`• ${path.relative(cwd, package_.path)}`);\n\t\tconsole.log(` ${labelIndent}${bullet}`);\n\t}\n\tconsole.log(` ${dim(labelPad(\"Package Manager:\"))} ${cyan(pm)}`);\n\tconsole.log(` ${dim(labelPad(\"Language:\"))} ${cyan(langDisplay)}`);\n\tconsole.log(bottomDivider);\n\tconsole.log();\n\tif (!_cwd) {\n\t\tconst stopSpinner = startSpinner(\"Installing @udohjeremiah/moniq as devDependency...\");\n\t\ttry {\n\t\t\tawait installPackage(pm, cwd);\n\t\t\tstopSpinner();\n\t\t\tconsole.log(` ✅ Installed @udohjeremiah/moniq as devDependency`);\n\t\t\tconsole.log();\n\t\t} catch (error) {\n\t\t\tstopSpinner();\n\t\t\tconst styledError = styleText(\"red\", `❌ ${`Installation failed: ${String(error)}`}`);\n\t\t\tconsole.log(` ${styledError}`);\n\t\t\tconsole.log(` ${styleText(\"dim\", \"Make sure you have a working internet connection and try again.\")}`);\n\t\t\tconsole.log();\n\t\t\tprocess.exitCode = 1;\n\t\t\treturn;\n\t\t}\n\t}\n\tconst { writeFile } = await import(\"node:fs/promises\");\n\tawait writeFile(configPath, STARTER_CONFIG, \"utf8\");\n\tconst createdMessage = `✅ Created ${filename}`;\n\tconsole.log(` ${styleText([\"bold\", \"green\"], createdMessage)}`);\n\tconsole.log();\n\tawait doctor();\n\tconsole.log();\n\tconsole.log(` ${styleText(\"dim\", \"Next steps:\")}`);\n\tconsole.log(` 1. ${styleText(\"dim\", \"Edit\")} ${styleText(\"cyan\", filename)} ${styleText(\"dim\", \"to configure your policies.\")}`);\n\tconsole.log(` 2. ${styleText(\"dim\", \"Run\")} ${styleText(\"cyan\", \"moniq check\")} ${styleText(\"dim\", \"to validate your workspace.\")}`);\n\tconsole.log(` 3. ${styleText(\"dim\", \"Run\")} ${styleText(\"cyan\", \"moniq fix\")} ${styleText(\"dim\", \"to apply automatic fixes.\")}`);\n\tconsole.log();\n}\nasync function handleExistingConfig(configPath, filename) {\n\tconst { access } = await import(\"node:fs/promises\");\n\ttry {\n\t\tawait access(configPath);\n\t} catch {\n\t\treturn true;\n\t}\n\tif (!stdin.isTTY) return true;\n\tconst rl = createInterface({\n\t\tinput: stdin,\n\t\toutput: process.stdout\n\t});\n\tconst message = `${filename} already exists. Overwrite?`;\n\tconst answer = await rl.question(` ${styleText(\"dim\", message + \" (y/N) \")}`);\n\trl.close();\n\tif (answer.trim().length === 0) return false;\n\treturn answer.toLowerCase() === \"y\" || answer.toLowerCase() === \"yes\";\n}\nfunction installArguments(pm) {\n\tswitch (pm) {\n\t\tcase \"bun\": return [\n\t\t\t\"add\",\n\t\t\t\"--dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tcase \"npm\": return [\n\t\t\t\"install\",\n\t\t\t\"--save-dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tcase \"pnpm\": return [\n\t\t\t\"add\",\n\t\t\t\"-D\",\n\t\t\t\"-w\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t\tcase \"yarn\": return [\n\t\t\t\"add\",\n\t\t\t\"--dev\",\n\t\t\t\"@udohjeremiah/moniq\"\n\t\t];\n\t}\n\tthrow new Error(`Unknown package manager: ${pm}`);\n}\nfunction installPackage(pm, root) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst child = execFile(pm, installArguments(pm), { cwd: root });\n\t\tlet stderr = \"\";\n\t\tchild.stderr?.on(\"data\", (chunk) => {\n\t\t\tstderr += chunk.toString();\n\t\t});\n\t\tchild.on(\"exit\", (code) => {\n\t\t\tif (code === 0) resolve();\n\t\t\telse reject(/* @__PURE__ */ new Error(`Exit code ${String(code)}: ${stderr.trim()}`));\n\t\t});\n\t\tchild.on(\"error\", reject);\n\t});\n}\nasync function readRootPackageJson(cwd) {\n\ttry {\n\t\treturn await readPackageJson(path.join(cwd, \"package.json\"));\n\t} catch {\n\t\tconsole.log();\n\t\tconsole.log(` ${styleText(\"yellow\", \"⚠ No package.json found in current directory.\")}`);\n\t\tconsole.log(` Create one first, then run ${styleText(\"cyan\", \"moniq init\")} again.`);\n\t\tconsole.log();\n\t\tprocess.exitCode = 1;\n\t\treturn;\n\t}\n}\nfunction startSpinner(text) {\n\tconst frames = [\n\t\t\"⠋\",\n\t\t\"⠙\",\n\t\t\"⠸\",\n\t\t\"⠴\",\n\t\t\"⠦\",\n\t\t\"⠧\"\n\t];\n\tlet index = 0;\n\tconst id = setInterval(() => {\n\t\tconst styled = styleText(\"dim\", `${frames.at(index) ?? \"\"} ${text}`);\n\t\tprocess.stdout.write(`\\r ${styled}`);\n\t\tindex = (index + 1) % frames.length;\n\t}, 80);\n\treturn () => {\n\t\tclearInterval(id);\n\t\tprocess.stdout.write(\"\\r\\x1B[K\");\n\t};\n}\n//#endregion\n//#region src/index.ts\nconst cli = cac(\"moniq\");\ncli.command(\"check\", \"Run policy checks\").option(\"--format <fmt>\", \"Output format: pretty or json\", { default: \"pretty\" }).action(async (options) => {\n\tconst fmt = typeof options[\"format\"] === \"string\" ? options[\"format\"] : \"pretty\";\n\ttry {\n\t\tawait check({\n\t\t\tfix: false,\n\t\t\tformat: fmt\n\t\t});\n\t} catch (error) {\n\t\tconsole.error(String(error));\n\t\tprocess.exitCode = 1;\n\t}\n});\ncli.command(\"fix\", \"Run policy checks and apply autofixes\").option(\"--dry-run\", \"Preview autofixes without writing to files\").option(\"--format <fmt>\", \"Output format: pretty or json\", { default: \"pretty\" }).action(async (options) => {\n\tconst isDryRun = options[\"dryRun\"] === true;\n\tconst fmt = typeof options[\"format\"] === \"string\" ? options[\"format\"] : \"pretty\";\n\ttry {\n\t\tawait check({\n\t\t\tfix: true,\n\t\t\tformat: fmt,\n\t\t\tisDryRun\n\t\t});\n\t} catch (error) {\n\t\tconsole.error(String(error));\n\t\tprocess.exitCode = 1;\n\t}\n});\ncli.command(\"doctor\", \"Detect configuration mistakes\").action(async () => {\n\tawait doctor();\n});\ncli.command(\"init\", \"Scaffold a moniq.config file in the current directory\").option(\"--lang <type>\", \"Config language: ts, js, mjs, cjs, mts, cts (default: auto-detected)\").action(async (options) => {\n\tawait init({ lang: typeof options[\"lang\"] === \"string\" ? options[\"lang\"] : void 0 });\n});\ncli.help();\ncli.version(version);\ncli.parse();\n//#endregion\nexport {};\n\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0,2],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@udohjeremiah/moniq",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Policy-driven workspace linter for JavaScript/TypeScript monorepos",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -47,9 +47,9 @@
47
47
  "shell-quote": "^1.9.0",
48
48
  "tsdown": "^0.22.4",
49
49
  "vitest": "^4.1.10",
50
+ "@moniq/eslint-config": "0.0.0",
50
51
  "@moniq/cli": "0.0.0",
51
52
  "@moniq/config": "0.0.0",
52
- "@moniq/eslint-config": "0.0.0",
53
53
  "@moniq/typescript-config": "0.0.0"
54
54
  },
55
55
  "scripts": {