UNPKG

npm-check-updates

Version:

Find newer versions of dependencies than what your package.json allows

1,164 lines 213 kB
#!/usr/bin/env node import e, { _ as t, a as n, c as r, d as i, f as a, g as o, h as s, i as c, l, m as u, n as d, o as f, p, r as m, s as h, t as g, u as _, v, y } from "./index.js"; import b from "node:path"; import x from "node:os"; import S from "os"; import C, { env as w } from "node:process"; import { fileURLToPath as T } from "node:url"; import { format as E, promisify as D } from "node:util"; import O from "path"; import k from "node:fs"; import { spawn as ee } from "node:child_process"; //#region node_modules/commander/lib/error.js var A = /* @__PURE__ */ u(((e) => { var t = class extends Error { constructor(e, t, n) { super(n), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name, this.code = t, this.exitCode = e, this.nestedError = void 0; } }, n = class extends t { constructor(e) { super(1, "commander.invalidArgument", e), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name; } }; e.CommanderError = t, e.InvalidArgumentError = n; })), te = /* @__PURE__ */ u(((e) => { var { InvalidArgumentError: t } = A(), n = class { constructor(e, t) { switch (this.description = t || "", this.variadic = !1, this.parseArg = void 0, this.defaultValue = void 0, this.defaultValueDescription = void 0, this.argChoices = void 0, e[0]) { case "<": this.required = !0, this._name = e.slice(1, -1); break; case "[": this.required = !1, this._name = e.slice(1, -1); break; default: this.required = !0, this._name = e; break; } this._name.endsWith("...") && (this.variadic = !0, this._name = this._name.slice(0, -3)); } name() { return this._name; } _collectValue(e, t) { return t === this.defaultValue || !Array.isArray(t) ? [e] : (t.push(e), t); } default(e, t) { return this.defaultValue = e, this.defaultValueDescription = t, this; } argParser(e) { return this.parseArg = e, this; } choices(e) { return this.argChoices = e.slice(), this.parseArg = (e, n) => { if (!this.argChoices.includes(e)) throw new t(`Allowed choices are ${this.argChoices.join(", ")}.`); return this.variadic ? this._collectValue(e, n) : e; }, this; } argRequired() { return this.required = !0, this; } argOptional() { return this.required = !1, this; } }; function r(e) { let t = e.name() + (e.variadic === !0 ? "..." : ""); return e.required ? "<" + t + ">" : "[" + t + "]"; } e.Argument = n, e.humanReadableArgName = r; })), ne = /* @__PURE__ */ u(((e) => { var { humanReadableArgName: t } = te(), n = class { constructor() { this.helpWidth = void 0, this.minWidthToWrap = 40, this.sortSubcommands = !1, this.sortOptions = !1, this.showGlobalOptions = !1; } prepareContext(e) { this.helpWidth = this.helpWidth ?? e.helpWidth ?? 80; } visibleCommands(e) { let t = e.commands.filter((e) => !e._hidden), n = e._getHelpCommand(); return n && !n._hidden && t.push(n), this.sortSubcommands && t.sort((e, t) => e.name().localeCompare(t.name())), t; } compareOptions(e, t) { let n = (e) => e.short ? e.short.replace(/^-/, "") : e.long.replace(/^--/, ""); return n(e).localeCompare(n(t)); } visibleOptions(e) { let t = e.options.filter((e) => !e.hidden), n = e._getHelpOption(); if (n && !n.hidden) { let r = n.short && e._findOption(n.short), i = n.long && e._findOption(n.long); !r && !i ? t.push(n) : n.long && !i ? t.push(e.createOption(n.long, n.description)) : n.short && !r && t.push(e.createOption(n.short, n.description)); } return this.sortOptions && t.sort(this.compareOptions), t; } visibleGlobalOptions(e) { if (!this.showGlobalOptions) return []; let t = []; for (let n = e.parent; n; n = n.parent) { let e = n.options.filter((e) => !e.hidden); t.push(...e); } return this.sortOptions && t.sort(this.compareOptions), t; } visibleArguments(e) { return e._argsDescription && e.registeredArguments.forEach((t) => { t.description = t.description || e._argsDescription[t.name()] || ""; }), e.registeredArguments.find((e) => e.description) ? e.registeredArguments : []; } subcommandTerm(e) { let n = e.registeredArguments.map((e) => t(e)).join(" "); return e._name + (e._aliases[0] ? "|" + e._aliases[0] : "") + (e.options.length ? " [options]" : "") + (n ? " " + n : ""); } optionTerm(e) { return e.flags; } argumentTerm(e) { return e.name(); } longestSubcommandTermLength(e, t) { return t.visibleCommands(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))), 0); } longestOptionTermLength(e, t) { return t.visibleOptions(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))), 0); } longestGlobalOptionTermLength(e, t) { return t.visibleGlobalOptions(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))), 0); } longestArgumentTermLength(e, t) { return t.visibleArguments(e).reduce((e, n) => Math.max(e, this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))), 0); } commandUsage(e) { let t = e._name; e._aliases[0] && (t = t + "|" + e._aliases[0]); let n = ""; for (let t = e.parent; t; t = t.parent) n = t.name() + " " + n; return n + t + " " + e.usage(); } commandDescription(e) { return e.description(); } subcommandDescription(e) { return e.summary() || e.description(); } optionDescription(e) { let t = []; if (e.argChoices && t.push(`choices: ${e.argChoices.map((e) => JSON.stringify(e)).join(", ")}`), e.defaultValue !== void 0 && (e.required || e.optional || e.isBoolean() && typeof e.defaultValue == "boolean") && t.push(`default: ${e.defaultValueDescription || JSON.stringify(e.defaultValue)}`), e.presetArg !== void 0 && e.optional && t.push(`preset: ${JSON.stringify(e.presetArg)}`), e.envVar !== void 0 && t.push(`env: ${e.envVar}`), t.length > 0) { let n = `(${t.join(", ")})`; return e.description ? `${e.description} ${n}` : n; } return e.description; } argumentDescription(e) { let t = []; if (e.argChoices && t.push(`choices: ${e.argChoices.map((e) => JSON.stringify(e)).join(", ")}`), e.defaultValue !== void 0 && t.push(`default: ${e.defaultValueDescription || JSON.stringify(e.defaultValue)}`), t.length > 0) { let n = `(${t.join(", ")})`; return e.description ? `${e.description} ${n}` : n; } return e.description; } formatItemList(e, t, n) { return t.length === 0 ? [] : [ n.styleTitle(e), ...t, "" ]; } groupItems(e, t, n) { let r = /* @__PURE__ */ new Map(); return e.forEach((e) => { let t = n(e); r.has(t) || r.set(t, []); }), t.forEach((e) => { let t = n(e); r.has(t) || r.set(t, []), r.get(t).push(e); }), r; } formatHelp(e, t) { let n = t.padWidth(e, t), r = t.helpWidth ?? 80; function i(e, r) { return t.formatItem(e, n, r, t); } let a = [`${t.styleTitle("Usage:")} ${t.styleUsage(t.commandUsage(e))}`, ""], o = t.commandDescription(e); o.length > 0 && (a = a.concat([t.boxWrap(t.styleCommandDescription(o), r), ""])); let s = t.visibleArguments(e).map((e) => i(t.styleArgumentTerm(t.argumentTerm(e)), t.styleArgumentDescription(t.argumentDescription(e)))); if (a = a.concat(this.formatItemList("Arguments:", s, t)), this.groupItems(e.options, t.visibleOptions(e), (e) => e.helpGroupHeading ?? "Options:").forEach((e, n) => { let r = e.map((e) => i(t.styleOptionTerm(t.optionTerm(e)), t.styleOptionDescription(t.optionDescription(e)))); a = a.concat(this.formatItemList(n, r, t)); }), t.showGlobalOptions) { let n = t.visibleGlobalOptions(e).map((e) => i(t.styleOptionTerm(t.optionTerm(e)), t.styleOptionDescription(t.optionDescription(e)))); a = a.concat(this.formatItemList("Global Options:", n, t)); } return this.groupItems(e.commands, t.visibleCommands(e), (e) => e.helpGroup() || "Commands:").forEach((e, n) => { let r = e.map((e) => i(t.styleSubcommandTerm(t.subcommandTerm(e)), t.styleSubcommandDescription(t.subcommandDescription(e)))); a = a.concat(this.formatItemList(n, r, t)); }), a.join("\n"); } displayWidth(e) { return r(e).length; } styleTitle(e) { return e; } styleUsage(e) { return e.split(" ").map((e) => e === "[options]" ? this.styleOptionText(e) : e === "[command]" ? this.styleSubcommandText(e) : e[0] === "[" || e[0] === "<" ? this.styleArgumentText(e) : this.styleCommandText(e)).join(" "); } styleCommandDescription(e) { return this.styleDescriptionText(e); } styleOptionDescription(e) { return this.styleDescriptionText(e); } styleSubcommandDescription(e) { return this.styleDescriptionText(e); } styleArgumentDescription(e) { return this.styleDescriptionText(e); } styleDescriptionText(e) { return e; } styleOptionTerm(e) { return this.styleOptionText(e); } styleSubcommandTerm(e) { return e.split(" ").map((e) => e === "[options]" ? this.styleOptionText(e) : e[0] === "[" || e[0] === "<" ? this.styleArgumentText(e) : this.styleSubcommandText(e)).join(" "); } styleArgumentTerm(e) { return this.styleArgumentText(e); } styleOptionText(e) { return e; } styleArgumentText(e) { return e; } styleSubcommandText(e) { return e; } styleCommandText(e) { return e; } padWidth(e, t) { return Math.max(t.longestOptionTermLength(e, t), t.longestGlobalOptionTermLength(e, t), t.longestSubcommandTermLength(e, t), t.longestArgumentTermLength(e, t)); } preformatted(e) { return /\n[^\S\r\n]/.test(e); } formatItem(e, t, n, r) { let i = " ".repeat(2); if (!n) return i + e; let a = e.padEnd(t + e.length - r.displayWidth(e)), o = (this.helpWidth ?? 80) - t - 2 - 2, s; return s = o < this.minWidthToWrap || r.preformatted(n) ? n : r.boxWrap(n, o).replace(/\n/g, "\n" + " ".repeat(t + 2)), i + a + " ".repeat(2) + s.replace(/\n/g, `\n${i}`); } boxWrap(e, t) { if (t < this.minWidthToWrap) return e; let n = e.split(/\r\n|\n/), r = /[\s]*[^\s]+/g, i = []; return n.forEach((e) => { let n = e.match(r); if (n === null) { i.push(""); return; } let a = [n.shift()], o = this.displayWidth(a[0]); n.forEach((e) => { let n = this.displayWidth(e); if (o + n <= t) { a.push(e), o += n; return; } i.push(a.join("")); let r = e.trimStart(); a = [r], o = this.displayWidth(r); }), i.push(a.join("")); }), i.join("\n"); } }; function r(e) { return e.replace(/\x1b\[\d*(;\d*)*m/g, ""); } e.Help = n, e.stripColor = r; })), re = /* @__PURE__ */ u(((e) => { var { InvalidArgumentError: t } = A(), n = class { constructor(e, t) { this.flags = e, this.description = t || "", this.required = e.includes("<"), this.optional = e.includes("["), this.variadic = /\w\.\.\.[>\]]$/.test(e), this.mandatory = !1; let n = a(e); this.short = n.shortFlag, this.long = n.longFlag, this.negate = !1, this.long && (this.negate = this.long.startsWith("--no-")), this.defaultValue = void 0, this.defaultValueDescription = void 0, this.presetArg = void 0, this.envVar = void 0, this.parseArg = void 0, this.hidden = !1, this.argChoices = void 0, this.conflictsWith = [], this.implied = void 0, this.helpGroupHeading = void 0; } default(e, t) { return this.defaultValue = e, this.defaultValueDescription = t, this; } preset(e) { return this.presetArg = e, this; } conflicts(e) { return this.conflictsWith = this.conflictsWith.concat(e), this; } implies(e) { let t = e; return typeof e == "string" && (t = { [e]: !0 }), this.implied = Object.assign(this.implied || {}, t), this; } env(e) { return this.envVar = e, this; } argParser(e) { return this.parseArg = e, this; } makeOptionMandatory(e = !0) { return this.mandatory = !!e, this; } hideHelp(e = !0) { return this.hidden = !!e, this; } _collectValue(e, t) { return t === this.defaultValue || !Array.isArray(t) ? [e] : (t.push(e), t); } choices(e) { return this.argChoices = e.slice(), this.parseArg = (e, n) => { if (!this.argChoices.includes(e)) throw new t(`Allowed choices are ${this.argChoices.join(", ")}.`); return this.variadic ? this._collectValue(e, n) : e; }, this; } name() { return this.long ? this.long.replace(/^--/, "") : this.short.replace(/^-/, ""); } attributeName() { return this.negate ? i(this.name().replace(/^no-/, "")) : i(this.name()); } helpGroup(e) { return this.helpGroupHeading = e, this; } is(e) { return this.short === e || this.long === e; } isBoolean() { return !this.required && !this.optional && !this.negate; } }, r = class { constructor(e) { this.positiveOptions = /* @__PURE__ */ new Map(), this.negativeOptions = /* @__PURE__ */ new Map(), this.dualOptions = /* @__PURE__ */ new Set(), e.forEach((e) => { e.negate ? this.negativeOptions.set(e.attributeName(), e) : this.positiveOptions.set(e.attributeName(), e); }), this.negativeOptions.forEach((e, t) => { this.positiveOptions.has(t) && this.dualOptions.add(t); }); } valueFromOption(e, t) { let n = t.attributeName(); if (!this.dualOptions.has(n)) return !0; let r = this.negativeOptions.get(n).presetArg, i = r === void 0 ? !1 : r; return t.negate === (i === e); } }; function i(e) { return e.split("-").reduce((e, t) => e + t[0].toUpperCase() + t.slice(1)); } function a(e) { let t, n, r = /^-[^-]$/, i = /^--[^-]/, a = e.split(/[ |,]+/).concat("guard"); if (r.test(a[0]) && (t = a.shift()), i.test(a[0]) && (n = a.shift()), !t && r.test(a[0]) && (t = a.shift()), !t && i.test(a[0]) && (t = n, n = a.shift()), a[0].startsWith("-")) { let t = a[0], n = `option creation failed due to '${t}' in option flags '${e}'`; throw /^-[^-][^-]/.test(t) ? Error(`${n} - a short flag is a single dash and a single character - either use a single dash and a single character (for a short flag) - or use a double dash for a long option (and can have two, like '--ws, --workspace')`) : r.test(t) ? Error(`${n} - too many short flags`) : i.test(t) ? Error(`${n} - too many long flags`) : Error(`${n} - unrecognised flag format`); } if (t === void 0 && n === void 0) throw Error(`option creation failed due to no flags found in '${e}'.`); return { shortFlag: t, longFlag: n }; } e.Option = n, e.DualOptions = r; })), ie = /* @__PURE__ */ u(((e) => { var t = 3; function n(e, n) { if (Math.abs(e.length - n.length) > t) return Math.max(e.length, n.length); let r = []; for (let t = 0; t <= e.length; t++) r[t] = [t]; for (let e = 0; e <= n.length; e++) r[0][e] = e; for (let t = 1; t <= n.length; t++) for (let i = 1; i <= e.length; i++) { let a = 1; a = e[i - 1] === n[t - 1] ? 0 : 1, r[i][t] = Math.min(r[i - 1][t] + 1, r[i][t - 1] + 1, r[i - 1][t - 1] + a), i > 1 && t > 1 && e[i - 1] === n[t - 2] && e[i - 2] === n[t - 1] && (r[i][t] = Math.min(r[i][t], r[i - 2][t - 2] + 1)); } return r[e.length][n.length]; } function r(e, r) { if (!r || r.length === 0) return ""; r = Array.from(new Set(r)); let i = e.startsWith("--"); i && (e = e.slice(2), r = r.map((e) => e.slice(2))); let a = [], o = t; return r.forEach((t) => { if (t.length <= 1) return; let r = n(e, t), i = Math.max(e.length, t.length); (i - r) / i > .4 && (r < o ? (o = r, a = [t]) : r === o && a.push(t)); }), a.sort((e, t) => e.localeCompare(t)), i && (a = a.map((e) => `--${e}`)), a.length > 1 ? `\n(Did you mean one of ${a.join(", ")}?)` : a.length === 1 ? `\n(Did you mean ${a[0]}?)` : ""; } e.suggestSimilar = r; })), ae = /* @__PURE__ */ u(((e) => { var n = t("node:events").EventEmitter, r = t("node:child_process"), i = t("node:path"), a = t("node:fs"), o = t("node:process"), { Argument: s, humanReadableArgName: c } = te(), { CommanderError: l } = A(), { Help: u, stripColor: d } = ne(), { Option: f, DualOptions: p } = re(), { suggestSimilar: m } = ie(), h = class e extends n { constructor(e) { super(), this.commands = [], this.options = [], this.parent = null, this._allowUnknownOption = !1, this._allowExcessArguments = !1, this.registeredArguments = [], this._args = this.registeredArguments, this.args = [], this.rawArgs = [], this.processedArgs = [], this._scriptPath = null, this._name = e || "", this._optionValues = {}, this._optionValueSources = {}, this._storeOptionsAsProperties = !1, this._actionHandler = null, this._executableHandler = !1, this._executableFile = null, this._executableDir = null, this._defaultCommandName = null, this._exitCallback = null, this._aliases = [], this._combineFlagAndOptionalValue = !0, this._description = "", this._summary = "", this._argsDescription = void 0, this._enablePositionalOptions = !1, this._passThroughOptions = !1, this._lifeCycleHooks = {}, this._showHelpAfterError = !1, this._showSuggestionAfterError = !0, this._savedState = null, this._outputConfiguration = { writeOut: (e) => o.stdout.write(e), writeErr: (e) => o.stderr.write(e), outputError: (e, t) => t(e), getOutHelpWidth: () => o.stdout.isTTY ? o.stdout.columns : void 0, getErrHelpWidth: () => o.stderr.isTTY ? o.stderr.columns : void 0, getOutHasColors: () => _() ?? (o.stdout.isTTY && o.stdout.hasColors?.()), getErrHasColors: () => _() ?? (o.stderr.isTTY && o.stderr.hasColors?.()), stripColor: (e) => d(e) }, this._hidden = !1, this._helpOption = void 0, this._addImplicitHelpCommand = void 0, this._helpCommand = void 0, this._helpConfiguration = {}, this._helpGroupHeading = void 0, this._defaultCommandGroup = void 0, this._defaultOptionGroup = void 0; } copyInheritedSettings(e) { return this._outputConfiguration = e._outputConfiguration, this._helpOption = e._helpOption, this._helpCommand = e._helpCommand, this._helpConfiguration = e._helpConfiguration, this._exitCallback = e._exitCallback, this._storeOptionsAsProperties = e._storeOptionsAsProperties, this._combineFlagAndOptionalValue = e._combineFlagAndOptionalValue, this._allowExcessArguments = e._allowExcessArguments, this._enablePositionalOptions = e._enablePositionalOptions, this._showHelpAfterError = e._showHelpAfterError, this._showSuggestionAfterError = e._showSuggestionAfterError, this; } _getCommandAndAncestors() { let e = []; for (let t = this; t; t = t.parent) e.push(t); return e; } command(e, t, n) { let r = t, i = n; typeof r == "object" && r && (i = r, r = null), i ||= {}; let [, a, o] = e.match(/([^ ]+) *(.*)/), s = this.createCommand(a); return r && (s.description(r), s._executableHandler = !0), i.isDefault && (this._defaultCommandName = s._name), s._hidden = !!(i.noHelp || i.hidden), s._executableFile = i.executableFile || null, o && s.arguments(o), this._registerCommand(s), s.parent = this, s.copyInheritedSettings(this), r ? this : s; } createCommand(t) { return new e(t); } createHelp() { return Object.assign(new u(), this.configureHelp()); } configureHelp(e) { return e === void 0 ? this._helpConfiguration : (this._helpConfiguration = e, this); } configureOutput(e) { return e === void 0 ? this._outputConfiguration : (this._outputConfiguration = { ...this._outputConfiguration, ...e }, this); } showHelpAfterError(e = !0) { return typeof e != "string" && (e = !!e), this._showHelpAfterError = e, this; } showSuggestionAfterError(e = !0) { return this._showSuggestionAfterError = !!e, this; } addCommand(e, t) { if (!e._name) throw Error("Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()"); return t ||= {}, t.isDefault && (this._defaultCommandName = e._name), (t.noHelp || t.hidden) && (e._hidden = !0), this._registerCommand(e), e.parent = this, e._checkForBrokenPassThrough(), this; } createArgument(e, t) { return new s(e, t); } argument(e, t, n, r) { let i = this.createArgument(e, t); return typeof n == "function" ? i.default(r).argParser(n) : i.default(n), this.addArgument(i), this; } arguments(e) { return e.trim().split(/ +/).forEach((e) => { this.argument(e); }), this; } addArgument(e) { let t = this.registeredArguments.slice(-1)[0]; if (t?.variadic) throw Error(`only the last argument can be variadic '${t.name()}'`); if (e.required && e.defaultValue !== void 0 && e.parseArg === void 0) throw Error(`a default value for a required argument is never used: '${e.name()}'`); return this.registeredArguments.push(e), this; } helpCommand(e, t) { if (typeof e == "boolean") return this._addImplicitHelpCommand = e, e && this._defaultCommandGroup && this._initCommandGroup(this._getHelpCommand()), this; let [, n, r] = (e ?? "help [command]").match(/([^ ]+) *(.*)/), i = t ?? "display help for command", a = this.createCommand(n); return a.helpOption(!1), r && a.arguments(r), i && a.description(i), this._addImplicitHelpCommand = !0, this._helpCommand = a, (e || t) && this._initCommandGroup(a), this; } addHelpCommand(e, t) { return typeof e == "object" ? (this._addImplicitHelpCommand = !0, this._helpCommand = e, this._initCommandGroup(e), this) : (this.helpCommand(e, t), this); } _getHelpCommand() { return this._addImplicitHelpCommand ?? (this.commands.length && !this._actionHandler && !this._findCommand("help")) ? (this._helpCommand === void 0 && this.helpCommand(void 0, void 0), this._helpCommand) : null; } hook(e, t) { let n = [ "preSubcommand", "preAction", "postAction" ]; if (!n.includes(e)) throw Error(`Unexpected value for event passed to hook : '${e}'. Expecting one of '${n.join("', '")}'`); return this._lifeCycleHooks[e] ? this._lifeCycleHooks[e].push(t) : this._lifeCycleHooks[e] = [t], this; } exitOverride(e) { return e ? this._exitCallback = e : this._exitCallback = (e) => { if (e.code !== "commander.executeSubCommandAsync") throw e; }, this; } _exit(e, t, n) { this._exitCallback && this._exitCallback(new l(e, t, n)), o.exit(e); } action(e) { let t = (t) => { let n = this.registeredArguments.length, r = t.slice(0, n); return this._storeOptionsAsProperties ? r[n] = this : r[n] = this.opts(), r.push(this), e.apply(this, r); }; return this._actionHandler = t, this; } createOption(e, t) { return new f(e, t); } _callParseArg(e, t, n, r) { try { return e.parseArg(t, n); } catch (e) { if (e.code === "commander.invalidArgument") { let t = `${r} ${e.message}`; this.error(t, { exitCode: e.exitCode, code: e.code }); } throw e; } } _registerOption(e) { let t = e.short && this._findOption(e.short) || e.long && this._findOption(e.long); if (t) { let n = e.long && this._findOption(e.long) ? e.long : e.short; throw Error(`Cannot add option '${e.flags}'${this._name && ` to command '${this._name}'`} due to conflicting flag '${n}' - already used by option '${t.flags}'`); } this._initOptionGroup(e), this.options.push(e); } _registerCommand(e) { let t = (e) => [e.name()].concat(e.aliases()), n = t(e).find((e) => this._findCommand(e)); if (n) { let r = t(this._findCommand(n)).join("|"), i = t(e).join("|"); throw Error(`cannot add command '${i}' as already have command '${r}'`); } this._initCommandGroup(e), this.commands.push(e); } addOption(e) { this._registerOption(e); let t = e.name(), n = e.attributeName(); if (e.negate) { let t = e.long.replace(/^--no-/, "--"); this._findOption(t) || this.setOptionValueWithSource(n, e.defaultValue === void 0 ? !0 : e.defaultValue, "default"); } else e.defaultValue !== void 0 && this.setOptionValueWithSource(n, e.defaultValue, "default"); let r = (t, r, i) => { t == null && e.presetArg !== void 0 && (t = e.presetArg); let a = this.getOptionValue(n); t !== null && e.parseArg ? t = this._callParseArg(e, t, a, r) : t !== null && e.variadic && (t = e._collectValue(t, a)), t ??= e.negate ? !1 : e.isBoolean() || e.optional ? !0 : "", this.setOptionValueWithSource(n, t, i); }; return this.on("option:" + t, (t) => { r(t, `error: option '${e.flags}' argument '${t}' is invalid.`, "cli"); }), e.envVar && this.on("optionEnv:" + t, (t) => { r(t, `error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`, "env"); }), this; } _optionEx(e, t, n, r, i) { if (typeof t == "object" && t instanceof f) throw Error("To add an Option object use addOption() instead of option() or requiredOption()"); let a = this.createOption(t, n); if (a.makeOptionMandatory(!!e.mandatory), typeof r == "function") a.default(i).argParser(r); else if (r instanceof RegExp) { let e = r; r = (t, n) => { let r = e.exec(t); return r ? r[0] : n; }, a.default(i).argParser(r); } else a.default(r); return this.addOption(a); } option(e, t, n, r) { return this._optionEx({}, e, t, n, r); } requiredOption(e, t, n, r) { return this._optionEx({ mandatory: !0 }, e, t, n, r); } combineFlagAndOptionalValue(e = !0) { return this._combineFlagAndOptionalValue = !!e, this; } allowUnknownOption(e = !0) { return this._allowUnknownOption = !!e, this; } allowExcessArguments(e = !0) { return this._allowExcessArguments = !!e, this; } enablePositionalOptions(e = !0) { return this._enablePositionalOptions = !!e, this; } passThroughOptions(e = !0) { return this._passThroughOptions = !!e, this._checkForBrokenPassThrough(), this; } _checkForBrokenPassThrough() { if (this.parent && this._passThroughOptions && !this.parent._enablePositionalOptions) throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`); } storeOptionsAsProperties(e = !0) { if (this.options.length) throw Error("call .storeOptionsAsProperties() before adding options"); if (Object.keys(this._optionValues).length) throw Error("call .storeOptionsAsProperties() before setting option values"); return this._storeOptionsAsProperties = !!e, this; } getOptionValue(e) { return this._storeOptionsAsProperties ? this[e] : this._optionValues[e]; } setOptionValue(e, t) { return this.setOptionValueWithSource(e, t, void 0); } setOptionValueWithSource(e, t, n) { return this._storeOptionsAsProperties ? this[e] = t : this._optionValues[e] = t, this._optionValueSources[e] = n, this; } getOptionValueSource(e) { return this._optionValueSources[e]; } getOptionValueSourceWithGlobals(e) { let t; return this._getCommandAndAncestors().forEach((n) => { n.getOptionValueSource(e) !== void 0 && (t = n.getOptionValueSource(e)); }), t; } _prepareUserArgs(e, t) { if (e !== void 0 && !Array.isArray(e)) throw Error("first parameter to parse must be array or undefined"); if (t ||= {}, e === void 0 && t.from === void 0) { o.versions?.electron && (t.from = "electron"); let e = o.execArgv ?? []; (e.includes("-e") || e.includes("--eval") || e.includes("-p") || e.includes("--print")) && (t.from = "eval"); } e === void 0 && (e = o.argv), this.rawArgs = e.slice(); let n; switch (t.from) { case void 0: case "node": this._scriptPath = e[1], n = e.slice(2); break; case "electron": o.defaultApp ? (this._scriptPath = e[1], n = e.slice(2)) : n = e.slice(1); break; case "user": n = e.slice(0); break; case "eval": n = e.slice(1); break; default: throw Error(`unexpected parse option { from: '${t.from}' }`); } return !this._name && this._scriptPath && this.nameFromFilename(this._scriptPath), this._name = this._name || "program", n; } parse(e, t) { this._prepareForParse(); let n = this._prepareUserArgs(e, t); return this._parseCommand([], n), this; } async parseAsync(e, t) { this._prepareForParse(); let n = this._prepareUserArgs(e, t); return await this._parseCommand([], n), this; } _prepareForParse() { this._savedState === null ? this.saveStateBeforeParse() : this.restoreStateBeforeParse(); } saveStateBeforeParse() { this._savedState = { _name: this._name, _optionValues: { ...this._optionValues }, _optionValueSources: { ...this._optionValueSources } }; } restoreStateBeforeParse() { if (this._storeOptionsAsProperties) throw Error("Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties"); this._name = this._savedState._name, this._scriptPath = null, this.rawArgs = [], this._optionValues = { ...this._savedState._optionValues }, this._optionValueSources = { ...this._savedState._optionValueSources }, this.args = [], this.processedArgs = []; } _checkForMissingExecutable(e, t, n) { if (a.existsSync(e)) return; let r = `'${e}' does not exist - if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - if the default executable name is not suitable, use the executableFile option to supply a custom name or path - ${t ? `searched for local subcommand relative to directory '${t}'` : "no directory for search for local subcommand, use .executableDir() to supply a custom directory"}`; throw Error(r); } _executeSubCommand(e, t) { t = t.slice(); let n = !1, s = [ ".js", ".ts", ".tsx", ".mjs", ".cjs" ]; function c(e, t) { let n = i.resolve(e, t); if (a.existsSync(n)) return n; if (s.includes(i.extname(t))) return; let r = s.find((e) => a.existsSync(`${n}${e}`)); if (r) return `${n}${r}`; } this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions(); let u = e._executableFile || `${this._name}-${e._name}`, d = this._executableDir || ""; if (this._scriptPath) { let e; try { e = a.realpathSync(this._scriptPath); } catch { e = this._scriptPath; } d = i.resolve(i.dirname(e), d); } if (d) { let t = c(d, u); if (!t && !e._executableFile && this._scriptPath) { let n = i.basename(this._scriptPath, i.extname(this._scriptPath)); n !== this._name && (t = c(d, `${n}-${e._name}`)); } u = t || u; } n = s.includes(i.extname(u)); let f; o.platform === "win32" ? (this._checkForMissingExecutable(u, d, e._name), t.unshift(u), t = g(o.execArgv).concat(t), f = r.spawn(o.execPath, t, { stdio: "inherit" })) : n ? (t.unshift(u), t = g(o.execArgv).concat(t), f = r.spawn(o.argv[0], t, { stdio: "inherit" })) : f = r.spawn(u, t, { stdio: "inherit" }), f.killed || [ "SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP" ].forEach((e) => { o.on(e, () => { f.killed === !1 && f.exitCode === null && f.kill(e); }); }); let p = this._exitCallback; f.on("close", (e) => { e ??= 1, p ? p(new l(e, "commander.executeSubCommandAsync", "(close)")) : o.exit(e); }), f.on("error", (t) => { if (t.code === "ENOENT") this._checkForMissingExecutable(u, d, e._name); else if (t.code === "EACCES") throw Error(`'${u}' not executable`); if (!p) o.exit(1); else { let e = new l(1, "commander.executeSubCommandAsync", "(error)"); e.nestedError = t, p(e); } }), this.runningCommand = f; } _dispatchSubcommand(e, t, n) { let r = this._findCommand(e); r || this.help({ error: !0 }), r._prepareForParse(); let i; return i = this._chainOrCallSubCommandHook(i, r, "preSubcommand"), i = this._chainOrCall(i, () => { if (r._executableHandler) this._executeSubCommand(r, t.concat(n)); else return r._parseCommand(t, n); }), i; } _dispatchHelpCommand(e) { e || this.help(); let t = this._findCommand(e); return t && !t._executableHandler && t.help(), this._dispatchSubcommand(e, [], [this._getHelpOption()?.long ?? this._getHelpOption()?.short ?? "--help"]); } _checkNumberOfArguments() { this.registeredArguments.forEach((e, t) => { e.required && this.args[t] == null && this.missingArgument(e.name()); }), !(this.registeredArguments.length > 0 && this.registeredArguments[this.registeredArguments.length - 1].variadic) && this.args.length > this.registeredArguments.length && this._excessArguments(this.args); } _processArguments() { let e = (e, t, n) => { let r = t; if (t !== null && e.parseArg) { let i = `error: command-argument value '${t}' is invalid for argument '${e.name()}'.`; r = this._callParseArg(e, t, n, i); } return r; }; this._checkNumberOfArguments(); let t = []; this.registeredArguments.forEach((n, r) => { let i = n.defaultValue; n.variadic ? r < this.args.length ? (i = this.args.slice(r), n.parseArg && (i = i.reduce((t, r) => e(n, r, t), n.defaultValue))) : i === void 0 && (i = []) : r < this.args.length && (i = this.args[r], n.parseArg && (i = e(n, i, n.defaultValue))), t[r] = i; }), this.processedArgs = t; } _chainOrCall(e, t) { return e?.then && typeof e.then == "function" ? e.then(() => t()) : t(); } _chainOrCallHooks(e, t) { let n = e, r = []; return this._getCommandAndAncestors().reverse().filter((e) => e._lifeCycleHooks[t] !== void 0).forEach((e) => { e._lifeCycleHooks[t].forEach((t) => { r.push({ hookedCommand: e, callback: t }); }); }), t === "postAction" && r.reverse(), r.forEach((e) => { n = this._chainOrCall(n, () => e.callback(e.hookedCommand, this)); }), n; } _chainOrCallSubCommandHook(e, t, n) { let r = e; return this._lifeCycleHooks[n] !== void 0 && this._lifeCycleHooks[n].forEach((e) => { r = this._chainOrCall(r, () => e(this, t)); }), r; } _parseCommand(e, t) { let n = this.parseOptions(t); if (this._parseOptionsEnv(), this._parseOptionsImplied(), e = e.concat(n.operands), t = n.unknown, this.args = e.concat(t), e && this._findCommand(e[0])) return this._dispatchSubcommand(e[0], e.slice(1), t); if (this._getHelpCommand() && e[0] === this._getHelpCommand().name()) return this._dispatchHelpCommand(e[1]); if (this._defaultCommandName) return this._outputHelpIfRequested(t), this._dispatchSubcommand(this._defaultCommandName, e, t); this.commands.length && this.args.length === 0 && !this._actionHandler && !this._defaultCommandName && this.help({ error: !0 }), this._outputHelpIfRequested(n.unknown), this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions(); let r = () => { n.unknown.length > 0 && this.unknownOption(n.unknown[0]); }, i = `command:${this.name()}`; if (this._actionHandler) { r(), this._processArguments(); let n; return n = this._chainOrCallHooks(n, "preAction"), n = this._chainOrCall(n, () => this._actionHandler(this.processedArgs)), this.parent && (n = this._chainOrCall(n, () => { this.parent.emit(i, e, t); })), n = this._chainOrCallHooks(n, "postAction"), n; } if (this.parent?.listenerCount(i)) r(), this._processArguments(), this.parent.emit(i, e, t); else if (e.length) { if (this._findCommand("*")) return this._dispatchSubcommand("*", e, t); this.listenerCount("command:*") ? this.emit("command:*", e, t) : this.commands.length ? this.unknownCommand() : (r(), this._processArguments()); } else this.commands.length ? (r(), this.help({ error: !0 })) : (r(), this._processArguments()); } _findCommand(e) { if (e) return this.commands.find((t) => t._name === e || t._aliases.includes(e)); } _findOption(e) { return this.options.find((t) => t.is(e)); } _checkForMissingMandatoryOptions() { this._getCommandAndAncestors().forEach((e) => { e.options.forEach((t) => { t.mandatory && e.getOptionValue(t.attributeName()) === void 0 && e.missingMandatoryOptionValue(t); }); }); } _checkForConflictingLocalOptions() { let e = this.options.filter((e) => { let t = e.attributeName(); return this.getOptionValue(t) === void 0 ? !1 : this.getOptionValueSource(t) !== "default"; }); e.filter((e) => e.conflictsWith.length > 0).forEach((t) => { let n = e.find((e) => t.conflictsWith.includes(e.attributeName())); n && this._conflictingOption(t, n); }); } _checkForConflictingOptions() { this._getCommandAndAncestors().forEach((e) => { e._checkForConflictingLocalOptions(); }); } parseOptions(e) { let t = [], n = [], r = t; function i(e) { return e.length > 1 && e[0] === "-"; } let a = (e) => /^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e) ? !this._getCommandAndAncestors().some((e) => e.options.map((e) => e.short).some((e) => /^-\d$/.test(e))) : !1, o = null, s = null, c = 0; for (; c < e.length || s;) { let l = s ?? e[c++]; if (s = null, l === "--") { r === n && r.push(l), r.push(...e.slice(c)); break; } if (o && (!i(l) || a(l))) { this.emit(`option:${o.name()}`, l); continue; } if (o = null, i(l)) { let t = this._findOption(l); if (t) { if (t.required) { let n = e[c++]; n === void 0 && this.optionMissingArgument(t), this.emit(`option:${t.name()}`, n); } else if (t.optional) { let n = null; c < e.length && (!i(e[c]) || a(e[c])) && (n = e[c++]), this.emit(`option:${t.name()}`, n); } else this.emit(`option:${t.name()}`); o = t.variadic ? t : null; continue; } } if (l.length > 2 && l[0] === "-" && l[1] !== "-") { let e = this._findOption(`-${l[1]}`); if (e) { e.required || e.optional && this._combineFlagAndOptionalValue ? this.emit(`option:${e.name()}`, l.slice(2)) : (this.emit(`option:${e.name()}`), s = `-${l.slice(2)}`); continue; } } if (/^--[^=]+=/.test(l)) { let e = l.indexOf("="), t = this._findOption(l.slice(0, e)); if (t && (t.required || t.optional)) { this.emit(`option:${t.name()}`, l.slice(e + 1)); continue; } } if (r === t && i(l) && !(this.commands.length === 0 && a(l)) && (r = n), (this._enablePositionalOptions || this._passThroughOptions) && t.length === 0 && n.length === 0) { if (this._findCommand(l)) { t.push(l), n.push(...e.slice(c)); break; } else if (this._getHelpCommand() && l === this._getHelpCommand().name()) { t.push(l, ...e.slice(c)); break; } else if (this._defaultCommandName) { n.push(l, ...e.slice(c)); break; } } if (this._passThroughOptions) { r.push(l, ...e.slice(c)); break; } r.push(l); } return { operands: t, unknown: n }; } opts() { if (this._storeOptionsAsProperties) { let e = {}, t = this.options.length; for (let n = 0; n < t; n++) { let t = this.options[n].attributeName(); e[t] = t === this._versionOptionName ? this._version : this[t]; } return e; } return this._optionValues; } optsWithGlobals() { return this._getCommandAndAncestors().reduce((e, t) => Object.assign(e, t.opts()), {}); } error(e, t) { this._outputConfiguration.outputError(`${e}\n`, this._outputConfiguration.writeErr), typeof this._showHelpAfterError == "string" ? this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`) : this._showHelpAfterError && (this._outputConfiguration.writeErr("\n"), this.outputHelp({ error: !0 })); let n = t || {}, r = n.exitCode || 1, i = n.code || "commander.error"; this._exit(r, i, e); } _parseOptionsEnv() { this.options.forEach((e) => { if (e.envVar && e.envVar in o.env) { let t = e.attributeName(); (this.getOptionValue(t) === void 0 || [ "default", "config", "env" ].includes(this.getOptionValueSource(t))) && (e.required || e.optional ? this.emit(`optionEnv:${e.name()}`, o.env[e.envVar]) : this.emit(`optionEnv:${e.name()}`)); } }); } _parseOptionsImplied() { let e = new p(this.options), t = (e) => this.getOptionValue(e) !== void 0 && !["default", "implied"].includes(this.getOptionValueSource(e)); this.options.filter((n) => n.implied !== void 0 && t(n.attributeName()) && e.valueFromOption(this.getOptionValue(n.attributeName()), n)).forEach((e) => { Object.keys(e.implied).filter((e) => !t(e)).forEach((t) => { this.setOptionValueWithSource(t, e.implied[t], "implied"); }); }); } missingArgument(e) { let t = `error: missing required argument '${e}'`; this.error(t, { code: "commander.missingArgument" }); } optionMissingArgument(e) { let t = `error: option '${e.flags}' argument missing`; this.error(t, { code: "commander.optionMissingArgument" }); } missingMandatoryOptionValue(e) { let t = `error: required option '${e.flags}' not specified`; this.error(t, { code: "commander.missingMandatoryOptionValue" }); } _conflictingOption(e, t) { let n = (e) => { let t = e.attributeName(), n = this.getOptionValue(t), r = this.options.find((e) => e.negate && t === e.attributeName()), i = this.options.find((e) => !e.negate && t === e.attributeName()); return r && (r.presetArg === void 0 && n === !1 || r.presetArg !== void 0 && n === r.presetArg) ? r : i || e; }, r = (e) => { let t = n(e), r = t.attributeName(); return this.getOptionValueSource(r) === "env" ? `environment variable '${t.envVar}'` : `option '${t.flags}'`; }, i = `error: ${r(e)} cannot be used with ${r(t)}`; this.error(i, { code: "commander.conflictingOption" }); } unknownOption(e) { if (this._allowUnknownOption) return; let t = ""; if (e.startsWith("--") && this._showSuggestionAfterError) { let n = [], r = this; do { let e = r.createHelp().visibleOptions(r).filter((e) => e.long).map((e) => e.long); n = n.concat(e), r = r.parent; } while (r && !r._enablePositionalOptions); t = m(e, n); } let n = `error: unknown option '${e}'${t}`; this.error(n, { code: "commander.unknownOption" }); } _excessArguments(e) { if (this._allowExcessArguments) return; let t = this.registeredArguments.length, n = t === 1 ? "" : "s", r = `error: too many arguments${this.parent ? ` for '${this.name()}'` : ""}. Expected ${t} argument${n} but got ${e.length}.`; this.error(r, { code: "commander.excessArguments" }); } unknownCommand() { let e = this.args[0], t = ""; if (this._showSuggestionAfterError) { let n = []; this.createHelp().visibleCommands(this).forEach((e) => { n.push(e.name()), e.alias() && n.push(e.alias()); }), t = m(e, n); } let n = `error: unknown command '${e}'${t}`; this.error(n, { code: "commander.unknownCommand" }); } version(e, t, n) { if (e === void 0) return this._version; this._version = e, t ||= "-V, --version", n ||= "output the version number"; let r = this.createOption(t, n); return this._versionOptionName = r.attributeName(), this._registerOption(r), this.on("option:" + r.name(), () => { this._outputConfiguration.writeOut(`${e}\n`), this._exit(0, "commander.version", e); }), this; } description(e, t) { return e === void 0 && t === void 0 ? this._description : (this._description = e, t && (this._argsDescription = t), this); } summary(e) { return e === void 0 ? this._summary : (this._summary = e, this); } alias(e) { if (e === void 0) return this._aliases[0]; let t = this; if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler && (t = this.commands[this.commands.length - 1]), e === t._name) throw Error("Command alias can't be the same as its name"); let n = this.parent?._findCommand(e); if (n) { let t = [n.name()].concat(n.aliases()).join("|"); throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`); } return t._aliases.push(e), this; } aliases(e) { return e === void 0 ? this._aliases : (e.forEach((e) => this.alias(e)), this); } usage(e) { if (e === void 0) { if (this._usage) return this._usage; let e = this.registeredArguments.map((e) => c(e)); return [].concat(this.options.length || this._helpOption !== null ? "[options]" : [], this.commands.length ? "[command]" : [], this.registeredArguments.length ? e : []).join(" "); } return this._usage = e, this; } name(e) { return e === void 0 ? this._name : (this._name = e, this); } helpGroup(e) { return e === void 0 ? this._helpGroupHeading ?? "" : (this._helpGroupHeading = e, this); } commandsGroup(e) { return e === void 0 ? this._defaultCommandGroup ?? "" : (this._defaultCommandGroup = e, this); } optionsGroup(e) { return e === void 0 ? this._defaultOptionGroup ?? "" : (this._defaultOptionGroup = e, this); } _initOptionGroup(e) { this._defaultOptionGroup && !e.helpGroupHeading && e.helpGroup(this._defaultOptionGroup); } _initCommandGroup(e) { this._defaultCommandGroup && !e.helpGroup() && e.helpGroup(this._defaultCommandGroup); } nameFromFilename(e) { return this._name = i.basename(e, i.extname(e)), this; } executableDir(e) { return e === void 0 ? this._executableDir : (this._executableDir = e, this); } helpInformation(e) { let t = this.createHelp(), n = this._getOutputContext(e); t.prepareContext({ error: n.error, helpWidth: n.helpWidth, outputHasColors: n.hasColors }); let r = t.formatHelp(this, t); return n.hasColors ? r : this._outputConfiguration.stripColor(r); } _getOutputContext(e) { e ||= {}; let t = !!e.error, n, r, i; return t ? (n = (e) => this._outputConfiguration.writeErr(e), r = this._outputConfiguration.getErrHasColors(), i = this._outputConfiguration.getErrHelpWidth()) : (n = (e) => this._outputConfiguration.writeOut(e), r = this._outputConfiguration.getOutHasColors(), i = this._outputConfiguration.getOutHelpWidth()), { error: t, write: (e) => (r || (e = this._outputConfiguration.stripColor(e)), n(e)), hasColors: r, helpWidth: i }; } outputHelp(e) { let t; typeof e == "function" && (t = e, e = void 0); let n = this._getOutputContext(e), r = { error: n.error, write: n.write, command: this }; this._getCommandAndAncestors().reverse().forEach((e) => e.emit("beforeAllHelp", r)), this.emit("beforeHelp", r); let i = this.helpInformation({ error: n.error }); if (t && (i = t(i), typeof i != "string" && !Buffer.isBuffer(i))) throw Error("outputHelp callback must return a string or a Buffer"); n.write(i), this._getHelpOption()?.long && this.emit(this._getHelpOption().long), this.emit("afterHelp", r), this._getCommandAndAncestors().forEach((e) => e.emit("afterAllHelp", r)); } helpOption(e, t) { return typeof e == "boolean" ? (e ? (this._helpOption === null && (this._helpOption = void 0), this._defaultOptionGroup && this._initOptionGroup(this._getHelpOption())) : this._helpOption = null, this) : (this._helpOption = this.createOption(e ?? "-h, --help", t ?? "display help for command"), (e || t) && this._initOptionGroup(this._helpOption), this); } _getHelpOption() { return this._helpOption === void 0 && this.helpOption(void 0, void 0), this._helpOption; } addHelpOption(e) { return this._helpOption = e, this._initOptionGroup(e), this; } help(e) { this.outputHelp(e); let t = Number(o.exitCode ?? 0); t === 0 && e && typeof e != "function" && e.error && (t = 1), this._exit(t, "commander.help", "(outputHelp)"); } addHelpText(e, t) { let n = [ "beforeAll", "before", "after", "afterAll" ]; if (!n.includes(e)) throw Error(`Unexpected value for position to addHelpText. Expecting one of '${n.join("', '")}'`); let r = `${e}Help`; return this.on(r, (e) => { let n; n = typeof t == "function" ? t({ error: e.error, command: e.command }) : t, n && e.write(`${n}\n`); }), this; } _outputHelpIfRequested(e) { let t = this._getHelpOption(); t && e.find((e) => t.is(e)) && (this.outputHelp(), this._exit(0, "commander.helpDisplayed", "(outputHelp)")); } }; function g(e) { return e.map((e) => { if (!e.startsWith("--inspect")) return e; let t, n = "127.0.0.1", r = "9229", i; return (i = e.match(/^(--inspect(-brk)?)$/)) === null ? (i = e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/)) === null ? (i = e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/)) !== null && (t = i[1], n = i[3], r = i[4]) : (t = i[1], /^\d+$/.test(i[3]) ? r = i[3] : n = i[3]) : t = i[1], t && r !== "0" ? `${t}=${n}:${parseInt(r) + 1}` : e; }); } function _() { if (o.env.NO_COLOR || o.env.FORCE_COLOR === "0" || o.env.FORCE_COLOR === "false") return !1; if (o.env.FORCE_COLOR || o.env.CLICOLOR_FORCE !== void 0) return !0; } e.Command = h, e.useColor = _; })), { program: j, createCommand: oe, createArgument: se, createOption: ce, CommanderError: le, InvalidArgumentError: ue, InvalidOptionArgumentError: de, Command: fe, Argument: pe, Option: me, Help: he } = (/* @__PURE__ */ y((/* @__PURE__ */ u(((e) => { var { Argument: t } = te(), { Command: n } = ae(), { CommanderError: r, InvalidArgumentError: i } = A(), { Help: a } = ne(), { Option: o } = re(); e.program = new n(), e.createCommand = (e) => new n(e), e.createOption = (e, t) => new o(e, t), e.createArgument = (e, n) => new t(e, n), e.Command = n, e.Option = o, e.Argument = t, e.Help = a, e.CommanderError = r, e.InvalidArgumentError = i, e.InvalidOptionArgumentError = i; })))(), 1)).default, ge = /* @__PURE__ */ u(((e, n) => { var r = t("constants"), i = process.cwd, a = null, o = process.env.GRACEFUL_FS_PLATFORM || process.platform; process.cwd = function() { return a ||= i.call(process), a; }; try { process.cwd(); } catch {} if (typeof process.chdir == "function") { var s = process.chdir; process.chdir = function(e) { a = null, s.call(process, e); }, Object.setPrototypeOf && Object.setPrototypeOf(process.chdir, s); } n.exports = c; function c(e) { r.hasOwnProperty("O_SYMLINK") && process.vers