spec-score
Version:
A lightweight application for OpenAPI spec validation and scoring.
32 lines • 470 kB
JavaScript
#!/usr/bin/env node
import{createRequire as IX}from"node:module";var CX=Object.create;var{getPrototypeOf:KX,defineProperty:iu,getOwnPropertyNames:AX}=Object;var EX=Object.prototype.hasOwnProperty;var fF=(D,$,u)=>{u=D!=null?CX(KX(D)):{};let F=$||!D||!D.__esModule?iu(u,"default",{value:D,enumerable:!0}):u;for(let f of AX(D))if(!EX.call(F,f))iu(F,f,{get:()=>D[f],enumerable:!0});return F};var M=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var PX=(D,$)=>{for(var u in $)iu(D,u,{get:$[u],enumerable:!0,configurable:!0,set:(F)=>$[u]=()=>F})};var TX=(D,$)=>()=>(D&&($=D(D=0)),$);var mD=IX(import.meta.url);var A8=M((LX)=>{class du extends Error{constructor(D,$,u){super(u);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=D,this.nestedError=void 0}}class BF extends du{constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}LX.CommanderError=du;LX.InvalidArgumentError=BF});var H$=M((bX)=>{var{InvalidArgumentError:jX}=A8();class qF{constructor(D,$){switch(this.description=$||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(D,$){if($===this.defaultValue||!Array.isArray($))return[D];return $.concat(D)}default(D,$){return this.defaultValue=D,this.defaultValueDescription=$,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=($,u)=>{if(!this.argChoices.includes($))throw new jX(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,u);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function OX(D){let $=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+$+">":"["+$+"]"}bX.Argument=qF;bX.humanReadableArgName=OX});var pu=M((vX)=>{var{humanReadableArgName:yX}=H$();class ZF{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let $=D.commands.filter((F)=>!F._hidden),u=D._getHelpCommand();if(u&&!u._hidden)$.push(u);if(this.sortSubcommands)$.sort((F,f)=>{return F.name().localeCompare(f.name())});return $}compareOptions(D,$){let u=(F)=>{return F.short?F.short.replace(/^-/,""):F.long.replace(/^--/,"")};return u(D).localeCompare(u($))}visibleOptions(D){let $=D.options.filter((F)=>!F.hidden),u=D._getHelpOption();if(u&&!u.hidden){let F=u.short&&D._findOption(u.short),f=u.long&&D._findOption(u.long);if(!F&&!f)$.push(u);else if(u.long&&!f)$.push(D.createOption(u.long,u.description));else if(u.short&&!F)$.push(D.createOption(u.short,u.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let $=[];for(let u=D.parent;u;u=u.parent){let F=u.options.filter((f)=>!f.hidden);$.push(...F)}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach(($)=>{$.description=$.description||D._argsDescription[$.name()]||""});if(D.registeredArguments.find(($)=>$.description))return D.registeredArguments;return[]}subcommandTerm(D){let $=D.registeredArguments.map((u)=>yX(u)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+($?" "+$:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,$){return $.visibleCommands(D).reduce((u,F)=>{return Math.max(u,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(F))))},0)}longestOptionTermLength(D,$){return $.visibleOptions(D).reduce((u,F)=>{return Math.max(u,this.displayWidth($.styleOptionTerm($.optionTerm(F))))},0)}longestGlobalOptionTermLength(D,$){return $.visibleGlobalOptions(D).reduce((u,F)=>{return Math.max(u,this.displayWidth($.styleOptionTerm($.optionTerm(F))))},0)}longestArgumentTermLength(D,$){return $.visibleArguments(D).reduce((u,F)=>{return Math.max(u,this.displayWidth($.styleArgumentTerm($.argumentTerm(F))))},0)}commandUsage(D){let $=D._name;if(D._aliases[0])$=$+"|"+D._aliases[0];let u="";for(let F=D.parent;F;F=F.parent)u=F.name()+" "+u;return u+$+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let $=[];if(D.argChoices)$.push(`choices: ${D.argChoices.map((u)=>JSON.stringify(u)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")$.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)$.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)$.push(`env: ${D.envVar}`);if($.length>0){let u=`(${$.join(", ")})`;if(D.description)return`${D.description} ${u}`;return u}return D.description}argumentDescription(D){let $=[];if(D.argChoices)$.push(`choices: ${D.argChoices.map((u)=>JSON.stringify(u)).join(", ")}`);if(D.defaultValue!==void 0)$.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if($.length>0){let u=`(${$.join(", ")})`;if(D.description)return`${D.description} ${u}`;return u}return D.description}formatItemList(D,$,u){if($.length===0)return[];return[u.styleTitle(D),...$,""]}groupItems(D,$,u){let F=new Map;return D.forEach((f)=>{let q=u(f);if(!F.has(q))F.set(q,[])}),$.forEach((f)=>{let q=u(f);if(!F.has(q))F.set(q,[]);F.get(q).push(f)}),F}formatHelp(D,$){let u=$.padWidth(D,$),F=$.helpWidth??80;function f(z,G){return $.formatItem(z,u,G,$)}let q=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(D))}`,""],B=$.commandDescription(D);if(B.length>0)q=q.concat([$.boxWrap($.styleCommandDescription(B),F),""]);let Z=$.visibleArguments(D).map((z)=>{return f($.styleArgumentTerm($.argumentTerm(z)),$.styleArgumentDescription($.argumentDescription(z)))});if(q=q.concat(this.formatItemList("Arguments:",Z,$)),this.groupItems(D.options,$.visibleOptions(D),(z)=>z.helpGroupHeading??"Options:").forEach((z,G)=>{let Y=z.map((Q)=>{return f($.styleOptionTerm($.optionTerm(Q)),$.styleOptionDescription($.optionDescription(Q)))});q=q.concat(this.formatItemList(G,Y,$))}),$.showGlobalOptions){let z=$.visibleGlobalOptions(D).map((G)=>{return f($.styleOptionTerm($.optionTerm(G)),$.styleOptionDescription($.optionDescription(G)))});q=q.concat(this.formatItemList("Global Options:",z,$))}return this.groupItems(D.commands,$.visibleCommands(D),(z)=>z.helpGroup()||"Commands:").forEach((z,G)=>{let Y=z.map((Q)=>{return f($.styleSubcommandTerm($.subcommandTerm(Q)),$.styleSubcommandDescription($.subcommandDescription(Q)))});q=q.concat(this.formatItemList(G,Y,$))}),q.join(`
`)}displayWidth(D){return XF(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($==="[command]")return this.styleSubcommandText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleCommandText($)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleSubcommandText($)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,$){return Math.max($.longestOptionTermLength(D,$),$.longestGlobalOptionTermLength(D,$),$.longestSubcommandTermLength(D,$),$.longestArgumentTermLength(D,$))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,$,u,F){let q=" ".repeat(2);if(!u)return q+D;let B=D.padEnd($+D.length-F.displayWidth(D)),Z=2,J=(this.helpWidth??80)-$-Z-2,z;if(J<this.minWidthToWrap||F.preformatted(u))z=u;else z=F.boxWrap(u,J).replace(/\n/g,`
`+" ".repeat($+Z));return q+B+" ".repeat(Z)+z.replace(/\n/g,`
${q}`)}boxWrap(D,$){if($<this.minWidthToWrap)return D;let u=D.split(/\r\n|\n/),F=/[\s]*[^\s]+/g,f=[];return u.forEach((q)=>{let B=q.match(F);if(B===null){f.push("");return}let Z=[B.shift()],X=this.displayWidth(Z[0]);B.forEach((J)=>{let z=this.displayWidth(J);if(X+z<=$){Z.push(J),X+=z;return}f.push(Z.join(""));let G=J.trimStart();Z=[G],X=this.displayWidth(G)}),f.push(Z.join(""))}),f.join(`
`)}}function XF(D){let $=/\x1b\[\d*(;\d*)*m/g;return D.replace($,"")}vX.Help=ZF;vX.stripColor=XF});var nu=M((hX)=>{var{InvalidArgumentError:xX}=A8();class zF{constructor(D,$){this.flags=D,this.description=$||"",this.required=D.includes("<"),this.optional=D.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(D),this.mandatory=!1;let u=gX(D);if(this.short=u.shortFlag,this.long=u.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(D,$){return this.defaultValue=D,this.defaultValueDescription=$,this}preset(D){return this.presetArg=D,this}conflicts(D){return this.conflictsWith=this.conflictsWith.concat(D),this}implies(D){let $=D;if(typeof D==="string")$={[D]:!0};return this.implied=Object.assign(this.implied||{},$),this}env(D){return this.envVar=D,this}argParser(D){return this.parseArg=D,this}makeOptionMandatory(D=!0){return this.mandatory=!!D,this}hideHelp(D=!0){return this.hidden=!!D,this}_concatValue(D,$){if($===this.defaultValue||!Array.isArray($))return[D];return $.concat(D)}choices(D){return this.argChoices=D.slice(),this.parseArg=($,u)=>{if(!this.argChoices.includes($))throw new xX(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,u);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return JF(this.name().replace(/^no-/,""));return JF(this.name())}helpGroup(D){return this.helpGroupHeading=D,this}is(D){return this.short===D||this.long===D}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class GF{constructor(D){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,D.forEach(($)=>{if($.negate)this.negativeOptions.set($.attributeName(),$);else this.positiveOptions.set($.attributeName(),$)}),this.negativeOptions.forEach(($,u)=>{if(this.positiveOptions.has(u))this.dualOptions.add(u)})}valueFromOption(D,$){let u=$.attributeName();if(!this.dualOptions.has(u))return!0;let F=this.negativeOptions.get(u).presetArg,f=F!==void 0?F:!1;return $.negate===(f===D)}}function JF(D){return D.split("-").reduce(($,u)=>{return $+u[0].toUpperCase()+u.slice(1)})}function gX(D){let $,u,F=/^-[^-]$/,f=/^--[^-]/,q=D.split(/[ |,]+/).concat("guard");if(F.test(q[0]))$=q.shift();if(f.test(q[0]))u=q.shift();if(!$&&F.test(q[0]))$=q.shift();if(!$&&f.test(q[0]))$=u,u=q.shift();if(q[0].startsWith("-")){let B=q[0],Z=`option creation failed due to '${B}' in option flags '${D}'`;if(/^-[^-][^-]/.test(B))throw new Error(`${Z}
- 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')`);if(F.test(B))throw new Error(`${Z}
- too many short flags`);if(f.test(B))throw new Error(`${Z}
- too many long flags`);throw new Error(`${Z}
- unrecognised flag format`)}if($===void 0&&u===void 0)throw new Error(`option creation failed due to no flags found in '${D}'.`);return{shortFlag:$,longFlag:u}}hX.Option=zF;hX.DualOptions=GF});var QF=M((pX)=>{function iX(D,$){if(Math.abs(D.length-$.length)>3)return Math.max(D.length,$.length);let u=[];for(let F=0;F<=D.length;F++)u[F]=[F];for(let F=0;F<=$.length;F++)u[0][F]=F;for(let F=1;F<=$.length;F++)for(let f=1;f<=D.length;f++){let q=1;if(D[f-1]===$[F-1])q=0;else q=1;if(u[f][F]=Math.min(u[f-1][F]+1,u[f][F-1]+1,u[f-1][F-1]+q),f>1&&F>1&&D[f-1]===$[F-2]&&D[f-2]===$[F-1])u[f][F]=Math.min(u[f][F],u[f-2][F-2]+1)}return u[D.length][$.length]}function dX(D,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let u=D.startsWith("--");if(u)D=D.slice(2),$=$.map((B)=>B.slice(2));let F=[],f=3,q=0.4;if($.forEach((B)=>{if(B.length<=1)return;let Z=iX(D,B),X=Math.max(D.length,B.length);if((X-Z)/X>q){if(Z<f)f=Z,F=[B];else if(Z===f)F.push(B)}}),F.sort((B,Z)=>B.localeCompare(Z)),u)F=F.map((B)=>`--${B}`);if(F.length>1)return`
(Did you mean one of ${F.join(", ")}?)`;if(F.length===1)return`
(Did you mean ${F[0]}?)`;return""}pX.suggestSimilar=dX});var MF=M((eX)=>{var cX=mD("node:events").EventEmitter,cu=mD("node:child_process"),sD=mD("node:path"),C$=mD("node:fs"),_=mD("node:process"),{Argument:rX,humanReadableArgName:oX}=H$(),{CommanderError:ru}=A8(),{Help:sX,stripColor:aX}=pu(),{Option:YF,DualOptions:tX}=nu(),{suggestSimilar:VF}=QF();class su extends cX{constructor(D){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=D||"",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:($)=>_.stdout.write($),writeErr:($)=>_.stderr.write($),outputError:($,u)=>u($),getOutHelpWidth:()=>_.stdout.isTTY?_.stdout.columns:void 0,getErrHelpWidth:()=>_.stderr.isTTY?_.stderr.columns:void 0,getOutHasColors:()=>ou()??(_.stdout.isTTY&&_.stdout.hasColors?.()),getErrHasColors:()=>ou()??(_.stderr.isTTY&&_.stderr.hasColors?.()),stripColor:($)=>aX($)},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(D){return this._outputConfiguration=D._outputConfiguration,this._helpOption=D._helpOption,this._helpCommand=D._helpCommand,this._helpConfiguration=D._helpConfiguration,this._exitCallback=D._exitCallback,this._storeOptionsAsProperties=D._storeOptionsAsProperties,this._combineFlagAndOptionalValue=D._combineFlagAndOptionalValue,this._allowExcessArguments=D._allowExcessArguments,this._enablePositionalOptions=D._enablePositionalOptions,this._showHelpAfterError=D._showHelpAfterError,this._showSuggestionAfterError=D._showSuggestionAfterError,this}_getCommandAndAncestors(){let D=[];for(let $=this;$;$=$.parent)D.push($);return D}command(D,$,u){let F=$,f=u;if(typeof F==="object"&&F!==null)f=F,F=null;f=f||{};let[,q,B]=D.match(/([^ ]+) *(.*)/),Z=this.createCommand(q);if(F)Z.description(F),Z._executableHandler=!0;if(f.isDefault)this._defaultCommandName=Z._name;if(Z._hidden=!!(f.noHelp||f.hidden),Z._executableFile=f.executableFile||null,B)Z.arguments(B);if(this._registerCommand(Z),Z.parent=this,Z.copyInheritedSettings(this),F)return this;return Z}createCommand(D){return new su(D)}createHelp(){return Object.assign(new sX,this.configureHelp())}configureHelp(D){if(D===void 0)return this._helpConfiguration;return this._helpConfiguration=D,this}configureOutput(D){if(D===void 0)return this._outputConfiguration;return this._outputConfiguration=Object.assign({},this._outputConfiguration,D),this}showHelpAfterError(D=!0){if(typeof D!=="string")D=!!D;return this._showHelpAfterError=D,this}showSuggestionAfterError(D=!0){return this._showSuggestionAfterError=!!D,this}addCommand(D,$){if(!D._name)throw new Error(`Command passed to .addCommand() must have a name
- specify the name in Command constructor or using .name()`);if($=$||{},$.isDefault)this._defaultCommandName=D._name;if($.noHelp||$.hidden)D._hidden=!0;return this._registerCommand(D),D.parent=this,D._checkForBrokenPassThrough(),this}createArgument(D,$){return new rX(D,$)}argument(D,$,u,F){let f=this.createArgument(D,$);if(typeof u==="function")f.default(F).argParser(u);else f.default(u);return this.addArgument(f),this}arguments(D){return D.trim().split(/ +/).forEach(($)=>{this.argument($)}),this}addArgument(D){let $=this.registeredArguments.slice(-1)[0];if($&&$.variadic)throw new Error(`only the last argument can be variadic '${$.name()}'`);if(D.required&&D.defaultValue!==void 0&&D.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${D.name()}'`);return this.registeredArguments.push(D),this}helpCommand(D,$){if(typeof D==="boolean"){if(this._addImplicitHelpCommand=D,D&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let u=D??"help [command]",[,F,f]=u.match(/([^ ]+) *(.*)/),q=$??"display help for command",B=this.createCommand(F);if(B.helpOption(!1),f)B.arguments(f);if(q)B.description(q);if(this._addImplicitHelpCommand=!0,this._helpCommand=B,D||$)this._initCommandGroup(B);return this}addHelpCommand(D,$){if(typeof D!=="object")return this.helpCommand(D,$),this;return this._addImplicitHelpCommand=!0,this._helpCommand=D,this._initCommandGroup(D),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(D,$){let u=["preSubcommand","preAction","postAction"];if(!u.includes(D))throw new Error(`Unexpected value for event passed to hook : '${D}'.
Expecting one of '${u.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycleHooks[D].push($);else this._lifeCycleHooks[D]=[$];return this}exitOverride(D){if(D)this._exitCallback=D;else this._exitCallback=($)=>{if($.code!=="commander.executeSubCommandAsync")throw $};return this}_exit(D,$,u){if(this._exitCallback)this._exitCallback(new ru(D,$,u));_.exit(D)}action(D){let $=(u)=>{let F=this.registeredArguments.length,f=u.slice(0,F);if(this._storeOptionsAsProperties)f[F]=this;else f[F]=this.opts();return f.push(this),D.apply(this,f)};return this._actionHandler=$,this}createOption(D,$){return new YF(D,$)}_callParseArg(D,$,u,F){try{return D.parseArg($,u)}catch(f){if(f.code==="commander.invalidArgument"){let q=`${F} ${f.message}`;this.error(q,{exitCode:f.exitCode,code:f.code})}throw f}}_registerOption(D){let $=D.short&&this._findOption(D.short)||D.long&&this._findOption(D.long);if($){let u=D.long&&this._findOption(D.long)?D.long:D.short;throw new Error(`Cannot add option '${D.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${u}'
- already used by option '${$.flags}'`)}this._initOptionGroup(D),this.options.push(D)}_registerCommand(D){let $=(F)=>{return[F.name()].concat(F.aliases())},u=$(D).find((F)=>this._findCommand(F));if(u){let F=$(this._findCommand(u)).join("|"),f=$(D).join("|");throw new Error(`cannot add command '${f}' as already have command '${F}'`)}this._initCommandGroup(D),this.commands.push(D)}addOption(D){this._registerOption(D);let $=D.name(),u=D.attributeName();if(D.negate){let f=D.long.replace(/^--no-/,"--");if(!this._findOption(f))this.setOptionValueWithSource(u,D.defaultValue===void 0?!0:D.defaultValue,"default")}else if(D.defaultValue!==void 0)this.setOptionValueWithSource(u,D.defaultValue,"default");let F=(f,q,B)=>{if(f==null&&D.presetArg!==void 0)f=D.presetArg;let Z=this.getOptionValue(u);if(f!==null&&D.parseArg)f=this._callParseArg(D,f,Z,q);else if(f!==null&&D.variadic)f=D._concatValue(f,Z);if(f==null)if(D.negate)f=!1;else if(D.isBoolean()||D.optional)f=!0;else f="";this.setOptionValueWithSource(u,f,B)};if(this.on("option:"+$,(f)=>{let q=`error: option '${D.flags}' argument '${f}' is invalid.`;F(f,q,"cli")}),D.envVar)this.on("optionEnv:"+$,(f)=>{let q=`error: option '${D.flags}' value '${f}' from env '${D.envVar}' is invalid.`;F(f,q,"env")});return this}_optionEx(D,$,u,F,f){if(typeof $==="object"&&$ instanceof YF)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let q=this.createOption($,u);if(q.makeOptionMandatory(!!D.mandatory),typeof F==="function")q.default(f).argParser(F);else if(F instanceof RegExp){let B=F;F=(Z,X)=>{let J=B.exec(Z);return J?J[0]:X},q.default(f).argParser(F)}else q.default(F);return this.addOption(q)}option(D,$,u,F){return this._optionEx({},D,$,u,F)}requiredOption(D,$,u,F){return this._optionEx({mandatory:!0},D,$,u,F)}combineFlagAndOptionalValue(D=!0){return this._combineFlagAndOptionalValue=!!D,this}allowUnknownOption(D=!0){return this._allowUnknownOption=!!D,this}allowExcessArguments(D=!0){return this._allowExcessArguments=!!D,this}enablePositionalOptions(D=!0){return this._enablePositionalOptions=!!D,this}passThroughOptions(D=!0){return this._passThroughOptions=!!D,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(D=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!D,this}getOptionValue(D){if(this._storeOptionsAsProperties)return this[D];return this._optionValues[D]}setOptionValue(D,$){return this.setOptionValueWithSource(D,$,void 0)}setOptionValueWithSource(D,$,u){if(this._storeOptionsAsProperties)this[D]=$;else this._optionValues[D]=$;return this._optionValueSources[D]=u,this}getOptionValueSource(D){return this._optionValueSources[D]}getOptionValueSourceWithGlobals(D){let $;return this._getCommandAndAncestors().forEach((u)=>{if(u.getOptionValueSource(D)!==void 0)$=u.getOptionValueSource(D)}),$}_prepareUserArgs(D,$){if(D!==void 0&&!Array.isArray(D))throw new Error("first parameter to parse must be array or undefined");if($=$||{},D===void 0&&$.from===void 0){if(_.versions?.electron)$.from="electron";let F=_.execArgv??[];if(F.includes("-e")||F.includes("--eval")||F.includes("-p")||F.includes("--print"))$.from="eval"}if(D===void 0)D=_.argv;this.rawArgs=D.slice();let u;switch($.from){case void 0:case"node":this._scriptPath=D[1],u=D.slice(2);break;case"electron":if(_.defaultApp)this._scriptPath=D[1],u=D.slice(2);else u=D.slice(1);break;case"user":u=D.slice(0);break;case"eval":u=D.slice(1);break;default:throw new Error(`unexpected parse option { from: '${$.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",u}parse(D,$){this._prepareForParse();let u=this._prepareUserArgs(D,$);return this._parseCommand([],u),this}async parseAsync(D,$){this._prepareForParse();let u=this._prepareUserArgs(D,$);return await this._parseCommand([],u),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
- 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(D,$,u){if(C$.existsSync(D))return;let F=$?`searched for local subcommand relative to directory '${$}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",f=`'${D}' does not exist
- if '${u}' 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
- ${F}`;throw new Error(f)}_executeSubCommand(D,$){$=$.slice();let u=!1,F=[".js",".ts",".tsx",".mjs",".cjs"];function f(J,z){let G=sD.resolve(J,z);if(C$.existsSync(G))return G;if(F.includes(sD.extname(z)))return;let Y=F.find((Q)=>C$.existsSync(`${G}${Q}`));if(Y)return`${G}${Y}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let q=D._executableFile||`${this._name}-${D._name}`,B=this._executableDir||"";if(this._scriptPath){let J;try{J=C$.realpathSync(this._scriptPath)}catch{J=this._scriptPath}B=sD.resolve(sD.dirname(J),B)}if(B){let J=f(B,q);if(!J&&!D._executableFile&&this._scriptPath){let z=sD.basename(this._scriptPath,sD.extname(this._scriptPath));if(z!==this._name)J=f(B,`${z}-${D._name}`)}q=J||q}u=F.includes(sD.extname(q));let Z;if(_.platform!=="win32")if(u)$.unshift(q),$=WF(_.execArgv).concat($),Z=cu.spawn(_.argv[0],$,{stdio:"inherit"});else Z=cu.spawn(q,$,{stdio:"inherit"});else this._checkForMissingExecutable(q,B,D._name),$.unshift(q),$=WF(_.execArgv).concat($),Z=cu.spawn(_.execPath,$,{stdio:"inherit"});if(!Z.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((z)=>{_.on(z,()=>{if(Z.killed===!1&&Z.exitCode===null)Z.kill(z)})});let X=this._exitCallback;Z.on("close",(J)=>{if(J=J??1,!X)_.exit(J);else X(new ru(J,"commander.executeSubCommandAsync","(close)"))}),Z.on("error",(J)=>{if(J.code==="ENOENT")this._checkForMissingExecutable(q,B,D._name);else if(J.code==="EACCES")throw new Error(`'${q}' not executable`);if(!X)_.exit(1);else{let z=new ru(1,"commander.executeSubCommandAsync","(error)");z.nestedError=J,X(z)}}),this.runningCommand=Z}_dispatchSubcommand(D,$,u){let F=this._findCommand(D);if(!F)this.help({error:!0});F._prepareForParse();let f;return f=this._chainOrCallSubCommandHook(f,F,"preSubcommand"),f=this._chainOrCall(f,()=>{if(F._executableHandler)this._executeSubCommand(F,$.concat(u));else return F._parseCommand($,u)}),f}_dispatchHelpCommand(D){if(!D)this.help();let $=this._findCommand(D);if($&&!$._executableHandler)$.help();return this._dispatchSubcommand(D,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((D,$)=>{if(D.required&&this.args[$]==null)this.missingArgument(D.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let D=(u,F,f)=>{let q=F;if(F!==null&&u.parseArg){let B=`error: command-argument value '${F}' is invalid for argument '${u.name()}'.`;q=this._callParseArg(u,F,f,B)}return q};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((u,F)=>{let f=u.defaultValue;if(u.variadic){if(F<this.args.length){if(f=this.args.slice(F),u.parseArg)f=f.reduce((q,B)=>{return D(u,B,q)},u.defaultValue)}else if(f===void 0)f=[]}else if(F<this.args.length){if(f=this.args[F],u.parseArg)f=D(u,f,u.defaultValue)}$[F]=f}),this.processedArgs=$}_chainOrCall(D,$){if(D&&D.then&&typeof D.then==="function")return D.then(()=>$());return $()}_chainOrCallHooks(D,$){let u=D,F=[];if(this._getCommandAndAncestors().reverse().filter((f)=>f._lifeCycleHooks[$]!==void 0).forEach((f)=>{f._lifeCycleHooks[$].forEach((q)=>{F.push({hookedCommand:f,callback:q})})}),$==="postAction")F.reverse();return F.forEach((f)=>{u=this._chainOrCall(u,()=>{return f.callback(f.hookedCommand,this)})}),u}_chainOrCallSubCommandHook(D,$,u){let F=D;if(this._lifeCycleHooks[u]!==void 0)this._lifeCycleHooks[u].forEach((f)=>{F=this._chainOrCall(F,()=>{return f(this,$)})});return F}_parseCommand(D,$){let u=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),D=D.concat(u.operands),$=u.unknown,this.args=D.concat($),D&&this._findCommand(D[0]))return this._dispatchSubcommand(D[0],D.slice(1),$);if(this._getHelpCommand()&&D[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(D[1]);if(this._defaultCommandName)return this._outputHelpIfRequested($),this._dispatchSubcommand(this._defaultCommandName,D,$);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(u.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let F=()=>{if(u.unknown.length>0)this.unknownOption(u.unknown[0])},f=`command:${this.name()}`;if(this._actionHandler){F(),this._processArguments();let q;if(q=this._chainOrCallHooks(q,"preAction"),q=this._chainOrCall(q,()=>this._actionHandler(this.processedArgs)),this.parent)q=this._chainOrCall(q,()=>{this.parent.emit(f,D,$)});return q=this._chainOrCallHooks(q,"postAction"),q}if(this.parent&&this.parent.listenerCount(f))F(),this._processArguments(),this.parent.emit(f,D,$);else if(D.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",D,$);if(this.listenerCount("command:*"))this.emit("command:*",D,$);else if(this.commands.length)this.unknownCommand();else F(),this._processArguments()}else if(this.commands.length)F(),this.help({error:!0});else F(),this._processArguments()}_findCommand(D){if(!D)return;return this.commands.find(($)=>$._name===D||$._aliases.includes(D))}_findOption(D){return this.options.find(($)=>$.is(D))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((D)=>{D.options.forEach(($)=>{if($.mandatory&&D.getOptionValue($.attributeName())===void 0)D.missingMandatoryOptionValue($)})})}_checkForConflictingLocalOptions(){let D=this.options.filter((u)=>{let F=u.attributeName();if(this.getOptionValue(F)===void 0)return!1;return this.getOptionValueSource(F)!=="default"});D.filter((u)=>u.conflictsWith.length>0).forEach((u)=>{let F=D.find((f)=>u.conflictsWith.includes(f.attributeName()));if(F)this._conflictingOption(u,F)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((D)=>{D._checkForConflictingLocalOptions()})}parseOptions(D){let $=[],u=[],F=$,f=D.slice();function q(X){return X.length>1&&X[0]==="-"}let B=(X)=>{if(!/^-\d*\.?\d+(e[+-]?\d+)?$/.test(X))return!1;return!this._getCommandAndAncestors().some((J)=>J.options.map((z)=>z.short).some((z)=>/^-\d$/.test(z)))},Z=null;while(f.length){let X=f.shift();if(X==="--"){if(F===u)F.push(X);F.push(...f);break}if(Z&&(!q(X)||B(X))){this.emit(`option:${Z.name()}`,X);continue}if(Z=null,q(X)){let J=this._findOption(X);if(J){if(J.required){let z=f.shift();if(z===void 0)this.optionMissingArgument(J);this.emit(`option:${J.name()}`,z)}else if(J.optional){let z=null;if(f.length>0&&(!q(f[0])||B(f[0])))z=f.shift();this.emit(`option:${J.name()}`,z)}else this.emit(`option:${J.name()}`);Z=J.variadic?J:null;continue}}if(X.length>2&&X[0]==="-"&&X[1]!=="-"){let J=this._findOption(`-${X[1]}`);if(J){if(J.required||J.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${J.name()}`,X.slice(2));else this.emit(`option:${J.name()}`),f.unshift(`-${X.slice(2)}`);continue}}if(/^--[^=]+=/.test(X)){let J=X.indexOf("="),z=this._findOption(X.slice(0,J));if(z&&(z.required||z.optional)){this.emit(`option:${z.name()}`,X.slice(J+1));continue}}if(F===$&&q(X)&&!(this.commands.length===0&&B(X)))F=u;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&u.length===0){if(this._findCommand(X)){if($.push(X),f.length>0)u.push(...f);break}else if(this._getHelpCommand()&&X===this._getHelpCommand().name()){if($.push(X),f.length>0)$.push(...f);break}else if(this._defaultCommandName){if(u.push(X),f.length>0)u.push(...f);break}}if(this._passThroughOptions){if(F.push(X),f.length>0)F.push(...f);break}F.push(X)}return{operands:$,unknown:u}}opts(){if(this._storeOptionsAsProperties){let D={},$=this.options.length;for(let u=0;u<$;u++){let F=this.options[u].attributeName();D[F]=F===this._versionOptionName?this._version:this[F]}return D}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((D,$)=>Object.assign(D,$.opts()),{})}error(D,$){if(this._outputConfiguration.outputError(`${D}
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
`),this.outputHelp({error:!0});let u=$||{},F=u.exitCode||1,f=u.code||"commander.error";this._exit(F,f,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in _.env){let $=D.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,_.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new tX(this.options),$=(u)=>{return this.getOptionValue(u)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(u))};this.options.filter((u)=>u.implied!==void 0&&$(u.attributeName())&&D.valueFromOption(this.getOptionValue(u.attributeName()),u)).forEach((u)=>{Object.keys(u.implied).filter((F)=>!$(F)).forEach((F)=>{this.setOptionValueWithSource(F,u.implied[F],"implied")})})}missingArgument(D){let $=`error: missing required argument '${D}'`;this.error($,{code:"commander.missingArgument"})}optionMissingArgument(D){let $=`error: option '${D.flags}' argument missing`;this.error($,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let $=`error: required option '${D.flags}' not specified`;this.error($,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,$){let u=(q)=>{let B=q.attributeName(),Z=this.getOptionValue(B),X=this.options.find((z)=>z.negate&&B===z.attributeName()),J=this.options.find((z)=>!z.negate&&B===z.attributeName());if(X&&(X.presetArg===void 0&&Z===!1||X.presetArg!==void 0&&Z===X.presetArg))return X;return J||q},F=(q)=>{let B=u(q),Z=B.attributeName();if(this.getOptionValueSource(Z)==="env")return`environment variable '${B.envVar}'`;return`option '${B.flags}'`},f=`error: ${F(D)} cannot be used with ${F($)}`;this.error(f,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let $="";if(D.startsWith("--")&&this._showSuggestionAfterError){let F=[],f=this;do{let q=f.createHelp().visibleOptions(f).filter((B)=>B.long).map((B)=>B.long);F=F.concat(q),f=f.parent}while(f&&!f._enablePositionalOptions);$=VF(D,F)}let u=`error: unknown option '${D}'${$}`;this.error(u,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,u=$===1?"":"s",f=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${u} but got ${D.length}.`;this.error(f,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],$="";if(this._showSuggestionAfterError){let F=[];this.createHelp().visibleCommands(this).forEach((f)=>{if(F.push(f.name()),f.alias())F.push(f.alias())}),$=VF(D,F)}let u=`error: unknown command '${D}'${$}`;this.error(u,{code:"commander.unknownCommand"})}version(D,$,u){if(D===void 0)return this._version;this._version=D,$=$||"-V, --version",u=u||"output the version number";let F=this.createOption($,u);return this._versionOptionName=F.attributeName(),this._registerOption(F),this.on("option:"+F.name(),()=>{this._outputConfiguration.writeOut(`${D}
`),this._exit(0,"commander.version",D)}),this}description(D,$){if(D===void 0&&$===void 0)return this._description;if(this._description=D,$)this._argsDescription=$;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let $=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)$=this.commands[this.commands.length-1];if(D===$._name)throw new Error("Command alias can't be the same as its name");let u=this.parent?._findCommand(D);if(u){let F=[u.name()].concat(u.aliases()).join("|");throw new Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${F}'`)}return $._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach(($)=>this.alias($)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let $=this.registeredArguments.map((u)=>{return oX(u)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?$:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=sD.basename(D,sD.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let $=this.createHelp(),u=this._getOutputContext(D);$.prepareContext({error:u.error,helpWidth:u.helpWidth,outputHasColors:u.hasColors});let F=$.formatHelp(this,$);if(u.hasColors)return F;return this._outputConfiguration.stripColor(F)}_getOutputContext(D){D=D||{};let $=!!D.error,u,F,f;if($)u=(B)=>this._outputConfiguration.writeErr(B),F=this._outputConfiguration.getErrHasColors(),f=this._outputConfiguration.getErrHelpWidth();else u=(B)=>this._outputConfiguration.writeOut(B),F=this._outputConfiguration.getOutHasColors(),f=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(B)=>{if(!F)B=this._outputConfiguration.stripColor(B);return u(B)},hasColors:F,helpWidth:f}}outputHelp(D){let $;if(typeof D==="function")$=D,D=void 0;let u=this._getOutputContext(D),F={error:u.error,write:u.write,command:this};this._getCommandAndAncestors().reverse().forEach((q)=>q.emit("beforeAllHelp",F)),this.emit("beforeHelp",F);let f=this.helpInformation({error:u.error});if($){if(f=$(f),typeof f!=="string"&&!Buffer.isBuffer(f))throw new Error("outputHelp callback must return a string or a Buffer")}if(u.write(f),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",F),this._getCommandAndAncestors().forEach((q)=>q.emit("afterAllHelp",F))}helpOption(D,$){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",$??"display help for command"),D||$)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let $=Number(_.exitCode??0);if($===0&&D&&typeof D!=="function"&&D.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(D,$){let u=["beforeAll","before","after","afterAll"];if(!u.includes(D))throw new Error(`Unexpected value for position to addHelpText.
Expecting one of '${u.join("', '")}'`);let F=`${D}Help`;return this.on(F,(f)=>{let q;if(typeof $==="function")q=$({error:f.error,command:f.command});else q=$;if(q)f.write(`${q}
`)}),this}_outputHelpIfRequested(D){let $=this._getHelpOption();if($&&D.find((F)=>$.is(F)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function WF(D){return D.map(($)=>{if(!$.startsWith("--inspect"))return $;let u,F="127.0.0.1",f="9229",q;if((q=$.match(/^(--inspect(-brk)?)$/))!==null)u=q[1];else if((q=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(u=q[1],/^\d+$/.test(q[3]))f=q[3];else F=q[3];else if((q=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)u=q[1],F=q[3],f=q[4];if(u&&f!=="0")return`${u}=${F}:${parseInt(f)+1}`;return $})}function ou(){if(_.env.NO_COLOR||_.env.FORCE_COLOR==="0"||_.env.FORCE_COLOR==="false")return!1;if(_.env.FORCE_COLOR||_.env.CLICOLOR_FORCE!==void 0)return!0;return}eX.Command=su;eX.useColor=ou});var KF=M((fJ)=>{var{Argument:UF}=H$(),{Command:au}=MF(),{CommanderError:uJ,InvalidArgumentError:HF}=A8(),{Help:FJ}=pu(),{Option:CF}=nu();fJ.program=new au;fJ.createCommand=(D)=>new au(D);fJ.createOption=(D,$)=>new CF(D,$);fJ.createArgument=(D,$)=>new UF(D,$);fJ.Command=au;fJ.Option=CF;fJ.Argument=UF;fJ.Help=FJ;fJ.CommanderError=uJ;fJ.InvalidArgumentError=HF;fJ.InvalidOptionArgumentError=HF});var $9={};PX($9,{prompt:()=>D9,kCancel:()=>eF});import ID,{stdin as vJ,stdout as kJ}from"node:process";import bF from"node:readline";import{WriteStream as _J}from"node:tty";function xJ(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function gJ(){if(NF)return B1;NF=1;let D="\x1B",$=`${D}[`,u="\x07",F={to(B,Z){if(!Z)return`${$}${B+1}G`;return`${$}${Z+1};${B+1}H`},move(B,Z){let X="";if(B<0)X+=`${$}${-B}D`;else if(B>0)X+=`${$}${B}C`;if(Z<0)X+=`${$}${-Z}A`;else if(Z>0)X+=`${$}${Z}B`;return X},up:(B=1)=>`${$}${B}A`,down:(B=1)=>`${$}${B}B`,forward:(B=1)=>`${$}${B}C`,backward:(B=1)=>`${$}${B}D`,nextLine:(B=1)=>`${$}E`.repeat(B),prevLine:(B=1)=>`${$}F`.repeat(B),left:`${$}G`,hide:`${$}?25l`,show:`${$}?25h`,save:`${D}7`,restore:`${D}8`},f={up:(B=1)=>`${$}S`.repeat(B),down:(B=1)=>`${$}T`.repeat(B)},q={screen:`${$}2J`,up:(B=1)=>`${$}1J`.repeat(B),down:(B=1)=>`${$}J`.repeat(B),line:`${$}2K`,lineEnd:`${$}K`,lineStart:`${$}1K`,lines(B){let Z="";for(let X=0;X<B;X++)Z+=this.line+(X<B-1?F.up():"");if(B)Z+=F.left;return Z}};return B1={cursor:F,scroll:f,erase:q,beep:u},B1}function hJ(){if(SF)return E$.exports;SF=1;let D=process||{},$=D.argv||[],u=D.env||{},F=!(!!u.NO_COLOR||$.includes("--no-color"))&&(!!u.FORCE_COLOR||$.includes("--color")||D.platform==="win32"||(D.stdout||{}).isTTY&&u.TERM!=="dumb"||!!u.CI),f=(Z,X,J=Z)=>(z)=>{let G=""+z,Y=G.indexOf(X,Z.length);return~Y?Z+q(G,X,J,Y)+X:Z+G+X},q=(Z,X,J,z)=>{let G="",Y=0;do G+=Z.substring(Y,z)+J,Y=z+X.length,z=Z.indexOf(X,Y);while(~z);return G+Z.substring(Y)},B=(Z=F)=>{let X=Z?f:()=>String;return{isColorSupported:Z,reset:X("\x1B[0m","\x1B[0m"),bold:X("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:X("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:X("\x1B[3m","\x1B[23m"),underline:X("\x1B[4m","\x1B[24m"),inverse:X("\x1B[7m","\x1B[27m"),hidden:X("\x1B[8m","\x1B[28m"),strikethrough:X("\x1B[9m","\x1B[29m"),black:X("\x1B[30m","\x1B[39m"),red:X("\x1B[31m","\x1B[39m"),green:X("\x1B[32m","\x1B[39m"),yellow:X("\x1B[33m","\x1B[39m"),blue:X("\x1B[34m","\x1B[39m"),magenta:X("\x1B[35m","\x1B[39m"),cyan:X("\x1B[36m","\x1B[39m"),white:X("\x1B[37m","\x1B[39m"),gray:X("\x1B[90m","\x1B[39m"),bgBlack:X("\x1B[40m","\x1B[49m"),bgRed:X("\x1B[41m","\x1B[49m"),bgGreen:X("\x1B[42m","\x1B[49m"),bgYellow:X("\x1B[43m","\x1B[49m"),bgBlue:X("\x1B[44m","\x1B[49m"),bgMagenta:X("\x1B[45m","\x1B[49m"),bgCyan:X("\x1B[46m","\x1B[49m"),bgWhite:X("\x1B[47m","\x1B[49m"),blackBright:X("\x1B[90m","\x1B[39m"),redBright:X("\x1B[91m","\x1B[39m"),greenBright:X("\x1B[92m","\x1B[39m"),yellowBright:X("\x1B[93m","\x1B[39m"),blueBright:X("\x1B[94m","\x1B[39m"),magentaBright:X("\x1B[95m","\x1B[39m"),cyanBright:X("\x1B[96m","\x1B[39m"),whiteBright:X("\x1B[97m","\x1B[39m"),bgBlackBright:X("\x1B[100m","\x1B[49m"),bgRedBright:X("\x1B[101m","\x1B[49m"),bgGreenBright:X("\x1B[102m","\x1B[49m"),bgYellowBright:X("\x1B[103m","\x1B[49m"),bgBlueBright:X("\x1B[104m","\x1B[49m"),bgMagentaBright:X("\x1B[105m","\x1B[49m"),bgCyanBright:X("\x1B[106m","\x1B[49m"),bgWhiteBright:X("\x1B[107m","\x1B[49m")}};return E$.exports=B(),E$.exports.createColors=B,E$.exports}function lJ({onlyFirst:D=!1}={}){let $=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp($,D?void 0:"g")}function dF(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(iJ,"")}function pF(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function E8(D,$={}){if(typeof D!="string"||D.length===0||($={ambiguousIsNarrow:!0,...$},D=dF(D),D.length===0))return 0;D=D.replace(cJ()," ");let u=$.ambiguousIsNarrow?1:2,F=0;for(let f of D){let q=f.codePointAt(0);if(q<=31||q>=127&&q<=159||q>=768&&q<=879)continue;switch(pJ.eastAsianWidth(f)){case"F":case"W":F+=2;break;case"A":F+=u;break;default:F+=1}}return F}function sJ(){let D=new Map;for(let[$,u]of Object.entries(l)){for(let[F,f]of Object.entries(u))l[F]={open:`\x1B[${f[0]}m`,close:`\x1B[${f[1]}m`},u[F]=l[F],D.set(f[0],f[1]);Object.defineProperty(l,$,{value:u,enumerable:!1})}return Object.defineProperty(l,"codes",{value:D,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=yF(),l.color.ansi256=vF(),l.color.ansi16m=kF(),l.bgColor.ansi=yF(q1),l.bgColor.ansi256=vF(q1),l.bgColor.ansi16m=kF(q1),Object.defineProperties(l,{rgbToAnsi256:{value:($,u,F)=>$===u&&u===F?$<8?16:$>248?231:Math.round(($-8)/247*24)+232:16+36*Math.round($/255*5)+6*Math.round(u/255*5)+Math.round(F/255*5),enumerable:!1},hexToRgb:{value:($)=>{let u=/[a-f\d]{6}|[a-f\d]{3}/i.exec($.toString(16));if(!u)return[0,0,0];let[F]=u;F.length===3&&(F=[...F].map((q)=>q+q).join(""));let f=Number.parseInt(F,16);return[f>>16&255,f>>8&255,f&255]},enumerable:!1},hexToAnsi256:{value:($)=>l.rgbToAnsi256(...l.hexToRgb($)),enumerable:!1},ansi256ToAnsi:{value:($)=>{if($<8)return 30+$;if($<16)return 90+($-8);let u,F,f;if($>=232)u=(($-232)*10+8)/255,F=u,f=u;else{$-=16;let Z=$%36;u=Math.floor($/36)/5,F=Math.floor(Z/6)/5,f=Z%6/5}let q=Math.max(u,F,f)*2;if(q===0)return 30;let B=30+(Math.round(f)<<2|Math.round(F)<<1|Math.round(u));return q===2&&(B+=60),B},enumerable:!1},rgbToAnsi:{value:($,u,F)=>l.ansi256ToAnsi(l.rgbToAnsi256($,u,F)),enumerable:!1},hexToAnsi:{value:($)=>l.ansi256ToAnsi(l.hexToAnsi256($)),enumerable:!1}}),l}function gF(D,$,u){return String(D).normalize().replace(/\r\n/g,`
`).split(`
`).map((F)=>uz(F,$,u)).join(`
`)}function oF(D,$){if(typeof D=="string")return T$.aliases.get(D)===$;for(let u of D)if(u!==void 0&&oF(u,$))return!0;return!1}function fz(D,$){if(D===$)return;let u=D.split(`
`),F=$.split(`
`),f=[];for(let q=0;q<Math.max(u.length,F.length);q++)u[q]!==F[q]&&f.push(q);return f}function P$(D,$){let u=D;u.isTTY&&u.setRawMode($)}class P8{constructor(D,$=!0){MD(this,"input"),MD(this,"output"),MD(this,"_abortSignal"),MD(this,"rl"),MD(this,"opts"),MD(this,"_render"),MD(this,"_track",!1),MD(this,"_prevFrame",""),MD(this,"_subscribers",new Map),MD(this,"_cursor",0),MD(this,"state","initial"),MD(this,"error",""),MD(this,"value");let{input:u=vJ,output:F=kJ,render:f,signal:q,...B}=D;this.opts=B,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=f.bind(this),this._track=$,this._abortSignal=q,this.input=u,this.output=F}unsubscribe(){this._subscribers.clear()}setSubscriber(D,$){let u=this._subscribers.get(D)??[];u.push($),this._subscribers.set(D,u)}on(D,$){this.setSubscriber(D,{cb:$})}once(D,$){this.setSubscriber(D,{cb:$,once:!0})}emit(D,...$){let u=this._subscribers.get(D)??[],F=[];for(let f of u)f.cb(...$),f.once&&F.push(()=>u.splice(u.indexOf(f),1));for(let f of F)f()}prompt(){return new Promise((D,$)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(hF);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let u=new _J(0);u._write=(F,f,q)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),q()},this.input.pipe(u),this.rl=bF.createInterface({input:this.input,output:u,tabSize:2,prompt:"",escapeCodeTimeout:50}),bF.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),P$(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(LD.cursor.show),this.output.off("resize",this.render),P$(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(LD.cursor.show),this.output.off("resize",this.render),P$(this.input,!1),D(hF)})})}onKeypress(D,$){if(this.state==="error"&&(this.state="active"),$?.name&&(!this._track&&T$.aliases.has($.name)&&this.emit("cursor",T$.aliases.get($.name)),T$.actions.has($.name)&&this.emit("cursor",$.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),D==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),D&&this.emit("key",D.toLowerCase()),$?.name==="return"){if(this.opts.validate){let u=