comp-hub 0.45.22 → 0.46.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +8 -8
- package/dist/index.js +79 -79
- package/dist/master.js +14 -14
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var sr=Object.create;var Se=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,ur=Object.prototype.hasOwnProperty;var S=(n,e)=>()=>{try{return e||n((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var pr=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of lr(e))!ur.call(n,o)&&o!==t&&Se(n,o,{get:()=>e[o],enumerable:!(r=ar(e,o))||r.enumerable});return n};var d=(n,e,t)=>(t=n!=null?sr(cr(n)):{},pr(e||!n||!n.__esModule?Se(t,"default",{value:n,enumerable:!0}):t,n));var H=S(re=>{var G=class extends Error{constructor(e,t,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},te=class extends G{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};re.CommanderError=G;re.InvalidArgumentError=te});var B=S(ie=>{var{InvalidArgumentError:ui}=H(),oe=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.length>3&&this._name.slice(-3)==="..."&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}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=(t,r)=>{if(!this.argChoices.includes(t))throw new ui(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,r):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function pi(n){let e=n.name()+(n.variadic===!0?"...":"");return n.required?"<"+e+">":"["+e+"]"}ie.Argument=oe;ie.humanReadableArgName=pi});var se=S(Et=>{var{humanReadableArgName:hi}=B(),ne=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){let t=e.commands.filter(r=>!r._hidden);if(e._hasImplicitHelpCommand()){let[,r,o]=e._helpCommandnameAndArgs.match(/([^ ]+) *(.*)/),i=e.createCommand(r).helpOption(!1);i.description(e._helpCommandDescription),o&&i.arguments(o),t.push(i)}return this.sortSubcommands&&t.sort((r,o)=>r.name().localeCompare(o.name())),t}compareOptions(e,t){let r=o=>o.short?o.short.replace(/^-/,""):o.long.replace(/^--/,"");return r(e).localeCompare(r(t))}visibleOptions(e){let t=e.options.filter(i=>!i.hidden),r=e._hasHelpOption&&e._helpShortFlag&&!e._findOption(e._helpShortFlag),o=e._hasHelpOption&&!e._findOption(e._helpLongFlag);if(r||o){let i;r?o?i=e.createOption(e._helpFlags,e._helpDescription):i=e.createOption(e._helpShortFlag,e._helpDescription):i=e.createOption(e._helpLongFlag,e._helpDescription),t.push(i)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let r=e.parent;r;r=r.parent){let o=r.options.filter(i=>!i.hidden);t.push(...o)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e._args.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e._args.find(t=>t.description)?e._args:[]}subcommandTerm(e){let t=e._args.map(r=>hi(r)).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((r,o)=>Math.max(r,t.subcommandTerm(o).length),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((r,o)=>Math.max(r,t.optionTerm(o).length),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((r,o)=>Math.max(r,t.optionTerm(o).length),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((r,o)=>Math.max(r,t.argumentTerm(o).length),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let r="";for(let o=e.parent;o;o=o.parent)r=o.name()+" "+r;return r+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];return e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).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?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let r=`(${t.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}formatHelp(e,t){let r=t.padWidth(e,t),o=t.helpWidth||80,i=2,s=2;function l(_,
|
|
3
|
-
`).replace(/^/gm," ".repeat(i))}let c=[`Usage: ${t.commandUsage(e)}`,""],u=t.commandDescription(e);u.length>0&&(c=c.concat([u,""]));let p=t.visibleArguments(e).map(_=>l(t.argumentTerm(_),t.argumentDescription(_)));p.length>0&&(c=c.concat(["Arguments:",a(p),""]));let m=t.visibleOptions(e).map(_=>l(t.optionTerm(_),t.optionDescription(_)));if(m.length>0&&(c=c.concat(["Options:",a(m),""])),this.showGlobalOptions){let _=t.visibleGlobalOptions(e).map(
|
|
2
|
+
"use strict";var sr=Object.create;var Se=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,ur=Object.prototype.hasOwnProperty;var S=(n,e)=>()=>{try{return e||n((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var pr=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of lr(e))!ur.call(n,o)&&o!==t&&Se(n,o,{get:()=>e[o],enumerable:!(r=ar(e,o))||r.enumerable});return n};var d=(n,e,t)=>(t=n!=null?sr(cr(n)):{},pr(e||!n||!n.__esModule?Se(t,"default",{value:n,enumerable:!0}):t,n));var H=S(re=>{var G=class extends Error{constructor(e,t,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},te=class extends G{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};re.CommanderError=G;re.InvalidArgumentError=te});var B=S(ie=>{var{InvalidArgumentError:ui}=H(),oe=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.length>3&&this._name.slice(-3)==="..."&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}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=(t,r)=>{if(!this.argChoices.includes(t))throw new ui(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,r):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function pi(n){let e=n.name()+(n.variadic===!0?"...":"");return n.required?"<"+e+">":"["+e+"]"}ie.Argument=oe;ie.humanReadableArgName=pi});var se=S(Et=>{var{humanReadableArgName:hi}=B(),ne=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){let t=e.commands.filter(r=>!r._hidden);if(e._hasImplicitHelpCommand()){let[,r,o]=e._helpCommandnameAndArgs.match(/([^ ]+) *(.*)/),i=e.createCommand(r).helpOption(!1);i.description(e._helpCommandDescription),o&&i.arguments(o),t.push(i)}return this.sortSubcommands&&t.sort((r,o)=>r.name().localeCompare(o.name())),t}compareOptions(e,t){let r=o=>o.short?o.short.replace(/^-/,""):o.long.replace(/^--/,"");return r(e).localeCompare(r(t))}visibleOptions(e){let t=e.options.filter(i=>!i.hidden),r=e._hasHelpOption&&e._helpShortFlag&&!e._findOption(e._helpShortFlag),o=e._hasHelpOption&&!e._findOption(e._helpLongFlag);if(r||o){let i;r?o?i=e.createOption(e._helpFlags,e._helpDescription):i=e.createOption(e._helpShortFlag,e._helpDescription):i=e.createOption(e._helpLongFlag,e._helpDescription),t.push(i)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let r=e.parent;r;r=r.parent){let o=r.options.filter(i=>!i.hidden);t.push(...o)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e._args.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e._args.find(t=>t.description)?e._args:[]}subcommandTerm(e){let t=e._args.map(r=>hi(r)).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((r,o)=>Math.max(r,t.subcommandTerm(o).length),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((r,o)=>Math.max(r,t.optionTerm(o).length),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((r,o)=>Math.max(r,t.optionTerm(o).length),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((r,o)=>Math.max(r,t.argumentTerm(o).length),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let r="";for(let o=e.parent;o;o=o.parent)r=o.name()+" "+r;return r+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];return e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).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?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let r=`(${t.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}formatHelp(e,t){let r=t.padWidth(e,t),o=t.helpWidth||80,i=2,s=2;function l(_,x){if(x){let nr=`${_.padEnd(r+s)}${x}`;return t.wrap(nr,o-i,r+s)}return _}function a(_){return _.join(`
|
|
3
|
+
`).replace(/^/gm," ".repeat(i))}let c=[`Usage: ${t.commandUsage(e)}`,""],u=t.commandDescription(e);u.length>0&&(c=c.concat([u,""]));let p=t.visibleArguments(e).map(_=>l(t.argumentTerm(_),t.argumentDescription(_)));p.length>0&&(c=c.concat(["Arguments:",a(p),""]));let m=t.visibleOptions(e).map(_=>l(t.optionTerm(_),t.optionDescription(_)));if(m.length>0&&(c=c.concat(["Options:",a(m),""])),this.showGlobalOptions){let _=t.visibleGlobalOptions(e).map(x=>l(t.optionTerm(x),t.optionDescription(x)));_.length>0&&(c=c.concat(["Global Options:",a(_),""]))}let O=t.visibleCommands(e).map(_=>l(t.subcommandTerm(_),t.subcommandDescription(_)));return O.length>0&&(c=c.concat(["Commands:",a(O),""])),c.join(`
|
|
4
4
|
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,r,o=40){if(e.match(/[\n]\s+/))return e;let i=t-r;if(i<o)return e;let s=e.slice(0,r),l=e.slice(r),a=" ".repeat(r),c=new RegExp(".{1,"+(i-1)+"}([\\s\u200B]|$)|[^\\s\u200B]+?([\\s\u200B]|$)","g"),u=l.match(c)||[];return s+u.map((p,m)=>(p.slice(-1)===`
|
|
5
5
|
`&&(p=p.slice(0,p.length-1)),(m>0?a:"")+p.trimRight())).join(`
|
|
6
6
|
`)}};Et.Help=ne});var ce=S(W=>{var{InvalidArgumentError:_i}=H(),ae=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 r=ft(e);this.short=r.shortFlag,this.long=r.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}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){return this.implied=Object.assign(this.implied||{},e),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}_concatValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,r)=>{if(!this.argChoices.includes(t))throw new _i(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._concatValue(t,r):t},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return mi(this.name().replace(/^no-/,""))}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},le=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(t=>{t.negate?this.negativeOptions.set(t.attributeName(),t):this.positiveOptions.set(t.attributeName(),t)}),this.negativeOptions.forEach((t,r)=>{this.positiveOptions.has(r)&&this.dualOptions.add(r)})}valueFromOption(e,t){let r=t.attributeName();if(!this.dualOptions.has(r))return!0;let o=this.negativeOptions.get(r).presetArg,i=o!==void 0?o:!1;return t.negate===(i===e)}};function mi(n){return n.split("-").reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function ft(n){let e,t,r=n.split(/[ |,]+/);return r.length>1&&!/^[[<]/.test(r[1])&&(e=r.shift()),t=r.shift(),!e&&/^-[^-]$/.test(t)&&(e=t,t=void 0),{shortFlag:e,longFlag:t}}W.Option=ae;W.splitOptionFlags=ft;W.DualOptions=le});var Ot=S(gt=>{function di(n,e){if(Math.abs(n.length-e.length)>3)return Math.max(n.length,e.length);let t=[];for(let r=0;r<=n.length;r++)t[r]=[r];for(let r=0;r<=e.length;r++)t[0][r]=r;for(let r=1;r<=e.length;r++)for(let o=1;o<=n.length;o++){let i=1;n[o-1]===e[r-1]?i=0:i=1,t[o][r]=Math.min(t[o-1][r]+1,t[o][r-1]+1,t[o-1][r-1]+i),o>1&&r>1&&n[o-1]===e[r-2]&&n[o-2]===e[r-1]&&(t[o][r]=Math.min(t[o][r],t[o-2][r-2]+1))}return t[n.length][e.length]}function Ei(n,e){if(!e||e.length===0)return"";e=Array.from(new Set(e));let t=n.startsWith("--");t&&(n=n.slice(2),e=e.map(s=>s.slice(2)));let r=[],o=3,i=.4;return e.forEach(s=>{if(s.length<=1)return;let l=di(n,s),a=Math.max(n.length,s.length);(a-l)/a>i&&(l<o?(o=l,r=[s]):l===o&&r.push(s))}),r.sort((s,l)=>s.localeCompare(l)),t&&(r=r.map(s=>`--${s}`)),r.length>1?`
|
|
@@ -16,22 +16,22 @@ Expecting one of '${r.join("', '")}'`);return this._lifeCycleHooks[e]?this._life
|
|
|
16
16
|
`),this.outputHelp({error:!0}));let r=t||{},o=r.exitCode||1,i=r.code||"commander.error";this._exit(o,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in h.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()}`,h.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new Ti(this.options),t=r=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter(r=>r.implied!==void 0&&t(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach(r=>{Object.keys(r.implied).filter(o=>!t(o)).forEach(o=>{this.setOptionValueWithSource(o,r.implied[o],"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 r=s=>{let l=s.attributeName(),a=this.getOptionValue(l),c=this.options.find(p=>p.negate&&l===p.attributeName()),u=this.options.find(p=>!p.negate&&l===p.attributeName());return c&&(c.presetArg===void 0&&a===!1||c.presetArg!==void 0&&a===c.presetArg)?c:u||s},o=s=>{let l=r(s),a=l.attributeName();return this.getOptionValueSource(a)==="env"?`environment variable '${l.envVar}'`:`option '${l.flags}'`},i=`error: ${o(e)} cannot be used with ${o(t)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let o=[],i=this;do{let s=i.createHelp().visibleOptions(i).filter(l=>l.long).map(l=>l.long);o=o.concat(s),i=i.parent}while(i&&!i._enablePositionalOptions);t=Ct(e,o)}let r=`error: unknown option '${e}'${t}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this._args.length,r=t===1?"":"s",i=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${r} but got ${e.length}.`;this.error(i,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let o=[];this.createHelp().visibleCommands(this).forEach(i=>{o.push(i.name()),i.alias()&&o.push(i.alias())}),t=Ct(e,o)}let r=`error: unknown command '${e}'${t}`;this.error(r,{code:"commander.unknownCommand"})}version(e,t,r){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",r=r||"output the version number";let o=this.createOption(t,r);return this._versionOptionName=o.attributeName(),this.options.push(o),this.on("option:"+o.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
17
17
|
`),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 new Error("Command alias can't be the same as its name");return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(t=>this.alias(t)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this._args.map(r=>Oi(r));return[].concat(this.options.length||this._hasHelpOption?"[options]":[],this.commands.length?"[command]":[],this._args.length?t:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}nameFromFilename(e){return this._name=P.basename(e,P.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp();return t.helpWidth===void 0&&(t.helpWidth=e&&e.error?this._outputConfiguration.getErrHelpWidth():this._outputConfiguration.getOutHelpWidth()),t.formatHelp(this,t)}_getHelpContext(e){e=e||{};let t={error:!!e.error},r;return t.error?r=o=>this._outputConfiguration.writeErr(o):r=o=>this._outputConfiguration.writeOut(o),t.write=e.write||r,t.command=this,t}outputHelp(e){let t;typeof e=="function"&&(t=e,e=void 0);let r=this._getHelpContext(e);$(this).reverse().forEach(i=>i.emit("beforeAllHelp",r)),this.emit("beforeHelp",r);let o=this.helpInformation(r);if(t&&(o=t(o),typeof o!="string"&&!Buffer.isBuffer(o)))throw new Error("outputHelp callback must return a string or a Buffer");r.write(o),this.emit(this._helpLongFlag),this.emit("afterHelp",r),$(this).forEach(i=>i.emit("afterAllHelp",r))}helpOption(e,t){if(typeof e=="boolean")return this._hasHelpOption=e,this;this._helpFlags=e||this._helpFlags,this._helpDescription=t||this._helpDescription;let r=Ci(this._helpFlags);return this._helpShortFlag=r.shortFlag,this._helpLongFlag=r.longFlag,this}help(e){this.outputHelp(e);let t=h.exitCode||0;t===0&&e&&typeof e!="function"&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw new Error(`Unexpected value for position to addHelpText.
|
|
18
18
|
Expecting one of '${r.join("', '")}'`);let o=`${e}Help`;return this.on(o,i=>{let s;typeof t=="function"?s=t({error:i.error,command:i.command}):s=t,s&&i.write(`${s}
|
|
19
|
-
`)}),this}};function Tt(n,e){n._hasHelpOption&&e.find(r=>r===n._helpLongFlag||r===n._helpShortFlag)&&(n.outputHelp(),n._exit(0,"commander.helpDisplayed","(outputHelp)"))}function Pt(n){return n.map(e=>{if(!e.startsWith("--inspect"))return e;let t,r="127.0.0.1",o="9229",i;return(i=e.match(/^(--inspect(-brk)?)$/))!==null?t=i[1]:(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=i[1],/^\d+$/.test(i[3])?o=i[3]:r=i[3]):(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],r=i[3],o=i[4]),t&&o!=="0"?`${t}=${r}:${parseInt(o)+1}`:e})}function $(n){let e=[];for(let t=n;t;t=t.parent)e.push(t);return e}St.Command=_e});var Dt=S((A,bt)=>{var{Argument:Pi}=B(),{Command:Rt}=Mt(),{CommanderError:Si,InvalidArgumentError:It}=H(),{Help:Mi}=se(),{Option:Ri}=ce();A=bt.exports=new Rt;A.program=A;A.Argument=Pi;A.Command=Rt;A.CommanderError=Si;A.Help=Mi;A.InvalidArgumentError=It;A.InvalidOptionArgumentError=It;A.Option=Ri});var Ht=S((Cn,me)=>{"use strict";var wi=require("net"),q=class extends Error{constructor(e){super(`${e} is locked`)}},y={old:new Set,young:new Set},yi=1e3*15,K,Ut=n=>new Promise((e,t)=>{let r=wi.createServer();r.unref(),r.on("error",t),r.listen(n,()=>{let{port:o}=r.address();r.close(()=>{e(o)})})}),xi=function*(n){n&&(yield*n),yield 0};me.exports=async n=>{let e;n&&(e=typeof n.port=="number"?[n.port]:n.port),K===void 0&&(K=setInterval(()=>{y.old=y.young,y.young=new Set},yi),K.unref&&K.unref());for(let t of xi(e))try{let r=await Ut({...n,port:t});for(;y.old.has(r)||y.young.has(r);){if(t!==0)throw new q(t);r=await Ut({...n,port:t})}return y.young.add(r),r}catch(r){if(!["EADDRINUSE","EACCES"].includes(r.code)&&!(r instanceof q))throw r}throw new Error("No available ports found")};me.exports.makeRange=(n,e)=>{if(!Number.isInteger(n)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(n<1024||n>65535)throw new RangeError("`from` must be between 1024 and 65535");if(e<1024||e>65536)throw new RangeError("`to` must be between 1024 and 65536");if(e<n)throw new RangeError("`to` must be greater than or equal to `from`");return function*(r,o){for(let i=r;i<=o;i++)yield i}(n,e)}});var N=d(require("fs")),_t=d(require("http")),w=d(require("path"));var it=d(require("path")),nt=d(require("os"));var hr="Comp Hub",_r="main",mr="container",dr="item",Er="/__global_config__",fr="local://",gr="comphubConfig",Or="https://intranet.comphub.cn",Ar="https://iframe.comphub.cn",Cr="https://cdn.comphub.cn/vendor",Tr="ca-pub-3825910057508741",Pr="__remote__",Sr="__local__",Mr="__admin__",Rr="https://api.comphub.cn",Ir="http://localhost:7002",br="http://127.0.0.1:5000",Dr="http://localhost:5001",Lr="http://localhost:3580",Nr="https://apiadmin.comphub.cn",wr="https://admin.comphub.cn",yr="/_module_load_prefix_",xr="/_node_modules_load_prefix_",Ur="/_comp_preview_prefix_local_",Hr="/__proxy__",$r="/__master__",vr="authorization",Fr="x-refresh-token",Vr="accept-language",kr="X-Token-Refreshed",jr="team-id",Yr="comp-hub-db",Gr="file-compiled",Br="https://oss.comphub.cn",Wr="oss:sts:token",Kr="oss:sts:expire",qr="https://prebuild.comphub.cn",Xr="/dev",Jr="/prod",Zr="/node_modules/.prebuild_module",zr="_metadata.json",Qr="vue/dist/vue.esm-bundler.js",eo="react-jsx-loader",to="vue3-sfc-loader",ro="vue2-sfc-loader",oo="sass-compiler",io="less-compiler",Me="react",no={COMP_FRAMEWORK_VUE:"vue",COMP_FRAMEWORK_REACT:Me},so="comp.json",ao="README.md",lo="main.js",co="index.vue",uo=["index.jsx","index.js","index.tsx"],po="/.comp_hub_temp",ho="screenshot_mini.png",_o=1024*1024*10,mo=1024*1024*3,Eo=30,fo=1024*150,Re="list_local",Ie="list_remote",go={COMP_LIST_TYPE_LOCAL:Re,COMP_LIST_TYPE_REMOTE:Ie},be="config",De="error",Le="dir",Ne="preview",we="extra",ye="deps",xe="readme",Ue="upgradeLog",Oo={TAB_TYPE_CONFIG:be,TAB_TYPE_ERROR:De,TAB_TYPE_DIR:Le,TAB_TYPE_PREVIEW:Ne,TAB_TYPE_EXTRA:we,TAB_TYPE_DEPS:ye,TAB_TYPE_README:xe,TAB_TYPE_UPGRADE_LOG:Ue},He="mini",$e="full",Ao={COMP_EDIT_TAB_TYPE_MINI:He,COMP_EDIT_TAB_TYPE_FULL:$e},ve="EDIT",Fe="ADD",Co={DIALOG_TYPE_EDIT:ve,DIALOG_TYPE_ADD:Fe},Ve="ONLY_INSTALL",ke="AUTO",je="MAJOR_VERSION",Ye="MINOR_VERSION",Ge="EXACT_VERSION",To={COMP_MATCH_TYPE_ONLY_INSTALL:Ve,COMP_MATCH_TYPE_AUTO:ke,COMP_MATCH_TYPE_MAJOR_VERSION:je,COMP_MATCH_TYPE_MINOR_VERSION:Ye,COMP_MATCH_TYPE_EXACT_VERSION:Ge},Be="online",We="offline",Po={COMP_UPDATE_TYPE_ONLINE:Be,COMP_UPDATE_TYPE_OFFLINE:We},Ke="NOT_EXIST",qe="EXIST",So={COMP_CHECK_STATUS_NOT_EXIST:Ke,COMP_CHECK_STATUS_EXIST:qe},Mo="__id__",Ro=0,Io=1,bo=-1,Xe="checkPreviewListForm",Je="checkExtraInfoForm",Ze="checkCompConfig",ze="checkUpgradeLogForm",Qe="getCompError",et="afterCompDel",tt="afterCompCancelCollect",rt="afterCompRenderRetry",ot="openCompTerminal",Do={COMP_METHOD_KEY_CHECK_PREVIEW_LIST_FORM:Xe,COMP_METHOD_KEY_CHECK_EXTRA_INFO_FORM:Je,COMP_METHOD_KEY_CHECK_COMP_CONFIG:Ze,COMP_METHOD_KEY_CHECK_UPGRADE_LOG_FORM:ze,COMP_METHOD_KEY_GET_COMP_ERROR:Qe,COMP_METHOD_KEY_AFTER_COMP_DEL:et,COMP_METHOD_KEY_AFTER_COMP_CANCEL_COLLECT:tt,COMP_METHOD_KEY_AFTER_COMP_RENDER_RETRY:rt,COMP_METHOD_KEY_OPEN_COMP_TERMINAL:ot},Lo="compListStore",No="compEditStore",wo="callbacks",yo={CONTAINER:{SHARE:"share",COLLECT:"collect",LOCAL:"local",MINE:"mine",SIMILAR:"similar",TEAM_ALL:"teamAll",TEAM_MINE:"teamMine",TEAM_GROUP:"teamGroup",TEAM_ADD:"teamAdd"},ITEM:{PREVIEW_REMOTE:"previewRemote",PREVIEW_LOCAL:"previewLocal",PREVIEW_EXTRANET:"previewExtranet",CAROUSEL_REMOTE:"carouselRemote",CAROUSEL_LOCAL:"carouselLocal",EDIT_PANEL:"editPanel",STORAGE_WORKER:"storageWorker"}},xo="http://127.0.0.1",Uo="http://localhost:8095",Ho="http://localhost:8096",$o="http://localhost:5198",vo="http://localhost:3056",Fo="https://www.comphub.cn",Vo="https://comphub.cn",ko="CREATE",jo="JOIN",Yo="EXIT",Go="teamAddMyComp",Bo="teamCompList",Wo="teamCompGroupList",Ko="teamMyCompList",qo="teamMyCompUpdate",Xo="__v__",Jo="local",Zo="prod",zo="local",Qo="prod",ei="http://localhost:5173",ti="https://docs.comphub.cn",ri="1.5em",oi="1.5em",ii="SUPER_ADMIN",ni="ADMIN",F={MAIN:"main",IFRAME_CONTAINER:"iframeContainer",IFRAME_ITEM:"iframeItem"},si={[F.MAIN]:{ENABLED:!0,DSN:"https://eb372d9ca4c4b35497e99966cae2c1b2@o4512055411146752.ingest.us.sentry.io/4512055626891264",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]},[F.IFRAME_CONTAINER]:{ENABLED:!0,DSN:"https://09eacfc954a80beb1aed90bbdb09b3f6@o4512055411146752.ingest.us.sentry.io/4512055609720832",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]},[F.IFRAME_ITEM]:{ENABLED:!0,DSN:"https://0a564c86371356eccceff7854690e489@o4512055411146752.ingest.us.sentry.io/4512055615029249",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]}},ai={"vue3-sfc-loader":"vue3-sfc-loader-f3c985c9.js","vue2-sfc-loader":"vue2-sfc-loader-445fb53a.js","react-jsx-loader":"react-jsx-loader-b8a3bbcb.js","sass-compiler":"sass-compiler-482885df.js","less-compiler":"less-compiler-0cc8346f.js"},L=Object.freeze(Object.defineProperty({__proto__:null,ACCEPT_LANGUAGE_HEADER_NAME:Vr,ADMIN_SERVICE_PREFIX:Mr,ADMIN_SERVICE_URL_DEV:Lr,ADMIN_SERVICE_URL_PROD:Nr,ADMIN_WEB_URL_PROD:wr,ADSENSE_CLIENT_ID:Tr,AUTHORIZATION_HEADER_NAME:vr,CACHE_KEY_STS_EXPIRE_TIME:Kr,CACHE_KEY_STS_TOKEN:Wr,COMPHUB_CONFIG_KEY:gr,COMP_ACTION_ICON_HEIGHT:oi,COMP_ACTION_ICON_WIDTH:ri,COMP_CHECK_STATUSES:So,COMP_CHECK_STATUS_EXIST:qe,COMP_CHECK_STATUS_NOT_EXIST:Ke,COMP_CONFIG_FILENAME:so,COMP_DOWNLOAD_ZIP_INLINE_MAX_TOTAL_SIZE:fo,COMP_EDIT_TAB_TYPES:Ao,COMP_EDIT_TAB_TYPE_FULL:$e,COMP_EDIT_TAB_TYPE_MINI:He,COMP_ENTRY_FILE:lo,COMP_FIELD_COMP_ID:Mo,COMP_FRAMEWORK_REACT:Me,COMP_FRAMEWORK_TYPES:no,COMP_FRAMEWORK_VUE:"vue",COMP_HUB_DEV_DOCS_URL:ei,COMP_HUB_PROD_DOCS_URL:ti,COMP_LIST_TYPES:go,COMP_LIST_TYPE_LOCAL:Re,COMP_LIST_TYPE_REMOTE:Ie,COMP_MATCH_TYPES:To,COMP_MATCH_TYPE_AUTO:ke,COMP_MATCH_TYPE_EXACT_VERSION:Ge,COMP_MATCH_TYPE_MAJOR_VERSION:je,COMP_MATCH_TYPE_MINOR_VERSION:Ye,COMP_MATCH_TYPE_ONLY_INSTALL:Ve,COMP_METHOD_KEY_AFTER_COMP_CANCEL_COLLECT:tt,COMP_METHOD_KEY_AFTER_COMP_DEL:et,COMP_METHOD_KEY_AFTER_COMP_RENDER_RETRY:rt,COMP_METHOD_KEY_CHECK_COMP_CONFIG:Ze,COMP_METHOD_KEY_CHECK_EXTRA_INFO_FORM:Je,COMP_METHOD_KEY_CHECK_PREVIEW_LIST_FORM:Xe,COMP_METHOD_KEY_CHECK_UPGRADE_LOG_FORM:ze,COMP_METHOD_KEY_GET_COMP_ERROR:Qe,COMP_METHOD_KEY_OPEN_COMP_TERMINAL:ot,COMP_PREVIEW_PREFIX_LOCAL:Ur,COMP_README_FILENAME:ao,COMP_SCREENSHOT_MINI_FILENAME:ho,COMP_SUBMIT_MAX_FILE_COUNT:Eo,COMP_SUBMIT_MAX_SINGLE_FILE_SIZE:mo,COMP_SUBMIT_MAX_TOTAL_SIZE:_o,COMP_TEMP_DIR:po,COMP_UPDATE_TYPES:Po,COMP_UPDATE_TYPE_OFFLINE:We,COMP_UPDATE_TYPE_ONLINE:Be,COMP_USE_ENTRY_FILE:co,COMP_USE_ENTRY_FILE_REACT:uo,DIALOG_TYPES:Co,DIALOG_TYPE_ADD:Fe,DIALOG_TYPE_EDIT:ve,FILE_MANAGER_DIRNAME:fr,GLOBAL_CONFIG_PATH:Er,IFRAME_HOST:xo,IFRAME_ROUTES:yo,INDEX_DB_NAME:Yr,INDEX_DB_TABLE_NAME:Gr,LESS_COMPILER_KEY:io,LOCAL_CHILD_IFRAME_URL:Uo,LOCAL_LEAF_IFRAME_URL:Ho,LOCAL_MAIN_EXTRANET_URL:vo,LOCAL_MIDWAY_ENV_LOCAL:Jo,LOCAL_MIDWAY_ENV_PROD:Zo,LOCAL_SERVICE_PREFIX:Sr,LOCAL_SERVICE_URL_DEV:br,LOCAL_SERVICE_URL_DEV_SUB:Dr,LOCAL_TOP_IFRAME_URL:$o,MASTER_API_PREFIX:$r,META_FILE_NAME:zr,MODULE_LOAD_PREFIX:yr,NODE_MODULES_LOAD_PREFIX:xr,OSS_CUSTOM_DOMAIN:Br,PREBUILD_HOST:qr,PREBUILD_MAX_SINGLE_FILE_SIZE:52428800,PREBUILD_MODULE_DIR:Zr,PREBUILD_MODULE_DIR_DEV:Xr,PREBUILD_MODULE_DIR_PROD:Jr,PROVIDE_KEYS:Do,PROVIDE_KEY_CALLBACKS:wo,PROVIDE_KEY_COMP_EDIT_STORE:No,PROVIDE_KEY_COMP_LIST_STORE:Lo,PROXY_PATH_PREFIX:Hr,REACT_JSX_LOADER_KEY:eo,REFRESH_TOKEN_HEADER_NAME:Fr,REMOTE_MAIN_EXTRANET_APEX_URL:Vo,REMOTE_MAIN_EXTRANET_URL:Fo,REMOTE_MIDWAY_ENV_LOCAL:zo,REMOTE_MIDWAY_ENV_PROD:Qo,REMOTE_SERVICE_PREFIX:Pr,REMOTE_SERVICE_URL_DEV:Ir,REMOTE_SERVICE_URL_PROD:Rr,ROLE_CODE_ADMIN:ni,ROLE_CODE_SUPER_ADMIN:ii,ROUTE_STATE_KEY_VERSION:Xo,SASS_COMPILER_KEY:oo,SCOPE_ID_TEAM_ADD_MY_COMP:Go,SCOPE_ID_TEAM_COMP_GROUP_LIST:Wo,SCOPE_ID_TEAM_COMP_LIST:Bo,SCOPE_ID_TEAM_MY_COMP_LIST:Ko,SCOPE_ID_TEAM_MY_COMP_UPDATE:qo,SENTRY_PROJECTS:si,SENTRY_PROJECT_NAMES:F,SITE_TITLE:hr,TAB_TYPES:Oo,TAB_TYPE_CONFIG:be,TAB_TYPE_DEPS:ye,TAB_TYPE_DIR:Le,TAB_TYPE_ERROR:De,TAB_TYPE_EXTRA:we,TAB_TYPE_PREVIEW:Ne,TAB_TYPE_README:xe,TAB_TYPE_UPGRADE_LOG:Ue,TEAM_ID_HEADER_NAME:jr,TEAM_OPERATE_TYPE_CREATE:ko,TEAM_OPERATE_TYPE_EXIT:Yo,TEAM_OPERATE_TYPE_JOIN:jo,VENDOR_CDN_BASE:Cr,VENDOR_LOADER_FILES:ai,VERSION_COMPARE_GREATER:Io,VERSION_COMPARE_LESS:bo,VERSION_COMPARE_SAME:Ro,VUE2_SFC_LOADER_KEY:ro,VUE3_SFC_LOADER_KEY:to,VUE_ESM_BUNDLER:Qr,WEBSITE_OSS_URL_IFRAME:Ar,WEBSITE_OSS_URL_MAIN:Or,WEBSITE_PATH_CONTAINER:mr,WEBSITE_PATH_ITEM:dr,WEBSITE_PATH_MAIN:_r,X_TOKEN_REFRESHED_HEADER_NAME:kr},Symbol.toStringTag,{value:"Module"}));var V=5478,st=L.REMOTE_SERVICE_URL_PROD,I=it.default.join(nt.default.tmpdir(),".comphub","master.json"),f={PREFIX:"/__master__",HEALTH:"/__master__/health",REGISTER:"/__master__/register",DEREGISTER:"/__master__/deregister",PROJECTS:"/__master__/projects",SHUTDOWN:"/__master__/shutdown"},at=500,lt=40,ct=2e3,k=5e3;var ee=d(require("fs")),Q=d(require("path")),ut=d(require("crypto"));function j(n){return JSON.parse(ee.default.readFileSync(n,"utf8"))}function pt(n){let e=n;for(let t=0;t<12;t++){try{let o=Q.default.join(e,"package.json");if(ee.default.existsSync(o)){let i=j(o);if(i&&i.name==="comp-hub")return e}}catch{}let r=Q.default.dirname(e);if(r===e)break;e=r}return null}function ht(n){return ut.default.createHash("sha256").update(n).digest("hex").slice(0,8)}function g(n,e){return`http://localhost:${n}${e}`}var E={cyan:n=>`\x1B[36m${n}\x1B[0m`,green:n=>`\x1B[32m${n}\x1B[0m`,white:n=>`\x1B[37m${n}\x1B[0m`,yellow:n=>`\x1B[33m${n}\x1B[0m`,red:n=>`\x1B[31m${n}\x1B[0m`};var Y=pt(__dirname)||w.default.resolve(__dirname,"..");function mt(){let n=w.default.join(Y,"package.json"),e=j(n),t=w.default.join(Y,e.main||"dist/index.js");return{pkg:e,entry:t}}function li(n){let e=w.default.join(n,".comphub.json"),t=w.default.join(n,".comphub.js");try{if(N.default.existsSync(e))return j(e)}catch{}try{if(N.default.existsSync(t)){let r=require(t);return r.default||r}}catch{}return{}}function dt(n,e){let t=li(e);return{dir:n.dir||t.dir||"./",api:n.api||t.api,allowDebug:n.allowDebug!=null?n.allowDebug:t.allowDebug!=null?t.allowDebug:!1,proxy:n.proxy||t.proxy,port:n.port,logLevel:n.logLevel||t.logLevel||"info"}}async function T(){try{if(N.default.existsSync(I)){let n=JSON.parse(N.default.readFileSync(I,"utf8"));try{if(process.kill(n.pid,0),await ci(n.managementPort))return n}catch{}try{N.default.unlinkSync(I)}catch{}}}catch{}return null}function ci(n){return new Promise(e=>{let t=_t.default.get(`http://localhost:${n}${f.HEALTH}`,r=>{let o="";r.on("data",i=>o+=i),r.on("end",()=>{try{let i=JSON.parse(o);e(typeof i.status=="string")}catch{e(!1)}})});t.on("error",()=>e(!1)),t.setTimeout(2e3,()=>{t.destroy(),e(!1)})})}var Lt=d(Dt(),1),{program:cn,createCommand:un,createArgument:pn,createOption:hn,CommanderError:_n,InvalidArgumentError:mn,InvalidOptionArgumentError:dn,Command:Nt,Argument:En,Option:b,Help:fn}=Lt.default;var Jt=d(require("fs")),Zt=d(require("path"));var wt=d(require("http")),yt=d(require("https"));var Ii="/api/v2/upgrade/check";function bi(n){return(n||st).replace(/\/+$/,"")}function Di(n,e,t){return new Promise((r,o)=>{let i=n.startsWith("https:")?yt.default:wt.default,s=JSON.stringify(e),l=new URL(n),a={hostname:l.hostname,port:l.port||(l.protocol==="https:"?443:80),path:l.pathname+l.search,method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(s)}},c=i.request(a,u=>{let p="";u.setEncoding("utf8"),u.on("data",m=>p+=m),u.on("end",()=>{let m=p;try{m=JSON.parse(p)}catch{}r({status:u.statusCode||0,body:m})})});c.on("error",o),c.setTimeout(t||k,()=>{c.destroy(new Error("Request timeout"))}),c.write(s),c.end()})}function Li(n){if(!n||n.status!==200)throw new Error(n.status?`HTTP ${n.status}`:"No response");let e=n.body?.data;if(!e||typeof e.hasUpgrade!="boolean")throw new Error("Invalid response format");return{hasUpgrade:e.hasUpgrade,isForce:!!e.isForce,latestVersion:typeof e.latestVersion=="string"?e.latestVersion:""}}function Ni(n){return n.hasUpgrade&&n.isForce?"block":n.hasUpgrade?"notice":"none"}async function xt(n){let{base:e,compHubVersion:t,timeout:r,request:o=Di}=n,i=`${bi(e)}${Ii}`;try{let s=await o(i,{compHubVersion:t},r),l=Li(s);return{ok:!0,...l,verdict:Ni(l)}}catch(s){return{ok:!1,error:s?.message||String(s)}}}var Ft=d(require("fs")),Vt=d(require("path")),kt=require("child_process"),de=d(Ht());var X=d(require("http"));function Ui(n){try{return JSON.parse(n)}catch{return n}}function v(n){return new Promise(e=>{let t=X.default.get(n,r=>{let o="";r.on("data",i=>o+=i),r.on("end",()=>e({ok:!0,status:r.statusCode,body:Ui(o)}))});t.on("error",r=>e({ok:!1,error:r.message})),t.setTimeout(ct,()=>{t.destroy(),e({ok:!1,error:"Request timeout"})})})}function M(n,e){return new Promise(t=>{let r=JSON.stringify(e),o=new URL(n),i={hostname:o.hostname,port:o.port,path:o.pathname,method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(r)}},s=X.default.request(i,l=>{let a="";l.on("data",c=>a+=c),l.on("end",()=>{try{t({ok:!0,body:JSON.parse(a)})}catch{t({ok:!1,error:"Invalid JSON response"})}})});s.on("error",l=>t({ok:!1,error:l.message})),s.setTimeout(k,()=>{s.destroy(),t({ok:!1,error:"Request timeout"})}),s.write(r),s.end()})}function $t(n,e){return new Promise((t,r)=>{let o=new URL(n),i={hostname:o.hostname,port:o.port,path:o.pathname,method:"GET",headers:{Accept:"text/event-stream"}},s=X.default.request(i,l=>{if(l.statusCode!==200){r(new Error(`SSE connection failed (HTTP ${l.statusCode})`));return}let a="";l.on("data",c=>{a+=c.toString();let u=a.split(`
|
|
19
|
+
`)}),this}};function Tt(n,e){n._hasHelpOption&&e.find(r=>r===n._helpLongFlag||r===n._helpShortFlag)&&(n.outputHelp(),n._exit(0,"commander.helpDisplayed","(outputHelp)"))}function Pt(n){return n.map(e=>{if(!e.startsWith("--inspect"))return e;let t,r="127.0.0.1",o="9229",i;return(i=e.match(/^(--inspect(-brk)?)$/))!==null?t=i[1]:(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=i[1],/^\d+$/.test(i[3])?o=i[3]:r=i[3]):(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],r=i[3],o=i[4]),t&&o!=="0"?`${t}=${r}:${parseInt(o)+1}`:e})}function $(n){let e=[];for(let t=n;t;t=t.parent)e.push(t);return e}St.Command=_e});var Lt=S((A,bt)=>{var{Argument:Pi}=B(),{Command:Rt}=Mt(),{CommanderError:Si,InvalidArgumentError:It}=H(),{Help:Mi}=se(),{Option:Ri}=ce();A=bt.exports=new Rt;A.program=A;A.Argument=Pi;A.Command=Rt;A.CommanderError=Si;A.Help=Mi;A.InvalidArgumentError=It;A.InvalidOptionArgumentError=It;A.Option=Ri});var Ht=S((Cn,me)=>{"use strict";var yi=require("net"),q=class extends Error{constructor(e){super(`${e} is locked`)}},w={old:new Set,young:new Set},wi=1e3*15,K,xt=n=>new Promise((e,t)=>{let r=yi.createServer();r.unref(),r.on("error",t),r.listen(n,()=>{let{port:o}=r.address();r.close(()=>{e(o)})})}),Ui=function*(n){n&&(yield*n),yield 0};me.exports=async n=>{let e;n&&(e=typeof n.port=="number"?[n.port]:n.port),K===void 0&&(K=setInterval(()=>{w.old=w.young,w.young=new Set},wi),K.unref&&K.unref());for(let t of Ui(e))try{let r=await xt({...n,port:t});for(;w.old.has(r)||w.young.has(r);){if(t!==0)throw new q(t);r=await xt({...n,port:t})}return w.young.add(r),r}catch(r){if(!["EADDRINUSE","EACCES"].includes(r.code)&&!(r instanceof q))throw r}throw new Error("No available ports found")};me.exports.makeRange=(n,e)=>{if(!Number.isInteger(n)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(n<1024||n>65535)throw new RangeError("`from` must be between 1024 and 65535");if(e<1024||e>65536)throw new RangeError("`to` must be between 1024 and 65536");if(e<n)throw new RangeError("`to` must be greater than or equal to `from`");return function*(r,o){for(let i=r;i<=o;i++)yield i}(n,e)}});var N=d(require("fs")),_t=d(require("http")),y=d(require("path"));var it=d(require("path")),nt=d(require("os"));var hr="Comp Hub",_r="main",mr="container",dr="item",Er="/__global_config__",fr="local://",gr="comphubConfig",Or="https://intranet.comphub.cn",Ar="https://iframe.comphub.cn",Cr="https://cdn.comphub.cn/vendor",Tr="ca-pub-3825910057508741",Pr="__remote__",Sr="__local__",Mr="__admin__",Rr="https://api.comphub.cn",Ir="http://localhost:7002",br="http://127.0.0.1:5000",Lr="http://localhost:5001",Dr="http://localhost:3580",Nr="https://apiadmin.comphub.cn",yr="https://admin.comphub.cn",wr="/_module_load_prefix_",Ur="/_node_modules_load_prefix_",xr="/_comp_preview_prefix_local_",Hr="/__proxy__",$r="/__master__",vr="authorization",Fr="x-refresh-token",Vr="accept-language",kr="X-Token-Refreshed",jr="team-id",Yr="comp-hub-db",Gr="file-compiled",Br="https://oss.comphub.cn",Wr="oss:sts:token",Kr="oss:sts:expire",qr="https://prebuild.comphub.cn",Xr="/dev",Jr="/prod",Zr="/node_modules/.prebuild_module",zr="_metadata.json",Qr="vue/dist/vue.esm-bundler.js",eo="react-jsx-loader",to="vue3-sfc-loader",ro="vue2-sfc-loader",oo="sass-compiler",io="less-compiler",Me="react",no={COMP_FRAMEWORK_VUE:"vue",COMP_FRAMEWORK_REACT:Me},so="comp.json",ao="README.md",lo="main.js",co="index.vue",uo=["index.jsx","index.js","index.tsx"],po="/.comp_hub_temp",ho="screenshot_mini.png",_o=1024*1024*10,mo=1024*1024*3,Eo=30,fo=1024*150,Re="list_local",Ie="list_remote",go={COMP_LIST_TYPE_LOCAL:Re,COMP_LIST_TYPE_REMOTE:Ie},be="config",Le="error",De="dir",Ne="preview",ye="extra",we="deps",Ue="readme",xe="upgradeLog",Oo={TAB_TYPE_CONFIG:be,TAB_TYPE_ERROR:Le,TAB_TYPE_DIR:De,TAB_TYPE_PREVIEW:Ne,TAB_TYPE_EXTRA:ye,TAB_TYPE_DEPS:we,TAB_TYPE_README:Ue,TAB_TYPE_UPGRADE_LOG:xe},He="mini",$e="full",Ao={COMP_EDIT_TAB_TYPE_MINI:He,COMP_EDIT_TAB_TYPE_FULL:$e},ve="EDIT",Fe="ADD",Co={DIALOG_TYPE_EDIT:ve,DIALOG_TYPE_ADD:Fe},Ve="ONLY_INSTALL",ke="AUTO",je="MAJOR_VERSION",Ye="MINOR_VERSION",Ge="EXACT_VERSION",To={COMP_MATCH_TYPE_ONLY_INSTALL:Ve,COMP_MATCH_TYPE_AUTO:ke,COMP_MATCH_TYPE_MAJOR_VERSION:je,COMP_MATCH_TYPE_MINOR_VERSION:Ye,COMP_MATCH_TYPE_EXACT_VERSION:Ge},Be="online",We="offline",Po={COMP_UPDATE_TYPE_ONLINE:Be,COMP_UPDATE_TYPE_OFFLINE:We},Ke="NOT_EXIST",qe="EXIST",So={COMP_CHECK_STATUS_NOT_EXIST:Ke,COMP_CHECK_STATUS_EXIST:qe},Mo="__id__",Ro=0,Io=1,bo=-1,Xe="checkPreviewListForm",Je="checkExtraInfoForm",Ze="checkCompConfig",ze="checkUpgradeLogForm",Qe="getCompError",et="afterCompDel",tt="afterCompCancelCollect",rt="afterCompRenderRetry",ot="openCompTerminal",Lo={COMP_METHOD_KEY_CHECK_PREVIEW_LIST_FORM:Xe,COMP_METHOD_KEY_CHECK_EXTRA_INFO_FORM:Je,COMP_METHOD_KEY_CHECK_COMP_CONFIG:Ze,COMP_METHOD_KEY_CHECK_UPGRADE_LOG_FORM:ze,COMP_METHOD_KEY_GET_COMP_ERROR:Qe,COMP_METHOD_KEY_AFTER_COMP_DEL:et,COMP_METHOD_KEY_AFTER_COMP_CANCEL_COLLECT:tt,COMP_METHOD_KEY_AFTER_COMP_RENDER_RETRY:rt,COMP_METHOD_KEY_OPEN_COMP_TERMINAL:ot},Do="compListStore",No="compEditStore",yo="callbacks",wo={CONTAINER:{SHARE:"share",COLLECT:"collect",LOCAL:"local",MINE:"mine",SIMILAR:"similar",TEAM_ALL:"teamAll",TEAM_MINE:"teamMine",TEAM_GROUP:"teamGroup",TEAM_ADD:"teamAdd"},ITEM:{PREVIEW_REMOTE:"previewRemote",PREVIEW_LOCAL:"previewLocal",PREVIEW_EXTRANET:"previewExtranet",CAROUSEL_REMOTE:"carouselRemote",CAROUSEL_LOCAL:"carouselLocal",EDIT_PANEL:"editPanel",STORAGE_WORKER:"storageWorker"}},Uo="http://127.0.0.1",xo="http://localhost:8095",Ho="http://localhost:8096",$o="http://localhost:5198",vo="http://localhost:3056",Fo="https://www.comphub.cn",Vo="https://comphub.cn",ko="CREATE",jo="JOIN",Yo="EXIT",Go="teamAddMyComp",Bo="teamCompList",Wo="teamCompGroupList",Ko="teamMyCompList",qo="teamMyCompUpdate",Xo="__v__",Jo="local",Zo="prod",zo="local",Qo="prod",ei="http://localhost:5173",ti="https://docs.comphub.cn",ri="1.5em",oi="1.5em",ii="SUPER_ADMIN",ni="ADMIN",F={MAIN:"main",IFRAME_CONTAINER:"iframeContainer",IFRAME_ITEM:"iframeItem"},si={[F.MAIN]:{ENABLED:!0,DSN:"https://eb372d9ca4c4b35497e99966cae2c1b2@o4512055411146752.ingest.us.sentry.io/4512055626891264",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]},[F.IFRAME_CONTAINER]:{ENABLED:!0,DSN:"https://09eacfc954a80beb1aed90bbdb09b3f6@o4512055411146752.ingest.us.sentry.io/4512055609720832",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]},[F.IFRAME_ITEM]:{ENABLED:!0,DSN:"https://0a564c86371356eccceff7854690e489@o4512055411146752.ingest.us.sentry.io/4512055615029249",TRACES_SAMPLE_RATE:1,TRACE_PROPAGATION_TARGETS:["localhost"]}},ai={"vue3-sfc-loader":"vue3-sfc-loader-f42c4ee3.js","vue2-sfc-loader":"vue2-sfc-loader-63905622.js","react-jsx-loader":"react-jsx-loader-39babd0c.js","sass-compiler":"sass-compiler-482885df.js","less-compiler":"less-compiler-0cc8346f.js"},D=Object.freeze(Object.defineProperty({__proto__:null,ACCEPT_LANGUAGE_HEADER_NAME:Vr,ADMIN_SERVICE_PREFIX:Mr,ADMIN_SERVICE_URL_DEV:Dr,ADMIN_SERVICE_URL_PROD:Nr,ADMIN_WEB_URL_PROD:yr,ADSENSE_CLIENT_ID:Tr,AUTHORIZATION_HEADER_NAME:vr,CACHE_KEY_STS_EXPIRE_TIME:Kr,CACHE_KEY_STS_TOKEN:Wr,COMPHUB_CONFIG_KEY:gr,COMP_ACTION_ICON_HEIGHT:oi,COMP_ACTION_ICON_WIDTH:ri,COMP_CHECK_STATUSES:So,COMP_CHECK_STATUS_EXIST:qe,COMP_CHECK_STATUS_NOT_EXIST:Ke,COMP_CONFIG_FILENAME:so,COMP_DOWNLOAD_ZIP_INLINE_MAX_TOTAL_SIZE:fo,COMP_EDIT_TAB_TYPES:Ao,COMP_EDIT_TAB_TYPE_FULL:$e,COMP_EDIT_TAB_TYPE_MINI:He,COMP_ENTRY_FILE:lo,COMP_FIELD_COMP_ID:Mo,COMP_FRAMEWORK_REACT:Me,COMP_FRAMEWORK_TYPES:no,COMP_FRAMEWORK_VUE:"vue",COMP_HUB_DEV_DOCS_URL:ei,COMP_HUB_PROD_DOCS_URL:ti,COMP_LIST_TYPES:go,COMP_LIST_TYPE_LOCAL:Re,COMP_LIST_TYPE_REMOTE:Ie,COMP_MATCH_TYPES:To,COMP_MATCH_TYPE_AUTO:ke,COMP_MATCH_TYPE_EXACT_VERSION:Ge,COMP_MATCH_TYPE_MAJOR_VERSION:je,COMP_MATCH_TYPE_MINOR_VERSION:Ye,COMP_MATCH_TYPE_ONLY_INSTALL:Ve,COMP_METHOD_KEY_AFTER_COMP_CANCEL_COLLECT:tt,COMP_METHOD_KEY_AFTER_COMP_DEL:et,COMP_METHOD_KEY_AFTER_COMP_RENDER_RETRY:rt,COMP_METHOD_KEY_CHECK_COMP_CONFIG:Ze,COMP_METHOD_KEY_CHECK_EXTRA_INFO_FORM:Je,COMP_METHOD_KEY_CHECK_PREVIEW_LIST_FORM:Xe,COMP_METHOD_KEY_CHECK_UPGRADE_LOG_FORM:ze,COMP_METHOD_KEY_GET_COMP_ERROR:Qe,COMP_METHOD_KEY_OPEN_COMP_TERMINAL:ot,COMP_PREVIEW_PREFIX_LOCAL:xr,COMP_README_FILENAME:ao,COMP_SCREENSHOT_MINI_FILENAME:ho,COMP_SUBMIT_MAX_FILE_COUNT:Eo,COMP_SUBMIT_MAX_SINGLE_FILE_SIZE:mo,COMP_SUBMIT_MAX_TOTAL_SIZE:_o,COMP_TEMP_DIR:po,COMP_UPDATE_TYPES:Po,COMP_UPDATE_TYPE_OFFLINE:We,COMP_UPDATE_TYPE_ONLINE:Be,COMP_USE_ENTRY_FILE:co,COMP_USE_ENTRY_FILE_REACT:uo,DIALOG_TYPES:Co,DIALOG_TYPE_ADD:Fe,DIALOG_TYPE_EDIT:ve,FILE_MANAGER_DIRNAME:fr,GLOBAL_CONFIG_PATH:Er,IFRAME_HOST:Uo,IFRAME_ROUTES:wo,INDEX_DB_NAME:Yr,INDEX_DB_TABLE_NAME:Gr,LESS_COMPILER_KEY:io,LOCAL_CHILD_IFRAME_URL:xo,LOCAL_LEAF_IFRAME_URL:Ho,LOCAL_MAIN_EXTRANET_URL:vo,LOCAL_MIDWAY_ENV_LOCAL:Jo,LOCAL_MIDWAY_ENV_PROD:Zo,LOCAL_SERVICE_PREFIX:Sr,LOCAL_SERVICE_URL_DEV:br,LOCAL_SERVICE_URL_DEV_SUB:Lr,LOCAL_TOP_IFRAME_URL:$o,MASTER_API_PREFIX:$r,META_FILE_NAME:zr,MODULE_LOAD_PREFIX:wr,NODE_MODULES_LOAD_PREFIX:Ur,OSS_CUSTOM_DOMAIN:Br,PREBUILD_HOST:qr,PREBUILD_MAX_SINGLE_FILE_SIZE:52428800,PREBUILD_MODULE_DIR:Zr,PREBUILD_MODULE_DIR_DEV:Xr,PREBUILD_MODULE_DIR_PROD:Jr,PROVIDE_KEYS:Lo,PROVIDE_KEY_CALLBACKS:yo,PROVIDE_KEY_COMP_EDIT_STORE:No,PROVIDE_KEY_COMP_LIST_STORE:Do,PROXY_PATH_PREFIX:Hr,REACT_JSX_LOADER_KEY:eo,REFRESH_TOKEN_HEADER_NAME:Fr,REMOTE_MAIN_EXTRANET_APEX_URL:Vo,REMOTE_MAIN_EXTRANET_URL:Fo,REMOTE_MIDWAY_ENV_LOCAL:zo,REMOTE_MIDWAY_ENV_PROD:Qo,REMOTE_SERVICE_PREFIX:Pr,REMOTE_SERVICE_URL_DEV:Ir,REMOTE_SERVICE_URL_PROD:Rr,ROLE_CODE_ADMIN:ni,ROLE_CODE_SUPER_ADMIN:ii,ROUTE_STATE_KEY_VERSION:Xo,SASS_COMPILER_KEY:oo,SCOPE_ID_TEAM_ADD_MY_COMP:Go,SCOPE_ID_TEAM_COMP_GROUP_LIST:Wo,SCOPE_ID_TEAM_COMP_LIST:Bo,SCOPE_ID_TEAM_MY_COMP_LIST:Ko,SCOPE_ID_TEAM_MY_COMP_UPDATE:qo,SENTRY_PROJECTS:si,SENTRY_PROJECT_NAMES:F,SITE_TITLE:hr,TAB_TYPES:Oo,TAB_TYPE_CONFIG:be,TAB_TYPE_DEPS:we,TAB_TYPE_DIR:De,TAB_TYPE_ERROR:Le,TAB_TYPE_EXTRA:ye,TAB_TYPE_PREVIEW:Ne,TAB_TYPE_README:Ue,TAB_TYPE_UPGRADE_LOG:xe,TEAM_ID_HEADER_NAME:jr,TEAM_OPERATE_TYPE_CREATE:ko,TEAM_OPERATE_TYPE_EXIT:Yo,TEAM_OPERATE_TYPE_JOIN:jo,VENDOR_CDN_BASE:Cr,VENDOR_LOADER_FILES:ai,VERSION_COMPARE_GREATER:Io,VERSION_COMPARE_LESS:bo,VERSION_COMPARE_SAME:Ro,VUE2_SFC_LOADER_KEY:ro,VUE3_SFC_LOADER_KEY:to,VUE_ESM_BUNDLER:Qr,WEBSITE_OSS_URL_IFRAME:Ar,WEBSITE_OSS_URL_MAIN:Or,WEBSITE_PATH_CONTAINER:mr,WEBSITE_PATH_ITEM:dr,WEBSITE_PATH_MAIN:_r,X_TOKEN_REFRESHED_HEADER_NAME:kr},Symbol.toStringTag,{value:"Module"}));var V=5478,st=D.REMOTE_SERVICE_URL_PROD,I=it.default.join(nt.default.tmpdir(),".comphub","master.json"),f={PREFIX:"/__master__",HEALTH:"/__master__/health",REGISTER:"/__master__/register",DEREGISTER:"/__master__/deregister",PROJECTS:"/__master__/projects",SHUTDOWN:"/__master__/shutdown"},at=500,lt=40,ct=2e3,k=5e3;var ee=d(require("fs")),Q=d(require("path")),ut=d(require("crypto"));function j(n){return JSON.parse(ee.default.readFileSync(n,"utf8"))}function pt(n){let e=n;for(let t=0;t<12;t++){try{let o=Q.default.join(e,"package.json");if(ee.default.existsSync(o)){let i=j(o);if(i&&i.name==="comp-hub")return e}}catch{}let r=Q.default.dirname(e);if(r===e)break;e=r}return null}function ht(n){return ut.default.createHash("sha256").update(n).digest("hex").slice(0,8)}function g(n,e){return`http://localhost:${n}${e}`}var E={cyan:n=>`\x1B[36m${n}\x1B[0m`,green:n=>`\x1B[32m${n}\x1B[0m`,white:n=>`\x1B[37m${n}\x1B[0m`,yellow:n=>`\x1B[33m${n}\x1B[0m`,red:n=>`\x1B[31m${n}\x1B[0m`};var Y=pt(__dirname)||y.default.resolve(__dirname,"..");function mt(){let n=y.default.join(Y,"package.json"),e=j(n),t=y.default.join(Y,e.main||"dist/index.js");return{pkg:e,entry:t}}function li(n){let e=y.default.join(n,".comphub.json"),t=y.default.join(n,".comphub.js");try{if(N.default.existsSync(e))return j(e)}catch{}try{if(N.default.existsSync(t)){let r=require(t);return r.default||r}}catch{}return{}}function dt(n,e){let t=li(e);return{dir:n.dir||t.dir||"./",api:n.api||t.api,allowDebug:n.allowDebug!=null?n.allowDebug:t.allowDebug!=null?t.allowDebug:!1,proxy:n.proxy||t.proxy,port:n.port,logLevel:n.logLevel||t.logLevel||"info"}}async function T(){try{if(N.default.existsSync(I)){let n=JSON.parse(N.default.readFileSync(I,"utf8"));try{if(process.kill(n.pid,0),await ci(n.managementPort))return n}catch{}try{N.default.unlinkSync(I)}catch{}}}catch{}return null}function ci(n){return new Promise(e=>{let t=_t.default.get(`http://localhost:${n}${f.HEALTH}`,r=>{let o="";r.on("data",i=>o+=i),r.on("end",()=>{try{let i=JSON.parse(o);e(typeof i.status=="string")}catch{e(!1)}})});t.on("error",()=>e(!1)),t.setTimeout(2e3,()=>{t.destroy(),e(!1)})})}var Dt=d(Lt(),1),{program:cn,createCommand:un,createArgument:pn,createOption:hn,CommanderError:_n,InvalidArgumentError:mn,InvalidOptionArgumentError:dn,Command:Nt,Argument:En,Option:b,Help:fn}=Dt.default;var Jt=d(require("fs")),Zt=d(require("path"));var yt=d(require("http")),wt=d(require("https"));var Ii="/api/v2/upgrade/check";function bi(n){return(n||st).replace(/\/+$/,"")}function Li(n,e,t){return new Promise((r,o)=>{let i=n.startsWith("https:")?wt.default:yt.default,s=JSON.stringify(e),l=new URL(n),a={hostname:l.hostname,port:l.port||(l.protocol==="https:"?443:80),path:l.pathname+l.search,method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(s)}},c=i.request(a,u=>{let p="";u.setEncoding("utf8"),u.on("data",m=>p+=m),u.on("end",()=>{let m=p;try{m=JSON.parse(p)}catch{}r({status:u.statusCode||0,body:m})})});c.on("error",o),c.setTimeout(t||k,()=>{c.destroy(new Error("Request timeout"))}),c.write(s),c.end()})}function Di(n){if(!n||n.status!==200)throw new Error(n.status?`HTTP ${n.status}`:"No response");let e=n.body?.data;if(!e||typeof e.hasUpgrade!="boolean")throw new Error("Invalid response format");return{hasUpgrade:e.hasUpgrade,isForce:!!e.isForce,latestVersion:typeof e.latestVersion=="string"?e.latestVersion:""}}function Ni(n){return n.hasUpgrade&&n.isForce?"block":n.hasUpgrade?"notice":"none"}async function Ut(n){let{base:e,compHubVersion:t,timeout:r,request:o=Li}=n,i=`${bi(e)}${Ii}`;try{let s=await o(i,{compHubVersion:t},r),l=Di(s);return{ok:!0,...l,verdict:Ni(l)}}catch(s){return{ok:!1,error:s?.message||String(s)}}}var Ft=d(require("fs")),Vt=d(require("path")),kt=require("child_process"),de=d(Ht());var X=d(require("http"));function xi(n){try{return JSON.parse(n)}catch{return n}}function v(n){return new Promise(e=>{let t=X.default.get(n,r=>{let o="";r.on("data",i=>o+=i),r.on("end",()=>e({ok:!0,status:r.statusCode,body:xi(o)}))});t.on("error",r=>e({ok:!1,error:r.message})),t.setTimeout(ct,()=>{t.destroy(),e({ok:!1,error:"Request timeout"})})})}function M(n,e){return new Promise(t=>{let r=JSON.stringify(e),o=new URL(n),i={hostname:o.hostname,port:o.port,path:o.pathname,method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(r)}},s=X.default.request(i,l=>{let a="";l.on("data",c=>a+=c),l.on("end",()=>{try{t({ok:!0,body:JSON.parse(a)})}catch{t({ok:!1,error:"Invalid JSON response"})}})});s.on("error",l=>t({ok:!1,error:l.message})),s.setTimeout(k,()=>{s.destroy(),t({ok:!1,error:"Request timeout"})}),s.write(r),s.end()})}function $t(n,e){return new Promise((t,r)=>{let o=new URL(n),i={hostname:o.hostname,port:o.port,path:o.pathname,method:"GET",headers:{Accept:"text/event-stream"}},s=X.default.request(i,l=>{if(l.statusCode!==200){r(new Error(`SSE connection failed (HTTP ${l.statusCode})`));return}let a="";l.on("data",c=>{a+=c.toString();let u=a.split(`
|
|
20
20
|
|
|
21
21
|
`);a=u.pop()||"";for(let p of u){let m=p.startsWith("data: ")?p.slice(6):p;try{let O=JSON.parse(m);process.stdout.write(O)}catch{}}}),l.on("end",()=>t()),l.on("error",c=>r(c))});s.on("error",l=>r(l)),s.setTimeout(0),s.end()})}function vt(n,e){return M(g(n,"/__master__/deregister"),{hash:e})}var{green:Hi}=E;async function $i(){for(let n=0;n<lt;n++){let e=await T();if(e)return e;await new Promise(t=>setTimeout(t,at))}return null}async function vi(n,e,t){let r=Vt.default.join(Y,"dist/master.js");if(!Ft.default.existsSync(r))throw new Error("Master entry file not found, startup failed");let o=["--port",String(n),"--public-port",String(n)],i=(0,kt.spawn)(process.execPath,["--no-deprecation",r,...o],{stdio:["inherit","pipe","pipe"],cwd:t,env:{...process.env,COMP_HUB_VERSION:e.version}}),s="";i.stderr&&i.stderr.on("data",a=>{process.stderr.write(a)}),i.stdout&&i.stdout.on("data",a=>{s+=a.toString();let c=s.split(`
|
|
22
22
|
`);s=c.pop()||"";for(let u of c)/^\[[0-9a-f]{8}\]/.test(u)||process.stdout.write(u+`
|
|
23
|
-
`)}),["SIGINT","SIGTERM"].forEach(a=>{process.on(a,()=>{i.kill(a)})}),i.on("exit",a=>{s&&!/^\[[0-9a-f]{8}\]/.test(s)&&process.stdout.write(s),process.exit(a||0)});let l=await $i();if(!l)throw i.kill(),new Error("Master startup timeout");return{runtime:l}}async function jt(n,e){let t=!1,r=0,o=await T();if(o){let a=n.port!=null?n.port:o.publicPort;return n.port!=null&&o.publicPort!==a&&(t=!0,r=o.publicPort),{runtime:o,portMismatch:t,runningPublicPort:r}}let i=n.port!=null?n.port:V,s=await(0,de.default)({port:de.default.makeRange(i,i+100)}),{runtime:l}=await vi(s,e,process.cwd());return{runtime:l,portMismatch:t,runningPublicPort:r}}async function Yt(n,e,t,r){let o={hash:e,cwd:t,dir:r.dir||"./"};r.api&&(o.api=r.api),r.allowDebug&&(o.allowDebug=!0),r.proxy&&(o.proxy=r.proxy),r.logLevel&&(o.logLevel=r.logLevel);let i=await M(g(n,f.REGISTER),o);if(!i.ok)throw new Error(i.error||"Registration failed");console.log(`${Hi("\u2713")} Project registered (hash: ${e})`)}var{cyan:
|
|
24
|
-
`))}var{cyan:Kt,green:Vi,white:qt,yellow:Xt,red:Ee}=E;async function fe(n,e){Jt.default.existsSync(Zt.default.join(process.cwd(),"package.json"))||(console.error(`${Ee("\u2717")} Current directory is not a Node.js project`),process.exit(1));let t=process.cwd(),r=ht(t);e=dt(e,t);let o=await
|
|
23
|
+
`)}),["SIGINT","SIGTERM"].forEach(a=>{process.on(a,()=>{i.kill(a)})}),i.on("exit",a=>{s&&!/^\[[0-9a-f]{8}\]/.test(s)&&process.stdout.write(s),process.exit(a||0)});let l=await $i();if(!l)throw i.kill(),new Error("Master startup timeout");return{runtime:l}}async function jt(n,e){let t=!1,r=0,o=await T();if(o){let a=n.port!=null?n.port:o.publicPort;return n.port!=null&&o.publicPort!==a&&(t=!0,r=o.publicPort),{runtime:o,portMismatch:t,runningPublicPort:r}}let i=n.port!=null?n.port:V,s=await(0,de.default)({port:de.default.makeRange(i,i+100)}),{runtime:l}=await vi(s,e,process.cwd());return{runtime:l,portMismatch:t,runningPublicPort:r}}async function Yt(n,e,t,r){let o={hash:e,cwd:t,dir:r.dir||"./"};r.api&&(o.api=r.api),r.allowDebug&&(o.allowDebug=!0),r.proxy&&(o.proxy=r.proxy),r.logLevel&&(o.logLevel=r.logLevel);let i=await M(g(n,f.REGISTER),o);if(!i.ok)throw new Error(i.error||"Registration failed");console.log(`${Hi("\u2713")} Project registered (hash: ${e})`)}var{cyan:L,green:J,white:Gt,yellow:Fi,red:Bt}=E;function Wt(n,e,t,r,o,i){let{portMismatch:s,runningPublicPort:l}=i,a=`http://localhost:${r}/${t}/${D.WEBSITE_PATH_MAIN}/`,c=["",L(" \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 "),L(" \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557"),L(" \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D"),L(" \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557"),L(" \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D"),L(" \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D "),"","",` ${J("Version")} ${n.version}`,` ${J("Project")} ${e}`,` ${J("Hash")} ${t}`,` ${J("Port")} ${r}`,"",` ${Fi("URL")} ${L(a)}`,"",Gt(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"),"",` ${"comphub status".padEnd(30)}View all projects`,` ${`comphub stop ${t}`.padEnd(30)}Stop current project`,` ${"comphub stop --all".padEnd(30)}Stop all projects`,` ${"comphub kill".padEnd(30)}Shutdown master`,""];s&&c.push(Gt(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"),"",Bt(` \u26A0 Master is already running on port ${l}, ignoring -p ${o.port}`),Bt(" To change port, please run comphub kill first"),""),console.log(c.join(`
|
|
24
|
+
`))}var{cyan:Kt,green:Vi,white:qt,yellow:Xt,red:Ee}=E;async function fe(n,e){Jt.default.existsSync(Zt.default.join(process.cwd(),"package.json"))||(console.error(`${Ee("\u2717")} Current directory is not a Node.js project`),process.exit(1));let t=process.cwd(),r=ht(t);e=dt(e,t);let o=await Ut({base:e.api,compHubVersion:n.version});if(o.ok&&o.verdict==="block"){let _=o.latestVersion&&o.latestVersion!==n.version?`, latest version v${o.latestVersion}`:"";console.error(""),console.error(`${Ee("\u2717")} comp-hub must be upgraded before it can start (current v${n.version}${_})`),console.error(` Please run the upgrade command: ${Kt("npm install comp-hub@latest -g")}`),console.error(" Then run comphub again after upgrading"),console.error(""),process.exit(1)}console.log(`${Vi("\u2713")} ${n.name} v${n.version}`);let{runtime:i,portMismatch:s,runningPublicPort:l}=await jt(e,n),a=i.managementPort,c=i.publicPort;if(await Yt(a,r,t,e),Wt(n,t,r,c,e,{portMismatch:s,runningPublicPort:l}),o.ok&&o.verdict==="notice"){let _=o.latestVersion&&o.latestVersion!==n.version?` (latest version v${o.latestVersion})`:"";console.log(""),console.log(`${Xt("\u2139")} comp-hub has a new version available${_}; run the upgrade command to update:`),console.log(` ${Kt("npm install comp-hub@latest -g")}`),console.log("")}else o.ok||(console.log(""),console.log(`${Xt("\u26A0")} comp-hub version check failed (${o.error}); skipping the version check for this run`),console.log(""));let u=!1,p=async()=>{if(!u){u=!0;try{await vt(a,r)}catch{}process.exit(0)}};process.on("SIGINT",p),process.on("SIGTERM",p),console.log(`
|
|
25
25
|
${qt("\u2500")} Streaming logs from MidwayJS (${r}) ${qt("\u2500")}
|
|
26
26
|
`);let m=`http://localhost:${a}/__master__/projects/${r}/logs`;try{await $t(m,r)}catch(O){console.error(`
|
|
27
|
-
${Ee("\u2717")} Log stream error: ${O.message}`)}}function zt(n){let e=[{label:"d",divisor:86400},{label:"h",divisor:3600},{label:"m",divisor:60},{label:"s",divisor:1}],t=Math.floor(n),r=[];for(let{label:o,divisor:i}of e)if(t>=i){let s=Math.floor(t/i);t=t%i,r.push(`${s}${o}`)}return r.length>0?r.join(" "):"0s"}async function
|
|
27
|
+
${Ee("\u2717")} Log stream error: ${O.message}`)}}function zt(n){let e=[{label:"d",divisor:86400},{label:"h",divisor:3600},{label:"m",divisor:60},{label:"s",divisor:1}],t=Math.floor(n),r=[];for(let{label:o,divisor:i}of e)if(t>=i){let s=Math.floor(t/i);t=t%i,r.push(`${s}${o}`)}return r.length>0?r.join(" "):"0s"}async function U(n){if(n.port!=null)return n.port;let e=await T();return e?e.managementPort:V}var{green:R,yellow:Qt,cyan:er,white:C,red:ki}=E;async function ge(n){let e=await U(n),t=await T(),r=t?t.publicPort:e;console.log(`
|
|
28
28
|
${Qt("\u25CF")} Master Status
|
|
29
|
-
`);let o=await v(g(e,f.HEALTH));(!o.ok||!o.body||typeof o.body.status!="string")&&(console.error(`${ki("\u2717")} Master service is not running`),process.exit(1));let i=o.body,s=i.status==="running"?R("\u25CF"):er("\u25CF");console.log(` ${R("Status")} ${s} ${i.status}`),console.log(` ${R("Version")} ${C(i.version||"")}`),console.log(` ${R("Uptime")} ${C(zt(i.uptime??0))}`),console.log(` ${R("Projects")} ${C(String(i.projects??0))}`),console.log("");let l=await v(g(e,f.PROJECTS));if(l.ok&&l.body){let a=l.body.projects;if(Array.isArray(a)&&a.length>0){console.log(` ${Qt("\u25B8")} Registered Projects (${a.length}):`),console.log(" "+C("\u2500".repeat(56)));for(let c of a)console.log(` ${R("hash")} ${C(c.hash)}`),console.log(` ${R("path")} ${C(c.cwd||"")}`),console.log(` ${R("url")} ${er(`http://localhost:${r}/${c.hash}/${
|
|
29
|
+
`);let o=await v(g(e,f.HEALTH));(!o.ok||!o.body||typeof o.body.status!="string")&&(console.error(`${ki("\u2717")} Master service is not running`),process.exit(1));let i=o.body,s=i.status==="running"?R("\u25CF"):er("\u25CF");console.log(` ${R("Status")} ${s} ${i.status}`),console.log(` ${R("Version")} ${C(i.version||"")}`),console.log(` ${R("Uptime")} ${C(zt(i.uptime??0))}`),console.log(` ${R("Projects")} ${C(String(i.projects??0))}`),console.log("");let l=await v(g(e,f.PROJECTS));if(l.ok&&l.body){let a=l.body.projects;if(Array.isArray(a)&&a.length>0){console.log(` ${Qt("\u25B8")} Registered Projects (${a.length}):`),console.log(" "+C("\u2500".repeat(56)));for(let c of a)console.log(` ${R("hash")} ${C(c.hash)}`),console.log(` ${R("path")} ${C(c.cwd||"")}`),console.log(` ${R("url")} ${er(`http://localhost:${r}/${c.hash}/${D.WEBSITE_PATH_MAIN}/`)}`),console.log(" "+C("\u2500".repeat(56)))}else console.log(` ${C("\u2500".repeat(58))}`),console.log(` ${C("(No registered projects)")}`),console.log(` ${C("\u2500".repeat(58))}`)}console.log(""),process.exit(0)}var{green:tr,yellow:Oe,red:Z}=E;async function Ae(n,e){let t=await U(e);if(e.all){let o=await v(g(t,f.PROJECTS));(!o.ok||!o.body)&&(console.error(`${Z("\u2717")} Cannot connect to master service`),process.exit(1));let i=o.body.projects;(!Array.isArray(i)||i.length===0)&&(console.log(`${Oe("\u2139")} No running projects`),process.exit(0)),console.log(`
|
|
30
30
|
${Oe("\u25B8")} Stopping all ${i.length} projects...
|
|
31
31
|
`);for(let s of i){let l=await M(g(t,f.DEREGISTER),{hash:s.hash});l.ok?console.log(` ${tr("\u2713")} Stopped: ${s.hash} (${s.cwd||""})`):console.error(` ${Z("\u2717")} Failed to stop: ${s.hash} - ${l.error}`)}console.log(""),process.exit(0)}n||(console.error(`${Z("\u2717")} Please specify project hash or use --all to stop all projects`),console.error(" Usage: comphub stop <hash>"),console.error(" Usage: comphub stop --all"),process.exit(1)),console.log(`
|
|
32
32
|
${Oe("\u25B8")} Stopping project ${n}...`);let r=await M(g(t,f.DEREGISTER),{hash:n});r.ok?console.log(` ${tr("\u2713")} Stopped: ${n}
|
|
33
33
|
`):(console.error(` ${Z("\u2717")} Failed to stop: ${r.error}
|
|
34
|
-
`),process.exit(1)),process.exit(0)}var{green:ji,yellow:Yi,red:Gi}=E;async function Ce(n){let e=await
|
|
34
|
+
`),process.exit(1)),process.exit(0)}var{green:ji,yellow:Yi,red:Gi}=E;async function Ce(n){let e=await U(n);console.log(`
|
|
35
35
|
${Yi("\u25B8")} Shutting down master process...
|
|
36
36
|
`);let t=await M(g(e,f.SHUTDOWN),{});t.ok?console.log(`${ji("\u2713")} Master process has been shut down
|
|
37
37
|
`):(console.error(`${Gi("\u2717")} Shutdown failed: ${t.error}
|