UNPKG

npm-check-updates

Version:

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

1,203 lines 220 kB
#!/usr/bin/env node import { a as e, i as t, n, o as r, r as i, t as a } from "./chunks/rolldown-runtime-CJfroGDQ.js"; import o, { _ as s, a as c, c as l, d as u, f as d, g as f, h as p, i as m, m as h, o as g, p as _, r as v, s as 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 ee from "node:tty"; import { fileURLToPath as T } from "node:url"; import { format as E, promisify as D, stripVTControlCharacters as te } from "node:util"; import ne from "path"; import re, { spawn as ie } from "node:child_process"; import O from "node:fs"; import { EventEmitter as ae } from "node:events"; //#region node_modules/commander/lib/error.js var oe = 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; } }, se = class extends oe { constructor(e) { super(1, "commander.invalidArgument", e), Error.captureStackTrace(this, this.constructor), this.name = this.constructor.name; } }, ce = 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; } 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, t) => { if (!this.argChoices.includes(e)) throw new se(`Allowed choices are ${this.argChoices.join(", ")}.`); return this.variadic ? this._collectValue(e, t) : e; }, this; } argRequired() { return this.required = !0, this; } argOptional() { return this.required = !1, this; } }; function le(e) { let t = e.name() + (e.variadic === !0 ? "..." : ""); return e.required ? "<" + t + ">" : "[" + t + "]"; } //#endregion //#region node_modules/commander/lib/help.js var ue = 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 t = e.registeredArguments.map((e) => le(e)).join(" "); return e._name + (e._aliases[0] ? "|" + e._aliases[0] : "") + (e.options.length ? " [options]" : "") + (t ? " " + t : ""); } 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 te(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"); } }, de = 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 = me(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, t) => { if (!this.argChoices.includes(e)) throw new se(`Allowed choices are ${this.argChoices.join(", ")}.`); return this.variadic ? this._collectValue(e, t) : e; }, this; } name() { return this.long ? this.long.replace(/^--/, "") : this.short.replace(/^-/, ""); } attributeName() { return this.negate ? pe(this.name().replace(/^no-/, "")) : pe(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; } }, fe = 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 && r; return t.negate === (i === e); } }; function pe(e) { return e.split("-").reduce((e, t) => e + t[0].toUpperCase() + t.slice(1)); } function me(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 }; } //#endregion //#region node_modules/commander/lib/suggestSimilar.js var he = 3; function ge(e, t) { if (Math.abs(e.length - t.length) > he) return Math.max(e.length, t.length); let n = []; for (let t = 0; t <= e.length; t++) n[t] = [t]; for (let e = 0; e <= t.length; e++) n[0][e] = e; for (let r = 1; r <= t.length; r++) for (let i = 1; i <= e.length; i++) { let a; a = e[i - 1] === t[r - 1] ? 0 : 1, n[i][r] = Math.min(n[i - 1][r] + 1, n[i][r - 1] + 1, n[i - 1][r - 1] + a), i > 1 && r > 1 && e[i - 1] === t[r - 2] && e[i - 2] === t[r - 1] && (n[i][r] = Math.min(n[i][r], n[i - 2][r - 2] + 1)); } return n[e.length][t.length]; } function _e(e, t) { if (!t || t.length === 0) return ""; t = Array.from(new Set(t)); let n = e.startsWith("--"); n && (e = e.slice(2), t = t.map((e) => e.slice(2))); let r = [], i = he; return t.forEach((t) => { if (t.length <= 1) return; let n = ge(e, t), a = Math.max(e.length, t.length); (a - n) / a > .4 && (n < i ? (i = n, r = [t]) : n === i && r.push(t)); }), r.sort((e, t) => e.localeCompare(t)), n && (r = r.map((e) => `--${e}`)), r.length > 1 ? `\n(Did you mean one of ${r.join(", ")}?)` : r.length === 1 ? `\n(Did you mean ${r[0]}?)` : ""; } //#endregion //#region node_modules/commander/lib/command.js var ve = class e extends ae { 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) => C.stdout.write(e), writeErr: (e) => C.stderr.write(e), outputError: (e, t) => t(e), getOutHelpWidth: () => C.stdout.isTTY ? C.stdout.columns : void 0, getErrHelpWidth: () => C.stderr.isTTY ? C.stderr.columns : void 0, getOutHasColors: () => be() ?? (C.stdout.isTTY && C.stdout.hasColors?.()), getErrHasColors: () => be() ?? (C.stderr.isTTY && C.stderr.hasColors?.()), stripColor: (e) => te(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 ue(), 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 ce(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 this._exitCallback = e || ((e) => { if (e.code !== "commander.executeSubCommandAsync") throw e; }), this; } _exit(e, t, n) { this._exitCallback && this._exitCallback(new oe(e, t, n)), C.exit(e); } action(e) { let t = (t) => { let n = this.registeredArguments.length, r = t.slice(0, n); return r[n] = this._storeOptionsAsProperties ? this : this.opts(), r.push(this), e.apply(this, r); }; return this._actionHandler = t, this; } createOption(e, t) { return new de(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(); 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) => { let n = `error: option '${e.flags}' argument '${t}' is invalid.`; r(t, n, "cli"); }), e.envVar && this.on("optionEnv:" + t, (t) => { let n = `error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`; r(t, n, "env"); }), this; } _optionEx(e, t, n, r, i) { if (typeof t == "object" && t instanceof de) 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) { C.versions?.electron && (t.from = "electron"); let e = C.execArgv ?? []; (e.includes("-e") || e.includes("--eval") || e.includes("-p") || e.includes("--print")) && (t.from = "eval"); } e === void 0 && (e = C.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": C.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.options.filter((e) => e.negate && e.defaultValue === void 0 && this.getOptionValue(e.attributeName()) === void 0).forEach((e) => { let t = e.long.replace(/^--no-/, "--"); this._findOption(t) || this.setOptionValueWithSource(e.attributeName(), !0, "default"); }), 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 (O.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 = [ ".js", ".ts", ".tsx", ".mjs", ".cjs" ]; function r(e, t) { let r = b.resolve(e, t); if (O.existsSync(r)) return r; if (n.includes(b.extname(t))) return; let i = n.find((e) => O.existsSync(`${r}${e}`)); if (i) return `${r}${i}`; } this._checkForMissingMandatoryOptions(), this._checkForConflictingOptions(); let i = e._executableFile || `${this._name}-${e._name}`, a = this._executableDir || ""; if (this._scriptPath) { let e; try { e = O.realpathSync(this._scriptPath); } catch { e = this._scriptPath; } a = b.resolve(b.dirname(e), a); } if (a) { let t = r(a, i); if (!t && !e._executableFile && this._scriptPath) { let n = b.basename(this._scriptPath, b.extname(this._scriptPath)); n !== this._name && (t = r(a, `${n}-${e._name}`)); } i = t || i; } let o = n.includes(b.extname(i)), s; C.platform === "win32" ? (this._checkForMissingExecutable(i, a, e._name), t.unshift(i), t = ye(C.execArgv).concat(t), s = re.spawn(C.execPath, t, { stdio: "inherit" })) : o ? (t.unshift(i), t = ye(C.execArgv).concat(t), s = re.spawn(C.argv[0], t, { stdio: "inherit" })) : s = re.spawn(i, t, { stdio: "inherit" }), s.killed || [ "SIGUSR1", "SIGUSR2", "SIGTERM", "SIGINT", "SIGHUP" ].forEach((e) => { C.on(e, () => { s.killed === !1 && s.exitCode === null && s.kill(e); }); }); let c = this._exitCallback; s.on("close", (e) => { e ??= 1, c ? c(new oe(e, "commander.executeSubCommandAsync", "(close)")) : C.exit(e); }), s.on("error", (t) => { if (t.code === "ENOENT") this._checkForMissingExecutable(i, a, e._name); else if (t.code === "EACCES") throw Error(`'${i}' not executable`); if (!c) C.exit(1); else { let e = new oe(1, "commander.executeSubCommandAsync", "(error)"); e.nestedError = t, c(e); } }), this.runningCommand = s; } _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 && 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; } if (this._getHelpCommand() && l === this._getHelpCommand().name()) { t.push(l, ...e.slice(c)); break; } 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 C.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()}`, C.env[e.envVar]) : this.emit(`optionEnv:${e.name()}`)); } }); } _parseOptionsImplied() { let e = new fe(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 = _e(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 = e.length, i = `error: too many arguments${this.parent ? ` for '${this.name()}'` : ""}. Expected ${t} argument${n} but got ${r}: ${e.join(", ")}.`; this.error(i, { 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 = _e(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) => le(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 = b.basename(e, b.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(C.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 ye(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 be() { if (C.env.NO_COLOR || C.env.FORCE_COLOR === "0" || C.env.FORCE_COLOR === "false") return !1; if (C.env.FORCE_COLOR || C.env.CLICOLOR_FORCE !== void 0) return !0; } //#endregion //#region node_modules/commander/index.js var k = new ve(), xe = /* @__PURE__ */ a(((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.version.match(/^v0\.6\.[0-2]|^v0\.5\./) && t(e), e.lutimes || n(e), e.chown = s(e.chown), e.fchown = s(e.fchown), e.lchown = s(e.lchown), e.chmod = i(e.chmod), e.fchmod = i(e.fchmod), e.lchmod = i(e.lchmod), e.chownSync = c(e.chownSync), e.fchownSync = c(e.fchownSync), e.lchownSync = c(e.lchownSync), e.chmodSync = a(e.chmodSync), e.fchmodSync = a(e.fchmodSync), e.lchmodSync = a(e.lchmodSync), e.stat = l(e.stat), e.fstat = l(e.fstat), e.lstat = l(e.lstat), e.statSync = u(e.statSync), e.fstatSync = u(e.fstatSync), e.lstatSync = u(e.lstatSync), e.chmod && !e.lchmod && (e.lchmod = function(e, t, n) { n && process.nextTick(n); }, e.lchmodSync = function() {}), e.chown && !e.lchown && (e.lchown = function(e, t, n, r) { r && process.nextTick(r); }, e.lchownSync = function() {}), o === "win32" && (e.rename = typeof e.rename == "function" ? (function(t) { function n(n, r, i) { var a = Date.now(), o = 0; t(n, r, function s(c) { if (c && (c.code === "EACCES" || c.code === "EPERM" || c.code === "EBUSY") && Date.now() - a < 6e4) { setTimeout(function() { e.stat(r, function(e, a) { e && e.code === "ENOENT" ? t(n, r, s) : i(c); }); }, o), o < 100 && (o += 10); return; } i && i(c); }); } return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n; })(e.rename) : e.rename), e.read = typeof e.read == "function" ? (function(t) { function n(n, r, i, a, o, s) { var c; if (s && typeof s == "function") { var l = 0; c = function(u, d, f) { if (u && u.code === "EAGAIN" && l < 10) return l++, t.call(e, n, r, i, a, o, c); s.apply(this, arguments); }; } return t.call(e, n, r, i, a, o, c); } return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n; })(e.read) : e.read, e.readSync = typeof e.readSync == "function" ? (function(t) { return function(n, r, i, a, o) { for (var s = 0;;) try { return t.call(e, n, r, i, a, o); } catch (e) { if (e.code === "EAGAIN" && s < 10) { s++; continue; } throw e; } }; })(e.readSync) : e.readSync; function t(e) { e.lchmod = function