@arkenv/cli 0.0.1 → 0.0.3

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.
Files changed (2) hide show
  1. package/dist/index.cjs +72 -67
  2. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -1,92 +1,97 @@
1
1
  #!/usr/bin/env node
2
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`node:path`);l=c(l,1),require(`node:util`);let u=require(`node:process`);u=c(u,1);let d=require(`node:readline`);d=c(d,1);let f=require(`node:tty`),p=require(`node:child_process`),m=require(`node:fs`),h=require(`node:fs/promises`);h=c(h,1);let g=require(`jsonc-parser`),_=require(`dedent`);_=c(_,1);var ee=o(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}})),te=o(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c})),v=ee(),y=c(te(),1);function ne({onlyFirst:e=!1}={}){let t=[`[\\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(t,e?void 0:`g`)}const re=ne();function b(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(re,``)}function x(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var ie={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(e){var t=e.charCodeAt(0),n=e.length==2?e.charCodeAt(1):0,r=t;return 55296<=t&&t<=56319&&56320<=n&&n<=57343&&(t&=1023,n&=1023,r=t<<10|n,r+=65536),r==12288||65281<=r&&r<=65376||65504<=r&&r<=65510?`F`:r==8361||65377<=r&&r<=65470||65474<=r&&r<=65479||65482<=r&&r<=65487||65490<=r&&r<=65495||65498<=r&&r<=65500||65512<=r&&r<=65518?`H`:4352<=r&&r<=4447||4515<=r&&r<=4519||4602<=r&&r<=4607||9001<=r&&r<=9002||11904<=r&&r<=11929||11931<=r&&r<=12019||12032<=r&&r<=12245||12272<=r&&r<=12283||12289<=r&&r<=12350||12353<=r&&r<=12438||12441<=r&&r<=12543||12549<=r&&r<=12589||12593<=r&&r<=12686||12688<=r&&r<=12730||12736<=r&&r<=12771||12784<=r&&r<=12830||12832<=r&&r<=12871||12880<=r&&r<=13054||13056<=r&&r<=19903||19968<=r&&r<=42124||42128<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||55216<=r&&r<=55238||55243<=r&&r<=55291||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65106||65108<=r&&r<=65126||65128<=r&&r<=65131||110592<=r&&r<=110593||127488<=r&&r<=127490||127504<=r&&r<=127546||127552<=r&&r<=127560||127568<=r&&r<=127569||131072<=r&&r<=194367||177984<=r&&r<=196605||196608<=r&&r<=262141?`W`:32<=r&&r<=126||162<=r&&r<=163||165<=r&&r<=166||r==172||r==175||10214<=r&&r<=10221||10629<=r&&r<=10630?`Na`:r==161||r==164||167<=r&&r<=168||r==170||173<=r&&r<=174||176<=r&&r<=180||182<=r&&r<=186||188<=r&&r<=191||r==198||r==208||215<=r&&r<=216||222<=r&&r<=225||r==230||232<=r&&r<=234||236<=r&&r<=237||r==240||242<=r&&r<=243||247<=r&&r<=250||r==252||r==254||r==257||r==273||r==275||r==283||294<=r&&r<=295||r==299||305<=r&&r<=307||r==312||319<=r&&r<=322||r==324||328<=r&&r<=331||r==333||338<=r&&r<=339||358<=r&&r<=359||r==363||r==462||r==464||r==466||r==468||r==470||r==472||r==474||r==476||r==593||r==609||r==708||r==711||713<=r&&r<=715||r==717||r==720||728<=r&&r<=731||r==733||r==735||768<=r&&r<=879||913<=r&&r<=929||931<=r&&r<=937||945<=r&&r<=961||963<=r&&r<=969||r==1025||1040<=r&&r<=1103||r==1105||r==8208||8211<=r&&r<=8214||8216<=r&&r<=8217||8220<=r&&r<=8221||8224<=r&&r<=8226||8228<=r&&r<=8231||r==8240||8242<=r&&r<=8243||r==8245||r==8251||r==8254||r==8308||r==8319||8321<=r&&r<=8324||r==8364||r==8451||r==8453||r==8457||r==8467||r==8470||8481<=r&&r<=8482||r==8486||r==8491||8531<=r&&r<=8532||8539<=r&&r<=8542||8544<=r&&r<=8555||8560<=r&&r<=8569||r==8585||8592<=r&&r<=8601||8632<=r&&r<=8633||r==8658||r==8660||r==8679||r==8704||8706<=r&&r<=8707||8711<=r&&r<=8712||r==8715||r==8719||r==8721||r==8725||r==8730||8733<=r&&r<=8736||r==8739||r==8741||8743<=r&&r<=8748||r==8750||8756<=r&&r<=8759||8764<=r&&r<=8765||r==8776||r==8780||r==8786||8800<=r&&r<=8801||8804<=r&&r<=8807||8810<=r&&r<=8811||8814<=r&&r<=8815||8834<=r&&r<=8835||8838<=r&&r<=8839||r==8853||r==8857||r==8869||r==8895||r==8978||9312<=r&&r<=9449||9451<=r&&r<=9547||9552<=r&&r<=9587||9600<=r&&r<=9615||9618<=r&&r<=9621||9632<=r&&r<=9633||9635<=r&&r<=9641||9650<=r&&r<=9651||9654<=r&&r<=9655||9660<=r&&r<=9661||9664<=r&&r<=9665||9670<=r&&r<=9672||r==9675||9678<=r&&r<=9681||9698<=r&&r<=9701||r==9711||9733<=r&&r<=9734||r==9737||9742<=r&&r<=9743||9748<=r&&r<=9749||r==9756||r==9758||r==9792||r==9794||9824<=r&&r<=9825||9827<=r&&r<=9829||9831<=r&&r<=9834||9836<=r&&r<=9837||r==9839||9886<=r&&r<=9887||9918<=r&&r<=9919||9924<=r&&r<=9933||9935<=r&&r<=9953||r==9955||9960<=r&&r<=9983||r==10045||r==10071||10102<=r&&r<=10111||11093<=r&&r<=11097||12872<=r&&r<=12879||57344<=r&&r<=63743||65024<=r&&r<=65039||r==65533||127232<=r&&r<=127242||127248<=r&&r<=127277||127280<=r&&r<=127337||127344<=r&&r<=127386||917760<=r&&r<=917999||983040<=r&&r<=1048573||1048576<=r&&r<=1114109?`A`:`N`},t.characterLength=function(e){var t=this.eastAsianWidth(e);return t==`F`||t==`W`||t==`A`?2:1};function n(e){return e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(e){for(var t=n(e),r=0,i=0;i<t.length;i++)r+=this.characterLength(t[i]);return r},t.slice=function(e,r,i){textLen=t.length(e),r||=0,i||=1,r<0&&(r=textLen+r),i<0&&(i=textLen+i);for(var a=``,o=0,s=n(e),c=0;c<s.length;c++){var l=s[c],u=t.length(l);if(o>=r-+(u==2))if(o+u<=i)a+=l;else break;o+=u}return a}})(ie);var ae=ie.exports;const oe=x(ae),se=x(function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g});function S(e,t={}){if(typeof e!=`string`||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=b(e),e.length===0))return 0;e=e.replace(se(),` `);let n=t.ambiguousIsNarrow?1:2,r=0;for(let t of e){let e=t.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))switch(oe.eastAsianWidth(t)){case`F`:case`W`:r+=2;break;case`A`:r+=n;break;default:r+=1}}return r}const C=(e=0)=>t=>`\x1B[${t+e}m`,w=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,T=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,E={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(E.modifier);const ce=Object.keys(E.color),le=Object.keys(E.bgColor);[...ce,...le];function ue(){let e=new Map;for(let[t,n]of Object.entries(E)){for(let[t,r]of Object.entries(n))E[t]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[t]=E[t],e.set(r[0],r[1]);Object.defineProperty(E,t,{value:n,enumerable:!1})}return Object.defineProperty(E,`codes`,{value:e,enumerable:!1}),E.color.close=`\x1B[39m`,E.bgColor.close=`\x1B[49m`,E.color.ansi=C(),E.color.ansi256=w(),E.color.ansi16m=T(),E.bgColor.ansi=C(10),E.bgColor.ansi256=w(10),E.bgColor.ansi16m=T(10),Object.defineProperties(E,{rgbToAnsi256:{value:(e,t,n)=>e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>E.rgbToAnsi256(...E.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>E.ansi256ToAnsi(E.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>E.ansi256ToAnsi(E.hexToAnsi256(e)),enumerable:!1}}),E}const de=ue(),D=new Set([`\x1B`,`›`]),O=`]8;;`,k=e=>`${D.values().next().value}[${e}m`,A=e=>`${D.values().next().value}${O}${e}`,fe=e=>e.split(` `).map(e=>S(e)),j=(e,t,n)=>{let r=[...t],i=!1,a=!1,o=S(b(e[e.length-1]));for(let[t,s]of r.entries()){let c=S(s);if(o+c<=n?e[e.length-1]+=s:(e.push(s),o=0),D.has(s)&&(i=!0,a=r.slice(t+1).join(``).startsWith(O)),i){a?s===`\x07`&&(i=!1,a=!1):s===`m`&&(i=!1);continue}o+=c,o===n&&t<r.length-1&&(e.push(``),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},pe=e=>{let t=e.split(` `),n=t.length;for(;n>0&&!(S(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},me=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=fe(e),s=[``];for(let[r,i]of e.split(` `).entries()){n.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let e=S(s[s.length-1]);if(r!==0&&(e>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),e=0),(e>0||n.trim===!1)&&(s[s.length-1]+=` `,e++)),n.hard&&o[r]>t){let n=t-e,a=1+Math.floor((o[r]-n-1)/t);Math.floor((o[r]-1)/t)<a&&s.push(``),j(s,i,t);continue}if(e+o[r]>t&&e>0&&o[r]>0){if(n.wordWrap===!1&&e<t){j(s,i,t);continue}s.push(``)}if(e+o[r]>t&&n.wordWrap===!1){j(s,i,t);continue}s[s.length-1]+=i}n.trim!==!1&&(s=s.map(e=>pe(e)));let c=[...s.join(`
3
- `)];for(let[e,t]of c.entries()){if(r+=t,D.has(t)){let{groups:t}=RegExp(`(?:\\[(?<code>\\d+)m|\\${O}(?<uri>.*))`).exec(c.slice(e).join(``))||{groups:{}};if(t.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}let n=de.codes.get(Number(i));c[e+1]===`
4
- `?(a&&(r+=A(``)),i&&n&&(r+=k(n))):t===`
5
- `&&(i&&n&&(r+=k(i)),a&&(r+=A(a)))}return r};function M(e,t,n){return String(e).normalize().replace(/\r\n/g,`
6
- `).split(`
7
- `).map(e=>me(e,t,n)).join(`
8
- `)}const N={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]])};function P(e,t){if(typeof e==`string`)return N.aliases.get(e)===t;for(let n of e)if(n!==void 0&&P(n,t))return!0;return!1}function he(e,t){if(e===t)return;let n=e.split(`
2
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`node:child_process`),u=require(`node:path`);u=c(u,1);let d=require(`node:util`),f=require(`node:process`);f=c(f,1);let p=require(`node:readline`);p=c(p,1);let m=require(`node:tty`),h=require(`node:fs`);h=c(h,1);let g=require(`node:fs/promises`);g=c(g,1);let _=require(`jsonc-parser`),v=require(`dedent`);v=c(v,1);const y=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let n=0;for(e.lastIndex=0;e.test(t);)n+=1;return t.length-n}})(),b=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,x=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,S=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,ee=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,C=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/uy,te=/\t{1,1000}/y,w=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/uy,ne=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,re=/\p{M}+/gu,ie={limit:1/0,ellipsis:``},T=(e,t={},n={})=>{let r=t.limit??1/0,i=t.ellipsis??``,a=t?.ellipsisWidth??(i?T(i,ie,n).width:0),o=n.controlWidth??0,s=n.tabWidth??8,c=n.emojiWidth??2,l=n.regularWidth??1,u=n.wideWidth??2,d=[[ne,l],[S,0],[ee,o],[te,s],[w,c],[C,u]],f=0,p=0,m=e.length,h=0,g=!1,_=m,v=Math.max(0,r-a),E=0,D=0,O=0,k=0;outer:for(;;){if(D>E||p>=m&&p>f){let t=e.slice(E,D)||e.slice(f,p);h=0;for(let e of t.replaceAll(re,``)){let t=e.codePointAt(0)||0;if(k=b(t)?2:x(t)?u:l,O+k>v&&(_=Math.min(_,Math.max(E,f)+h)),O+k>r){g=!0;break outer}h+=e.length,O+=k}E=D=0}if(p>=m)break outer;for(let t=0,n=d.length;t<n;t++){let[n,i]=d[t];if(n.lastIndex=p,n.test(e)){if(h=n===C?y(e.slice(p,n.lastIndex)):n===w?1:n.lastIndex-p,k=h*i,O+k>v&&(_=Math.min(_,p+Math.floor((v-O)/i))),O+k>r){g=!0;break outer}O+=k,E=f,D=p,p=f=n.lastIndex;continue outer}}p+=1}return{width:g?v:O,index:g?_:m,truncated:g,ellipsed:g&&r>=a}},E={limit:1/0,ellipsis:``,ellipsisWidth:0},D=(e,t={})=>T(e,E,t).width,O=`]8;;`,k=RegExp(`(?:\\[(?<code>\\d+)m|\\${O}(?<uri>.*))`,`y`),ae=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},oe=e=>`[${e}m`,se=e=>`${O}${e}`,ce=(e,t,n)=>{let r=t[Symbol.iterator](),i=!1,a=!1,o=e.at(-1),s=o===void 0?0:D(o),c=r.next(),l=r.next(),u=0;for(;!c.done;){let o=c.value,d=D(o);s+d<=n?e[e.length-1]+=o:(e.push(o),s=0),(o===`\x1B`||o===`›`)&&(i=!0,a=t.startsWith(O,u+1)),i?a?o===`\x07`&&(i=!1,a=!1):o===`m`&&(i=!1):(s+=d,s===n&&!l.done&&(e.push(``),s=0)),c=l,l=r.next(),u+=o.length}o=e.at(-1),!s&&o!==void 0&&o.length&&e.length>1&&(e[e.length-2]+=e.pop())},le=e=>{let t=e.split(` `),n=t.length;for(;n&&!D(t[n-1]);)n--;return n===t.length?e:t.slice(0,n).join(` `)+t.slice(n).join(``)},ue=(e,t,n={})=>{if(n.trim!==!1&&e.trim()===``)return``;let r=``,i,a,o=e.split(` `),s=[``],c=0;for(let e=0;e<o.length;e++){let r=o[e];if(n.trim!==!1){let e=s.at(-1)??``,t=e.trimStart();e.length!==t.length&&(s[s.length-1]=t,c=D(t))}e!==0&&(c>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(``),c=0),(c||n.trim===!1)&&(s[s.length-1]+=` `,c++));let i=D(r);if(n.hard&&i>t){let e=t-c,n=1+Math.floor((i-e-1)/t);Math.floor((i-1)/t)<n&&s.push(``),ce(s,r,t),c=D(s.at(-1)??``);continue}if(c+i>t&&c&&i){if(n.wordWrap===!1&&c<t){ce(s,r,t),c=D(s.at(-1)??``);continue}s.push(``),c=0}if(c+i>t&&n.wordWrap===!1){ce(s,r,t),c=D(s.at(-1)??``);continue}s[s.length-1]+=r,c+=i}n.trim!==!1&&(s=s.map(e=>le(e)));let l=s.join(`
3
+ `),u=!1;for(let e=0;e<l.length;e++){let t=l[e];if(r+=t,u)u=!1;else if(u=t>=`\ud800`&&t<=`\udbff`,u)continue;if(t===`\x1B`||t===`›`){k.lastIndex=e+1;let t=k.exec(l)?.groups;if(t?.code!==void 0){let e=Number.parseFloat(t.code);i=e===39?void 0:e}else t?.uri!==void 0&&(a=t.uri.length===0?void 0:t.uri)}if(l[e+1]===`
4
+ `){a&&(r+=se(``));let e=i?ae(i):void 0;i&&e&&(r+=oe(e))}else t===`
5
+ `&&(i&&ae(i)&&(r+=oe(i)),a&&(r+=se(a)))}return r},de=/\r?\n/;function A(e,t,n){return String(e).normalize().split(de).map(e=>ue(e,t,n)).join(`
6
+ `)}var j=o(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}}))();function M(e,t,n){if(!n.some(e=>!e.disabled))return e;let r=e+t,i=Math.max(n.length-1,0),a=r<0?i:r>i?0:r;return n[a].disabled?M(a,t<0?-1:1,n):a}const N={actions:new Set([`up`,`down`,`left`,`right`,`space`,`enter`,`cancel`]),aliases:new Map([[`k`,`up`],[`j`,`down`],[`h`,`left`],[`l`,`right`],[``,`cancel`],[`escape`,`cancel`]]),messages:{cancel:`Canceled`,error:`Something went wrong`},withGuide:!0,date:{monthNames:[...[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]],messages:{required:`Please enter a valid date`,invalidMonth:`There are only 12 months in a year`,invalidDay:(e,t)=>`There are only ${e} days in ${t}`,afterMin:e=>`Date must be on or after ${e.toISOString().slice(0,10)}`,beforeMax:e=>`Date must be on or before ${e.toISOString().slice(0,10)}`}}};function P(e,t){if(typeof e==`string`)return N.aliases.get(e)===t;for(let n of e)if(n!==void 0&&P(n,t))return!0;return!1}function fe(e,t){if(e===t)return;let n=e.split(`
9
7
  `),r=t.split(`
10
- `),i=[];for(let e=0;e<Math.max(n.length,r.length);e++)n[e]!==r[e]&&i.push(e);return i}const ge=globalThis.process.platform.startsWith(`win`),F=Symbol(`clack:cancel`);function I(e){return e===F}function L(e,t){let n=e;n.isTTY&&n.setRawMode(t)}function _e({input:e=u.stdin,output:t=u.stdout,overwrite:n=!0,hideCursor:r=!0}={}){let i=d.createInterface({input:e,output:t,prompt:``,tabSize:1});d.emitKeypressEvents(e,i),e.isTTY&&e.setRawMode(!0);let a=(i,{name:o,sequence:s})=>{if(P([String(i),o,s],`cancel`)){r&&t.write(v.cursor.show),process.exit(0);return}if(!n)return;let c=o===`return`?0:-1,l=o===`return`?-1:0;d.moveCursor(t,c,l,()=>{d.clearLine(t,1,()=>{e.once(`keypress`,a)})})};return r&&t.write(v.cursor.hide),e.once(`keypress`,a),()=>{e.off(`keypress`,a),r&&t.write(v.cursor.show),e.isTTY&&!ge&&e.setRawMode(!1),i.terminal=!1,i.close()}}var ve=Object.defineProperty,ye=(e,t,n)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R=(e,t,n)=>(ye(e,typeof t==`symbol`?t:t+``,n),n),z=class{constructor(e,t=!0){R(this,`input`),R(this,`output`),R(this,`_abortSignal`),R(this,`rl`),R(this,`opts`),R(this,`_render`),R(this,`_track`,!1),R(this,`_prevFrame`,``),R(this,`_subscribers`,new Map),R(this,`_cursor`,0),R(this,`state`,`initial`),R(this,`error`,``),R(this,`value`);let{input:n=u.stdin,output:r=u.stdout,render:i,signal:a,...o}=e;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=t,this._abortSignal=a,this.input=n,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let n=this._subscribers.get(e)??[];n.push(t),this._subscribers.set(e,n)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let n=this._subscribers.get(e)??[],r=[];for(let e of n)e.cb(...t),e.once&&r.push(()=>n.splice(n.indexOf(e),1));for(let e of r)e()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=`cancel`,this.close(),e(F);this._abortSignal.addEventListener(`abort`,()=>{this.state=`cancel`,this.close()},{once:!0})}let n=new f.WriteStream(0);n._write=(e,t,n)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,``),this._cursor=this.rl?.cursor??0,this.emit(`value`,this.value)),n()},this.input.pipe(n),this.rl=d.default.createInterface({input:this.input,output:n,tabSize:2,prompt:``,escapeCodeTimeout:50}),d.default.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),L(this.input,!0),this.output.on(`resize`,this.render),this.render(),this.once(`submit`,()=>{this.output.write(v.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(this.value)}),this.once(`cancel`,()=>{this.output.write(v.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(F)})})}onKeypress(e,t){if(this.state===`error`&&(this.state=`active`),t?.name&&(!this._track&&N.aliases.has(t.name)&&this.emit(`cursor`,N.aliases.get(t.name)),N.actions.has(t.name)&&this.emit(`cursor`,t.name)),e&&(e.toLowerCase()===`y`||e.toLowerCase()===`n`)&&this.emit(`confirm`,e.toLowerCase()===`y`),e===` `&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit(`value`,this.opts.placeholder))),e&&this.emit(`key`,e.toLowerCase()),t?.name===`return`){if(this.opts.validate){let e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=`error`,this.rl?.write(this.value))}this.state!==`error`&&(this.state=`submit`)}P([e,t?.name,t?.sequence],`cancel`)&&(this.state=`cancel`),(this.state===`submit`||this.state===`cancel`)&&this.emit(`finalize`),this.render(),(this.state===`submit`||this.state===`cancel`)&&this.close()}close(){this.input.unpipe(),this.input.removeListener(`keypress`,this.onKeypress),this.output.write(`
11
- `),L(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=M(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
12
- `).length-1;this.output.write(v.cursor.move(-999,e*-1))}render(){let e=M(this._render(this)??``,process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state===`initial`)this.output.write(v.cursor.hide);else{let t=he(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let n=t[0];this.output.write(v.cursor.move(0,n)),this.output.write(v.erase.lines(1));let r=e.split(`
13
- `);this.output.write(r[n]),this._prevFrame=e,this.output.write(v.cursor.move(0,r.length-n-1));return}if(t&&t?.length>1){let n=t[0];this.output.write(v.cursor.move(0,n)),this.output.write(v.erase.down());let r=e.split(`
14
- `).slice(n);this.output.write(r.join(`
15
- `)),this._prevFrame=e;return}this.output.write(v.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}},be=class extends z{get cursor(){return+!this.value}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`value`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(v.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}},xe=Object.defineProperty,Se=(e,t,n)=>t in e?xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t,n)=>(Se(e,typeof t==`symbol`?t:t+``,n),n),Ce=class extends z{constructor(e){super(e,!1),B(this,`options`),B(this,`cursor`,0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on(`cursor`,e=>{switch(e){case`left`:case`up`:this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case`down`:case`right`:this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}},we=class extends z{get valueWithCursor(){if(this.state===`submit`)return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...n]=this.value.slice(this.cursor);return`${e}${y.default.inverse(t)}${n.join(``)}`}get cursor(){return this._cursor}constructor(e){super(e),this.on(`finalize`,()=>{this.value||=e.defaultValue})}};function Te(){return u.default.platform===`win32`?!!u.default.env.CI||!!u.default.env.WT_SESSION||!!u.default.env.TERMINUS_SUBLIME||u.default.env.ConEmuTask===`{cmd::Cmder}`||u.default.env.TERM_PROGRAM===`Terminus-Sublime`||u.default.env.TERM_PROGRAM===`vscode`||u.default.env.TERM===`xterm-256color`||u.default.env.TERM===`alacritty`||u.default.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:u.default.env.TERM!==`linux`}const V=Te(),H=(e,t)=>V?e:t,Ee=H(`◆`,`*`),U=H(`■`,`x`),W=H(`▲`,`x`),G=H(`◇`,`o`),K=H(`│`,`|`),q=H(`└`,`—`),J=H(`●`,`>`),Y=H(`○`,` `),De=H(`●`,`•`),Oe=H(`◆`,`*`),ke=H(`▲`,`!`),Ae=H(`■`,`x`),X=e=>{switch(e){case`initial`:case`active`:return y.default.cyan(Ee);case`cancel`:return y.default.red(U);case`error`:return y.default.yellow(W);case`submit`:return y.default.green(G)}},je=e=>{let{cursor:t,options:n,style:r}=e,i=e.maxItems??1/0,a=Math.max(process.stdout.rows-4,0),o=Math.min(a,Math.max(i,5)),s=0;t>=s+o-3?s=Math.max(Math.min(t-o+3,n.length-o),0):t<s+2&&(s=Math.max(t-2,0));let c=o<n.length&&s>0,l=o<n.length&&s+o<n.length;return n.slice(s,s+o).map((e,n,i)=>{let a=n===0&&c,o=n===i.length-1&&l;return a||o?y.default.dim(`...`):r(e,n+s===t)})},Me=e=>new we({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,render(){let t=`${y.default.gray(K)}
16
- ${X(this.state)} ${e.message}
17
- `,n=e.placeholder?y.default.inverse(e.placeholder[0])+y.default.dim(e.placeholder.slice(1)):y.default.inverse(y.default.hidden(`_`)),r=this.value?this.valueWithCursor:n;switch(this.state){case`error`:return`${t.trim()}
18
- ${y.default.yellow(K)} ${r}
19
- ${y.default.yellow(q)} ${y.default.yellow(this.error)}
20
- `;case`submit`:return`${t}${y.default.gray(K)} ${y.default.dim(this.value||e.placeholder)}`;case`cancel`:return`${t}${y.default.gray(K)} ${y.default.strikethrough(y.default.dim(this.value??``))}${this.value?.trim()?`
21
- ${y.default.gray(K)}`:``}`;default:return`${t}${y.default.cyan(K)} ${r}
22
- ${y.default.cyan(q)}
23
- `}}}).prompt(),Z=e=>{let t=e.active??`Yes`,n=e.inactive??`No`;return new be({active:t,inactive:n,initialValue:e.initialValue??!0,render(){let r=`${y.default.gray(K)}
24
- ${X(this.state)} ${e.message}
25
- `,i=this.value?t:n;switch(this.state){case`submit`:return`${r}${y.default.gray(K)} ${y.default.dim(i)}`;case`cancel`:return`${r}${y.default.gray(K)} ${y.default.strikethrough(y.default.dim(i))}
26
- ${y.default.gray(K)}`;default:return`${r}${y.default.cyan(K)} ${this.value?`${y.default.green(J)} ${t}`:`${y.default.dim(Y)} ${y.default.dim(t)}`} ${y.default.dim(`/`)} ${this.value?`${y.default.dim(Y)} ${y.default.dim(n)}`:`${y.default.green(J)} ${n}`}
27
- ${y.default.cyan(q)}
28
- `}}}).prompt()},Ne=e=>{let t=(e,t)=>{let n=e.label??String(e.value);switch(t){case`selected`:return`${y.default.dim(n)}`;case`active`:return`${y.default.green(J)} ${n} ${e.hint?y.default.dim(`(${e.hint})`):``}`;case`cancelled`:return`${y.default.strikethrough(y.default.dim(n))}`;default:return`${y.default.dim(Y)} ${y.default.dim(n)}`}};return new Ce({options:e.options,initialValue:e.initialValue,render(){let n=`${y.default.gray(K)}
29
- ${X(this.state)} ${e.message}
30
- `;switch(this.state){case`submit`:return`${n}${y.default.gray(K)} ${t(this.options[this.cursor],`selected`)}`;case`cancel`:return`${n}${y.default.gray(K)} ${t(this.options[this.cursor],`cancelled`)}
31
- ${y.default.gray(K)}`;default:return`${n}${y.default.cyan(K)} ${je({cursor:this.cursor,options:this.options,maxItems:e.maxItems,style:(e,n)=>t(e,n?`active`:`inactive`)}).join(`
32
- ${y.default.cyan(K)} `)}
33
- ${y.default.cyan(q)}
34
- `}}}).prompt()},Pe=(e=``)=>{process.stdout.write(`${y.default.gray(q)} ${y.default.red(e)}
8
+ `),i=Math.max(n.length,r.length),a=[];for(let e=0;e<i;e++)n[e]!==r[e]&&a.push(e);return{lines:a,numLinesBefore:n.length,numLinesAfter:r.length,numLines:i}}const pe=globalThis.process.platform.startsWith(`win`),F=Symbol(`clack:cancel`);function I(e){return e===F}function L(e,t){let n=e;n.isTTY&&n.setRawMode(t)}function me({input:e=f.stdin,output:t=f.stdout,overwrite:n=!0,hideCursor:r=!0}={}){let i=p.createInterface({input:e,output:t,prompt:``,tabSize:1});p.emitKeypressEvents(e,i),e instanceof m.ReadStream&&e.isTTY&&e.setRawMode(!0);let a=(i,{name:o,sequence:s})=>{if(P([String(i),o,s],`cancel`)){r&&t.write(j.cursor.show),process.exit(0);return}if(!n)return;let c=o===`return`?0:-1,l=o===`return`?-1:0;p.moveCursor(t,c,l,()=>{p.clearLine(t,1,()=>{e.once(`keypress`,a)})})};return r&&t.write(j.cursor.hide),e.once(`keypress`,a),()=>{e.off(`keypress`,a),r&&t.write(j.cursor.show),e instanceof m.ReadStream&&e.isTTY&&!pe&&e.setRawMode(!1),i.terminal=!1,i.close()}}const R=e=>`columns`in e&&typeof e.columns==`number`?e.columns:80,he=e=>`rows`in e&&typeof e.rows==`number`?e.rows:20;function z(e,t,n,r=n,i){return A(t,R(e??f.stdout)-n.length,{hard:!0,trim:!1}).split(`
9
+ `).map((e,t)=>{let a=i?i(e,t):e;return`${t===0?r:n}${a}`}).join(`
10
+ `)}let B=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame=``;_subscribers=new Map;_cursor=0;state=`initial`;error=``;value;userInput=``;constructor(e,t=!0){let{input:n=f.stdin,output:r=f.stdout,render:i,signal:a,...o}=e;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=t,this._abortSignal=a,this.input=n,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let n=this._subscribers.get(e)??[];n.push(t),this._subscribers.set(e,n)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let n=this._subscribers.get(e)??[],r=[];for(let e of n)e.cb(...t),e.once&&r.push(()=>n.splice(n.indexOf(e),1));for(let e of r)e()}prompt(){return new Promise(e=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state=`cancel`,this.close(),e(F);this._abortSignal.addEventListener(`abort`,()=>{this.state=`cancel`,this.close()},{once:!0})}this.rl=p.default.createInterface({input:this.input,tabSize:2,prompt:``,escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on(`keypress`,this.onKeypress),L(this.input,!0),this.output.on(`resize`,this.render),this.render(),this.once(`submit`,()=>{this.output.write(j.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(this.value)}),this.once(`cancel`,()=>{this.output.write(j.cursor.show),this.output.off(`resize`,this.render),L(this.input,!1),e(F)})})}_isActionKey(e,t){return e===` `}_shouldSubmit(e,t){return!0}_setValue(e){this.value=e,this.emit(`value`,this.value)}_setUserInput(e,t){this.userInput=e??``,this.emit(`userInput`,this.userInput),t&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:`u`}),this._setUserInput(``)}onKeypress(e,t){if(this._track&&t.name!==`return`&&(t.name&&this._isActionKey(e,t)&&this.rl?.write(null,{ctrl:!0,name:`h`}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state===`error`&&(this.state=`active`),t?.name&&(!this._track&&N.aliases.has(t.name)&&this.emit(`cursor`,N.aliases.get(t.name)),N.actions.has(t.name)&&this.emit(`cursor`,t.name)),e&&(e.toLowerCase()===`y`||e.toLowerCase()===`n`)&&this.emit(`confirm`,e.toLowerCase()===`y`),this.emit(`key`,e?.toLowerCase(),t),t?.name===`return`&&this._shouldSubmit(e,t)){if(this.opts.validate){let e=this.opts.validate(this.value);e&&(this.error=e instanceof Error?e.message:e,this.state=`error`,this.rl?.write(this.userInput))}this.state!==`error`&&(this.state=`submit`)}P([e,t?.name,t?.sequence],`cancel`)&&(this.state=`cancel`),(this.state===`submit`||this.state===`cancel`)&&this.emit(`finalize`),this.render(),(this.state===`submit`||this.state===`cancel`)&&this.close()}close(){this.input.unpipe(),this.input.removeListener(`keypress`,this.onKeypress),this.output.write(`
11
+ `),L(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=A(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
12
+ `).length-1;this.output.write(j.cursor.move(-999,e*-1))}render(){let e=A(this._render(this)??``,process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state===`initial`)this.output.write(j.cursor.hide);else{let t=fe(this._prevFrame,e),n=he(this.output);if(this.restoreCursor(),t){let r=Math.max(0,t.numLinesAfter-n),i=Math.max(0,t.numLinesBefore-n),a=t.lines.find(e=>e>=r);if(a===void 0){this._prevFrame=e;return}if(t.lines.length===1){this.output.write(j.cursor.move(0,a-i)),this.output.write(j.erase.lines(1));let t=e.split(`
13
+ `);this.output.write(t[a]),this._prevFrame=e,this.output.write(j.cursor.move(0,t.length-a-1));return}else if(t.lines.length>1){if(r<i)a=r;else{let e=a-i;e>0&&this.output.write(j.cursor.move(0,e))}this.output.write(j.erase.down());let t=e.split(`
14
+ `).slice(a);this.output.write(t.join(`
15
+ `)),this._prevFrame=e;return}}this.output.write(j.erase.down())}this.output.write(e),this.state===`initial`&&(this.state=`active`),this._prevFrame=e}}};var ge=class extends B{get cursor(){return+!this.value}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on(`userInput`,()=>{this.value=this._value}),this.on(`confirm`,e=>{this.output.write(j.cursor.move(0,-1)),this.value=e,this.state=`submit`,this.close()}),this.on(`cursor`,()=>{this.value=!this.value})}},_e=class extends B{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(e){super(e,!1),this.options=e.options;let t=this.options.findIndex(({value:t})=>t===e.initialValue),n=t===-1?0:t;this.cursor=this.options[n].disabled?M(n,1,this.options):n,this.changeValue(),this.on(`cursor`,e=>{switch(e){case`left`:case`up`:this.cursor=M(this.cursor,-1,this.options);break;case`down`:case`right`:this.cursor=M(this.cursor,1,this.options);break}this.changeValue()})}},ve=class extends B{get userInputWithCursor(){if(this.state===`submit`)return this.userInput;let e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;let t=e.slice(0,this.cursor),[n,...r]=e.slice(this.cursor);return`${t}${(0,d.styleText)(`inverse`,n)}${r.join(``)}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on(`userInput`,e=>{this._setValue(e)}),this.on(`finalize`,()=>{this.value||=e.defaultValue,this.value===void 0&&(this.value=``)})}};function ye(){return f.default.platform===`win32`?!!f.default.env.CI||!!f.default.env.WT_SESSION||!!f.default.env.TERMINUS_SUBLIME||f.default.env.ConEmuTask===`{cmd::Cmder}`||f.default.env.TERM_PROGRAM===`Terminus-Sublime`||f.default.env.TERM_PROGRAM===`vscode`||f.default.env.TERM===`xterm-256color`||f.default.env.TERM===`alacritty`||f.default.env.TERMINAL_EMULATOR===`JetBrains-JediTerm`:f.default.env.TERM!==`linux`}const V=ye(),be=()=>process.env.CI===`true`,H=(e,t)=>V?e:t,xe=H(`◆`,`*`),Se=H(`■`,`x`),Ce=H(`▲`,`x`),U=H(`◇`,`o`),W=H(`│`,`|`),G=H(`└`,`—`),we=H(`●`,`>`),K=H(`○`,` `),Te=H(`●`,`•`),Ee=H(`◆`,`*`),De=H(`▲`,`!`),Oe=H(`■`,`x`),ke=e=>{switch(e){case`initial`:case`active`:return(0,d.styleText)(`cyan`,xe);case`cancel`:return(0,d.styleText)(`red`,Se);case`error`:return(0,d.styleText)(`yellow`,Ce);case`submit`:return(0,d.styleText)(`green`,U)}},Ae=e=>{switch(e){case`initial`:case`active`:return(0,d.styleText)(`cyan`,W);case`cancel`:return(0,d.styleText)(`red`,W);case`error`:return(0,d.styleText)(`yellow`,W);case`submit`:return(0,d.styleText)(`green`,W)}},je=(e,t,n,r,i)=>{let a=t,o=0;for(let t=n;t<r;t++){let n=e[t];if(a-=n.length,o++,a<=i)break}return{lineCount:a,removals:o}},Me=({cursor:e,options:t,style:n,output:r=process.stdout,maxItems:i=1/0,columnPadding:a=0,rowPadding:o=4})=>{let s=R(r)-a,c=he(r),l=(0,d.styleText)(`dim`,`...`),u=Math.max(c-o,0),f=Math.max(Math.min(i,u),5),p=0;e>=f-3&&(p=Math.max(Math.min(e-f+3,t.length-f),0));let m=f<t.length&&p>0,h=f<t.length&&p+f<t.length,g=Math.min(p+f,t.length),_=[],v=0;m&&v++,h&&v++;let y=p+ +!!m,b=g-+!!h;for(let r=y;r<b;r++){let i=A(n(t[r],r===e),s,{hard:!0,trim:!1}).split(`
16
+ `);_.push(i),v+=i.length}if(v>u){let t=0,n=0,r=v,i=e-y,a=(e,t)=>je(_,r,e,t,u);m?({lineCount:r,removals:t}=a(0,i),r>u&&({lineCount:r,removals:n}=a(i+1,_.length))):({lineCount:r,removals:n}=a(i+1,_.length),r>u&&({lineCount:r,removals:t}=a(0,i))),t>0&&(m=!0,_.splice(0,t)),n>0&&(h=!0,_.splice(_.length-n,n))}let x=[];m&&x.push(l);for(let e of _)for(let t of e)x.push(t);return h&&x.push(l),x},q=e=>{let t=e.active??`Yes`,n=e.inactive??`No`;return new ge({active:t,inactive:n,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){let r=e.withGuide??N.withGuide,i=`${ke(this.state)} `,a=r?`${(0,d.styleText)(`gray`,W)} `:``,o=z(e.output,e.message,a,i),s=`${r?`${(0,d.styleText)(`gray`,W)}
17
+ `:``}${o}
18
+ `,c=this.value?t:n;switch(this.state){case`submit`:return`${s}${r?`${(0,d.styleText)(`gray`,W)} `:``}${(0,d.styleText)(`dim`,c)}`;case`cancel`:return`${s}${r?`${(0,d.styleText)(`gray`,W)} `:``}${(0,d.styleText)([`strikethrough`,`dim`],c)}${r?`
19
+ ${(0,d.styleText)(`gray`,W)}`:``}`;default:{let i=r?`${(0,d.styleText)(`cyan`,W)} `:``,a=r?(0,d.styleText)(`cyan`,G):``;return`${s}${i}${this.value?`${(0,d.styleText)(`green`,we)} ${t}`:`${(0,d.styleText)(`dim`,K)} ${(0,d.styleText)(`dim`,t)}`}${e.vertical?r?`
20
+ ${(0,d.styleText)(`cyan`,W)} `:`
21
+ `:` ${(0,d.styleText)(`dim`,`/`)} `}${this.value?`${(0,d.styleText)(`dim`,K)} ${(0,d.styleText)(`dim`,n)}`:`${(0,d.styleText)(`green`,we)} ${n}`}
22
+ ${a}
23
+ `}}}}).prompt()},Ne=async(e,t)=>{let n={},r=Object.keys(e);for(let i of r){let r=e[i],a=await r({results:n})?.catch(e=>{throw e});if(typeof t?.onCancel==`function`&&I(a)){n[i]=`canceled`,t.onCancel({results:n});continue}n[i]=a}return n},J={message:(e=[],{symbol:t=(0,d.styleText)(`gray`,W),secondarySymbol:n=(0,d.styleText)(`gray`,W),output:r=process.stdout,spacing:i=1,withGuide:a}={})=>{let o=[],s=a??N.withGuide,c=s?n:``,l=s?`${t} `:``,u=s?`${n} `:``;for(let e=0;e<i;e++)o.push(c);let f=Array.isArray(e)?e:e.split(`
24
+ `);if(f.length>0){let[e,...r]=f;e.length>0?o.push(`${l}${e}`):o.push(s?t:``);for(let e of r)e.length>0?o.push(`${u}${e}`):o.push(s?n:``)}r.write(`${o.join(`
25
+ `)}
26
+ `)},info:(e,t)=>{J.message(e,{...t,symbol:(0,d.styleText)(`blue`,Te)})},success:(e,t)=>{J.message(e,{...t,symbol:(0,d.styleText)(`green`,Ee)})},step:(e,t)=>{J.message(e,{...t,symbol:(0,d.styleText)(`green`,U)})},warn:(e,t)=>{J.message(e,{...t,symbol:(0,d.styleText)(`yellow`,De)})},warning:(e,t)=>{J.warn(e,t)},error:(e,t)=>{J.message(e,{...t,symbol:(0,d.styleText)(`red`,Oe)})}},Y=(e=``,t)=>{let n=t?.output??process.stdout,r=t?.withGuide??N.withGuide?`${(0,d.styleText)(`gray`,G)} `:``;n.write(`${r}${(0,d.styleText)(`red`,e)}
35
27
 
36
- `)},Fe=(e=``)=>{process.stdout.write(`${y.default.gray(K)}
37
- ${y.default.gray(q)} ${e}
28
+ `)},Pe=(e=``,t)=>{let n=t?.output??process.stdout,r=t?.withGuide??N.withGuide?`${(0,d.styleText)(`gray`,W)}
29
+ ${(0,d.styleText)(`gray`,G)} `:``;n.write(`${r}${e}
38
30
 
39
- `)},Q={message:(e=``,{symbol:t=y.default.gray(K)}={})=>{let n=[`${y.default.gray(K)}`];if(e){let[r,...i]=e.split(`
40
- `);n.push(`${t} ${r}`,...i.map(e=>`${y.default.gray(K)} ${e}`))}process.stdout.write(`${n.join(`
41
- `)}
42
- `)},info:e=>{Q.message(e,{symbol:y.default.blue(De)})},success:e=>{Q.message(e,{symbol:y.default.green(Oe)})},step:e=>{Q.message(e,{symbol:y.default.green(G)})},warn:e=>{Q.message(e,{symbol:y.default.yellow(ke)})},warning:e=>{Q.warn(e)},error:e=>{Q.message(e,{symbol:y.default.red(Ae)})}},Ie=()=>{let e=V?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],t=V?80:120,n=process.env.CI===`true`,r,i,a=!1,o=``,s,c=e=>{a&&g(e>1?`Something went wrong`:`Canceled`,e)},l=()=>c(2),u=()=>c(1),d=()=>{process.on(`uncaughtExceptionMonitor`,l),process.on(`unhandledRejection`,l),process.on(`SIGINT`,u),process.on(`SIGTERM`,u),process.on(`exit`,c)},f=()=>{process.removeListener(`uncaughtExceptionMonitor`,l),process.removeListener(`unhandledRejection`,l),process.removeListener(`SIGINT`,u),process.removeListener(`SIGTERM`,u),process.removeListener(`exit`,c)},p=()=>{if(s===void 0)return;n&&process.stdout.write(`
43
- `);let e=s.split(`
44
- `);process.stdout.write(v.cursor.move(-999,e.length-1)),process.stdout.write(v.erase.down(e.length))},m=e=>e.replace(/\.+$/,``),h=(c=``)=>{a=!0,r=_e(),o=m(c),process.stdout.write(`${y.default.gray(K)}
45
- `);let l=0,u=0;d(),i=setInterval(()=>{if(n&&o===s)return;p(),s=o;let t=y.default.magenta(e[l]),r=n?`...`:`.`.repeat(Math.floor(u)).slice(0,3);process.stdout.write(`${t} ${o}${r}`),l=l+1<e.length?l+1:0,u=u<e.length?u+.125:0},t)},g=(e=``,t=0)=>{a=!1,clearInterval(i),p();let n=t===0?y.default.green(G):t===1?y.default.red(U):y.default.red(W);o=m(e??o),process.stdout.write(`${n} ${o}
46
- `),f(),r()};return{start:h,stop:g,message:(e=``)=>{o=m(e??o)}}},Le=async(e,t)=>{let n={},r=Object.keys(e);for(let i of r){let r=e[i],a=await r({results:n})?.catch(e=>{throw e});if(typeof t?.onCancel==`function`&&I(a)){n[i]=`canceled`,t.onCancel({results:n});continue}n[i]=a}return n};async function Re(e,t=!1){if(t)return{path:`./src/env.ts`,validator:`arktype`,framework:e?.framework||`node`,language:`ts`};let n=await Le({framework:()=>Ne({message:`Select your framework or runtime:`,initialValue:e?.framework,options:[{value:`vite`,label:`Vite${e?.framework===`vite`?` (Detected)`:``}`,hint:`Browser-based projects`},{value:`bun`,label:`Bun${e?.framework===`bun`?` (Detected)`:``}`,hint:`Fast JS runtime`},{value:`node`,label:`Node.js${e?.framework===`node`?` (Detected)`:``}`,hint:`Standard backend`}]}),validator:()=>Ne({message:`Select your preferred validator library:`,options:[{value:`arktype`,label:`ArkType (Recommended)`,hint:`Fastest runtime validation`},{value:`zod`,label:`Zod`,hint:`Most popular`},{value:`valibot`,label:`Valibot`,hint:`Smallest bundle size`}]}),useDefaultPath:()=>Z({message:`Use default config path (./src/env.ts)?`,initialValue:!0,active:`Yes (Recommended)`,inactive:`No, let me customize it`}),path:({results:e})=>{if(!e.useDefaultPath)return Me({message:`Where should we create the ArkEnv config?`,placeholder:`./src/env.ts`,initialValue:`./src/env.ts`})}},{onCancel:()=>(Pe(`Operation cancelled.`),null)});return I(n)?null:{path:n.path||`./src/env.ts`,validator:n.validator,framework:n.framework,language:`ts`}}const ze=e=>_.default`
31
+ `)},Fe=e=>(0,d.styleText)(`magenta`,e),Ie=({indicator:e=`dots`,onCancel:t,output:n=process.stdout,cancelMessage:r,errorMessage:i,frames:a=V?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],delay:o=V?80:120,signal:s,...c}={})=>{let l=be(),u,f,p=!1,m=!1,h=``,g,_=performance.now(),v=R(n),y=c?.styleFrame??Fe,b=e=>{let n=e>1?i??N.messages.error:r??N.messages.cancel;m=e===1,p&&(T(n,e),m&&typeof t==`function`&&t())},x=()=>b(2),S=()=>b(1),ee=()=>{process.on(`uncaughtExceptionMonitor`,x),process.on(`unhandledRejection`,x),process.on(`SIGINT`,S),process.on(`SIGTERM`,S),process.on(`exit`,b),s&&s.addEventListener(`abort`,S)},C=()=>{process.removeListener(`uncaughtExceptionMonitor`,x),process.removeListener(`unhandledRejection`,x),process.removeListener(`SIGINT`,S),process.removeListener(`SIGTERM`,S),process.removeListener(`exit`,b),s&&s.removeEventListener(`abort`,S)},te=()=>{if(g===void 0)return;l&&n.write(`
32
+ `);let e=A(g,v,{hard:!0,trim:!1}).split(`
33
+ `);e.length>1&&n.write(j.cursor.up(e.length-1)),n.write(j.cursor.to(0)),n.write(j.erase.down())},w=e=>e.replace(/\.+$/,``),ne=e=>{let t=(performance.now()-e)/1e3,n=Math.floor(t/60),r=Math.floor(t%60);return n>0?`[${n}m ${r}s]`:`[${r}s]`},re=c.withGuide??N.withGuide,ie=(t=``)=>{p=!0,u=me({output:n}),h=w(t),_=performance.now(),re&&n.write(`${(0,d.styleText)(`gray`,W)}
34
+ `);let r=0,i=0;ee(),f=setInterval(()=>{if(l&&h===g)return;te(),g=h;let t=y(a[r]),o;if(l)o=`${t} ${h}...`;else if(e===`timer`)o=`${t} ${h} ${ne(_)}`;else{let e=`.`.repeat(Math.floor(i)).slice(0,3);o=`${t} ${h}${e}`}let s=A(o,v,{hard:!0,trim:!1});n.write(s),r=r+1<a.length?r+1:0,i=i<4?i+.125:0},o)},T=(t=``,r=0,i=!1)=>{if(!p)return;p=!1,clearInterval(f),te();let a=r===0?(0,d.styleText)(`green`,U):r===1?(0,d.styleText)(`red`,Se):(0,d.styleText)(`red`,Ce);h=t??h,i||(e===`timer`?n.write(`${a} ${h} ${ne(_)}
35
+ `):n.write(`${a} ${h}
36
+ `)),C(),u()};return{start:ie,stop:(e=``)=>T(e,0),message:(e=``)=>{h=w(e??h)},cancel:(e=``)=>T(e,1),error:(e=``)=>T(e,2),clear:()=>T(``,0,!0),get isCancelled(){return m}}},X=(e,t)=>e.includes(`
37
+ `)?e.split(`
38
+ `).map(e=>t(e)).join(`
39
+ `):t(e),Le=e=>{let t=(e,t)=>{let n=e.label??String(e.value);switch(t){case`disabled`:return`${(0,d.styleText)(`gray`,K)} ${X(n,e=>(0,d.styleText)(`gray`,e))}${e.hint?` ${(0,d.styleText)(`dim`,`(${e.hint??`disabled`})`)}`:``}`;case`selected`:return`${X(n,e=>(0,d.styleText)(`dim`,e))}`;case`active`:return`${(0,d.styleText)(`green`,we)} ${n}${e.hint?` ${(0,d.styleText)(`dim`,`(${e.hint})`)}`:``}`;case`cancelled`:return`${X(n,e=>(0,d.styleText)([`strikethrough`,`dim`],e))}`;default:return`${(0,d.styleText)(`dim`,K)} ${X(n,e=>(0,d.styleText)(`dim`,e))}`}};return new _e({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){let n=e.withGuide??N.withGuide,r=`${ke(this.state)} `,i=`${Ae(this.state)} `,a=z(e.output,e.message,i,r),o=`${n?`${(0,d.styleText)(`gray`,W)}
40
+ `:``}${a}
41
+ `;switch(this.state){case`submit`:{let r=n?`${(0,d.styleText)(`gray`,W)} `:``;return`${o}${z(e.output,t(this.options[this.cursor],`selected`),r)}`}case`cancel`:{let r=n?`${(0,d.styleText)(`gray`,W)} `:``;return`${o}${z(e.output,t(this.options[this.cursor],`cancelled`),r)}${n?`
42
+ ${(0,d.styleText)(`gray`,W)}`:``}`}default:{let r=n?`${(0,d.styleText)(`cyan`,W)} `:``,i=n?(0,d.styleText)(`cyan`,G):``,a=o.split(`
43
+ `).length,s=n?2:1;return`${o}${r}${Me({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:r.length,rowPadding:a+s,style:(e,n)=>t(e,e.disabled?`disabled`:n?`active`:`inactive`)}).join(`
44
+ ${r}`)}
45
+ ${i}
46
+ `}}}}).prompt()},Re=`${(0,d.styleText)(`gray`,W)} `,Z={message:async(e,{symbol:t=(0,d.styleText)(`gray`,W)}={})=>{process.stdout.write(`${(0,d.styleText)(`gray`,W)}
47
+ ${t} `);let n=3;for await(let t of e){t=t.replace(/\n/g,`
48
+ ${Re}`),t.includes(`
49
+ `)&&(n=3+(0,d.stripVTControlCharacters)(t.slice(t.lastIndexOf(`
50
+ `))).length);let e=(0,d.stripVTControlCharacters)(t).length;n+e<process.stdout.columns?(n+=e,process.stdout.write(t)):(process.stdout.write(`
51
+ ${Re}${t.trimStart()}`),n=3+(0,d.stripVTControlCharacters)(t.trimStart()).length)}process.stdout.write(`
52
+ `)},info:e=>Z.message(e,{symbol:(0,d.styleText)(`blue`,Te)}),success:e=>Z.message(e,{symbol:(0,d.styleText)(`green`,Ee)}),step:e=>Z.message(e,{symbol:(0,d.styleText)(`green`,U)}),warn:e=>Z.message(e,{symbol:(0,d.styleText)(`yellow`,De)}),warning:e=>Z.warn(e),error:e=>Z.message(e,{symbol:(0,d.styleText)(`red`,Oe)})},ze=e=>new ve({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){let t=e?.withGuide??N.withGuide,n=`${`${t?`${(0,d.styleText)(`gray`,W)}
53
+ `:``}${ke(this.state)} `}${e.message}
54
+ `,r=e.placeholder?(0,d.styleText)(`inverse`,e.placeholder[0])+(0,d.styleText)(`dim`,e.placeholder.slice(1)):(0,d.styleText)([`inverse`,`hidden`],`_`),i=this.userInput?this.userInputWithCursor:r,a=this.value??``;switch(this.state){case`error`:{let e=this.error?` ${(0,d.styleText)(`yellow`,this.error)}`:``,r=t?`${(0,d.styleText)(`yellow`,W)} `:``,a=t?(0,d.styleText)(`yellow`,G):``;return`${n.trim()}
55
+ ${r}${i}
56
+ ${a}${e}
57
+ `}case`submit`:{let e=a?` ${(0,d.styleText)(`dim`,a)}`:``;return`${n}${t?(0,d.styleText)(`gray`,W):``}${e}`}case`cancel`:{let e=a?` ${(0,d.styleText)([`strikethrough`,`dim`],a)}`:``,r=t?(0,d.styleText)(`gray`,W):``;return`${n}${r}${e}${a.trim()?`
58
+ ${r}`:``}`}default:return`${n}${t?`${(0,d.styleText)(`cyan`,W)} `:``}${i}
59
+ ${t?(0,d.styleText)(`cyan`,G):``}
60
+ `}}}).prompt();var Q=c(o(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c}))(),1),Be=`0.0.3`;function Ve(e){let t=[],n=e.split(/\r?\n/);for(let e of n){let n=e.trim();if(!n||n.startsWith(`#`))continue;let r=n.match(/^([A-Z_][A-Z0-9_]*)\s*=/i);r?.[1]&&t.push(r[1])}return Array.from(new Set(t))}async function He(){let e=u.default.join(process.cwd(),`.env.example`);try{let t=Ve(await g.default.readFile(e,`utf-8`));return t.length>0?t:null}catch{return null}}const $=e=>Q.default.cyan(e),Ue=Q.default.blue(`⛯`);async function We(e,t=!1){let n=await He();if(t)return{path:`./src/env.ts`,validator:`arktype`,framework:e?.framework||`node`,language:`ts`,overwrite:!0,envKeys:n||void 0};let r=await Ne({overwrite:async()=>{let e=`./src/env.ts`;if(h.default.existsSync(u.default.resolve(process.cwd(),e))){let t=await q({message:Q.default.yellow(`An existing ArkEnv configuration was found at ${$(e)}. Do you want to overwrite it?`),initialValue:!1,active:`Yes (override my configuration)`,inactive:`No (abort)`});return I(t)&&(Y(`Operation cancelled.`),process.exit(0)),t||(Y(`Operation cancelled.`),process.exit(0)),t}return!0},framework:()=>Le({message:`Select your framework or runtime:`,initialValue:e?.framework,options:[{value:`vite`,label:`Vite${e?.framework===`vite`?` (Detected)`:``}`},{value:`bun`,label:`Bun${e?.framework===`bun`?` (Detected)`:``}`},{value:`node`,label:`Node.js${e?.framework===`node`?` (Detected)`:``}`}]}),validator:()=>Le({message:`Select your preferred validator library:`,options:[{value:`arktype`,label:`ArkType (Recommended)`,hint:`TypeScript's 1:1 validator, optimized from editor to runtime`},{value:`zod`,label:`Zod`,hint:`TypeScript-first schema validation with static type inference`},{value:`valibot`,label:`Valibot`,hint:`The modular and type safe schema library`}]}),useEnvExample:async()=>n?q({message:`Detected ${Q.default.cyan(`.env.example`)} with ${n.length} keys. Use them for your schema?`,active:`Yes (Recommended)`,initialValue:!0}):!1,useDefaultPath:()=>q({message:`Use default config path (./src/env.ts)?`,initialValue:!0,active:`Yes (Recommended)`,inactive:`No, let me customize it`}),path:({results:e})=>{if(!e.useDefaultPath)return ze({message:`Where should we create the ArkEnv config?`,placeholder:`./src/env.ts`,initialValue:`./src/env.ts`})}},{onCancel:()=>{Y(`Operation cancelled.`),process.exit(0)}});return I(r)&&(Y(`Operation cancelled.`),process.exit(0)),{path:r.path||`./src/env.ts`,validator:r.validator,framework:r.framework,language:`ts`,overwrite:r.overwrite,envKeys:r.useEnvExample?n:void 0}}const Ge=e=>v.default`
47
61
  import arkenv, { type } from "arkenv";
48
62
 
49
63
  const Env = type({
50
- NODE_ENV: "'development' | 'production' | 'test'",
51
- PORT: "number.port",
64
+ ${e?.length?e.map(e=>`\t\t${e}: "string",`).join(`
65
+ `):` NODE_ENV: "'development' | 'production' | 'test'",
66
+ PORT: "number.port",`}
52
67
  });
53
68
 
54
- /**
55
- * ArkEnv handles environment variable validation and type-safety.
56
- * ${e}
57
- */
58
69
  export const env = arkenv(Env);
59
- `,Be=e=>_.default`
70
+ `,Ke=e=>v.default`
60
71
  import arkenv from "arkenv/standard";
61
72
  import * as v from "valibot";
62
73
 
63
74
  const Env = v.object({
64
- NODE_ENV: v.picklist(["development", "production", "test"]),
65
- PORT: v.pipe(v.string(), v.transform(Number), v.number(), v.minValue(1)),
75
+ ${e?.length?e.map(e=>`\t\t${e}: v.string(),`).join(`
76
+ `):` NODE_ENV: v.picklist(["development", "production", "test"]),
77
+ PORT: v.pipe(v.string(), v.transform(Number), v.number(), v.minValue(1)),`}
66
78
  });
67
79
 
68
- /**
69
- * ArkEnv handles environment variable validation and type-safety.
70
- * ${e}
71
- */
72
80
  export const env = arkenv(Env);
73
- `,Ve=e=>_.default`
81
+ `,qe=e=>v.default`
74
82
  import arkenv from "arkenv/standard";
75
83
  import { z } from "zod";
76
84
 
77
85
  const Env = z.object({
78
- NODE_ENV: z.enum(["development", "production", "test"]),
79
- PORT: z.coerce.number().positive(),
86
+ ${e?.length?e.map(e=>`\t\t${e}: z.string(),`).join(`
87
+ `):` NODE_ENV: z.enum(["development", "production", "test"]),
88
+ PORT: z.coerce.number().positive(),`}
80
89
  });
81
90
 
82
- /**
83
- * ArkEnv handles environment variable validation and type-safety.
84
- * ${e}
85
- */
86
91
  export const env = arkenv(Env);
87
- `;function He(e){let{validator:t,framework:n}=e,r=Ue(n);switch(t){case`arktype`:return ze(r)+`
88
- `;case`zod`:return Ve(r)+`
89
- `;case`valibot`:return Be(r)+`
90
- `;default:throw Error(`Unsupported validator: ${t}`)}}function Ue(e){switch(e){case`vite`:return`For Vite, ensure you add the @arkenv/vite-plugin to your vite.config.ts.`;case`bun`:return`For Bun, ensure you add the @arkenv/bun-plugin to your bun.config.ts or use the preload pattern.`;case`node`:return`For Node.js, ArkEnv will read from process.env automatically.`;default:return``}}async function We(e){let t=l.default.resolve(process.cwd(),e.path),n=l.default.dirname(t);await h.default.mkdir(n,{recursive:!0});let r=He(e);if((0,m.existsSync)(t)){if(!await Z({message:`File ${l.default.basename(t)} already exists. Overwrite?`,initialValue:!1}))return{tsConfigResult:{status:`already_strict`}};await h.default.writeFile(t,r,`utf-8`)}else await h.default.writeFile(t,r,`utf-8`);let i={status:`already_strict`};e.shouldUpdateTsConfig&&(i=await qe());let a=await Ye(),o=[`arkenv`,e.validator];e.framework===`vite`&&o.push(`@arkenv/vite-plugin`),e.framework===`bun`&&o.push(`@arkenv/bun-plugin`);let[s,...c]=Xe(a,o).split(` `);return await new Promise((e,t)=>{let n=(0,p.spawn)(s,c,{stdio:`inherit`,shell:!0});n.on(`close`,n=>{n===0?e():t(Error(`Failed to install dependencies (${s} ${c.join(` `)}): Exit code ${n}`))}),n.on(`error`,t)}),{tsConfigResult:i}}async function Ge(){let e=[`tsconfig.app.json`,`tsconfig.json`,`tsconfig.base.json`,`tsconfig.node.json`],t=process.cwd();for(;t!==l.default.parse(t).root;){for(let n of e){let e=l.default.join(t,n);try{return await h.default.access(e),e}catch{}}t=l.default.dirname(t)}return null}async function Ke(){let e=await Ge();if(!e)return{status:`not_found`};let t=l.default.basename(e);try{return(0,g.parse)(await h.default.readFile(e,`utf-8`))?.compilerOptions?.strict===!0?{status:`strict`,file:t}:{status:`not_strict`,file:t}}catch{return{status:`not_found`}}}async function qe(){let e=await Ge();if(!e)return{status:`not_found`};let t=l.default.basename(e);try{let n=await h.default.readFile(e,`utf-8`);if((0,g.parse)(n)?.compilerOptions?.strict===!0)return{status:`already_strict`,file:t};let r=(0,g.applyEdits)(n,(0,g.modify)(n,[`compilerOptions`,`strict`],!0,{formattingOptions:{insertSpaces:!0,tabSize:2}}));return await h.default.writeFile(e,r,`utf-8`),{status:`updated`,file:t}}catch{return{status:`error`,file:t}}}async function Je(){try{let e=l.default.join(process.cwd(),`package.json`),t=await h.default.readFile(e,`utf-8`),n=JSON.parse(t),r={...n.dependencies,...n.devDependencies};if(r.vite)return`vite`;if(r[`@types/bun`]||r.bun)return`bun`}catch{}try{return await h.default.access(l.default.join(process.cwd(),`vite.config.ts`)),`vite`}catch{}try{return await h.default.access(l.default.join(process.cwd(),`vite.config.js`)),`vite`}catch{}return`bun`in process.versions?`bun`:`node`}async function Ye(){let e=process.env.npm_config_user_agent?.toString()||``;if(e.includes(`pnpm`))return`pnpm`;if(e.includes(`yarn`))return`yarn`;if(e.includes(`bun`))return`bun`;if(e.includes(`npm`))return`npm`;let t=process.cwd();for(;t!==l.default.parse(t).root;){try{let e=l.default.join(t,`package.json`),n=await h.default.readFile(e,`utf-8`),r=JSON.parse(n);if(r.packageManager){if(r.packageManager.startsWith(`pnpm`))return`pnpm`;if(r.packageManager.startsWith(`yarn`))return`yarn`;if(r.packageManager.startsWith(`bun`))return`bun`}}catch{}let e=await h.default.readdir(t);if(e.includes(`pnpm-lock.yaml`))return`pnpm`;if(e.includes(`yarn.lock`))return`yarn`;if(e.includes(`bun.lockb`))return`bun`;if(e.includes(`package-lock.json`))return`npm`;t=l.default.dirname(t)}return`npm`}function Xe(e,t){switch(e){case`pnpm`:return`pnpm add ${t.join(` `)}`;case`yarn`:return`yarn add ${t.join(` `)}`;case`bun`:return`bun add ${t.join(` `)}`;default:return`npm install ${t.join(` `)}`}}const $=e=>y.default.cyan(e);async function Ze(){let e=process.argv.slice(2),t=e[0],n=e.includes(`--help`)||e.includes(`-h`),r=e.includes(`--yes`)||e.includes(`-y`),i=()=>{console.log(y.default.cyan(`ArkEnv CLI`)),console.log(`
92
+ `;function Je(e){let{validator:t,envKeys:n}=e;switch(t){case`arktype`:return Ge(n)+`
93
+ `;case`zod`:return qe(n)+`
94
+ `;case`valibot`:return Ke(n)+`
95
+ `;default:throw Error(`Unsupported validator: ${t}`)}}async function Ye(e){let t=u.default.resolve(process.cwd(),e.path),n=u.default.dirname(t);await g.default.mkdir(n,{recursive:!0});let r=Je(e);if((0,h.existsSync)(t)){if(e.overwrite===!1)return{tsConfigResult:{status:`already_strict`}};if(e.overwrite===void 0){let e=await q({message:`File ${u.default.basename(t)} already exists. Overwrite?`,initialValue:!1});if(I(e)&&(Y(`Operation cancelled.`),process.exit(0)),!e)return{tsConfigResult:{status:`already_strict`}}}await g.default.writeFile(t,r,`utf-8`)}else await g.default.writeFile(t,r,`utf-8`);let i={status:`already_strict`};e.shouldUpdateTsConfig&&(i=await Qe());let a=await et(),o=[`arkenv`,e.validator];e.framework===`vite`&&o.push(`@arkenv/vite-plugin`),e.framework===`bun`&&o.push(`@arkenv/bun-plugin`);let s=tt(a,o);return{tsConfigResult:i,installCmd:s,packageManager:a}}async function Xe(){let e=[`tsconfig.app.json`,`tsconfig.json`,`tsconfig.base.json`,`tsconfig.node.json`],t=process.cwd();for(;t!==u.default.parse(t).root;){for(let n of e){let e=u.default.join(t,n);try{return await g.default.access(e),e}catch{}}t=u.default.dirname(t)}return null}async function Ze(){let e=await Xe();if(!e)return{status:`not_found`};let t=u.default.basename(e);try{return(0,_.parse)(await g.default.readFile(e,`utf-8`))?.compilerOptions?.strict===!0?{status:`strict`,file:t}:{status:`not_strict`,file:t}}catch{return{status:`not_found`}}}async function Qe(){let e=await Xe();if(!e)return{status:`not_found`};let t=u.default.basename(e);try{let n=await g.default.readFile(e,`utf-8`);if((0,_.parse)(n)?.compilerOptions?.strict===!0)return{status:`already_strict`,file:t};let r=(0,_.applyEdits)(n,(0,_.modify)(n,[`compilerOptions`,`strict`],!0,{formattingOptions:{insertSpaces:!0,tabSize:2}}));return await g.default.writeFile(e,r,`utf-8`),{status:`updated`,file:t}}catch{return{status:`error`,file:t}}}async function $e(){try{let e=u.default.join(process.cwd(),`package.json`),t=await g.default.readFile(e,`utf-8`),n=JSON.parse(t),r={...n.dependencies,...n.devDependencies};if(r.vite)return`vite`;if(r[`@types/bun`]||r.bun)return`bun`}catch{}try{return await g.default.access(u.default.join(process.cwd(),`vite.config.ts`)),`vite`}catch{}try{return await g.default.access(u.default.join(process.cwd(),`vite.config.js`)),`vite`}catch{}return`bun`in process.versions?`bun`:`node`}async function et(){let e=process.env.npm_config_user_agent?.toString()||``;if(e.includes(`pnpm`))return`pnpm`;if(e.includes(`yarn`))return`yarn`;if(e.includes(`bun`))return`bun`;if(e.includes(`npm`))return`npm`;let t=process.cwd();for(;t!==u.default.parse(t).root;){try{let e=u.default.join(t,`package.json`),n=await g.default.readFile(e,`utf-8`),r=JSON.parse(n);if(r.packageManager){if(r.packageManager.startsWith(`pnpm`))return`pnpm`;if(r.packageManager.startsWith(`yarn`))return`yarn`;if(r.packageManager.startsWith(`bun`))return`bun`}}catch{}let e=await g.default.readdir(t);if(e.includes(`pnpm-lock.yaml`))return`pnpm`;if(e.includes(`yarn.lock`))return`yarn`;if(e.includes(`bun.lockb`))return`bun`;if(e.includes(`package-lock.json`))return`npm`;t=u.default.dirname(t)}return`npm`}function tt(e,t){switch(e){case`pnpm`:return`pnpm add ${t.join(` `)}`;case`yarn`:return`yarn add ${t.join(` `)}`;case`bun`:return`bun add ${t.join(` `)}`;default:return`npm install ${t.join(` `)}`}}async function nt(){let e=process.argv.slice(2),t=e[0],n=e.includes(`--help`)||e.includes(`-h`),r=e.includes(`--yes`)||e.includes(`-y`),i=()=>{console.log(`${Ue} ${Q.default.cyan(`ArkEnv CLI v${Be}`)}`),console.log(`
91
96
  Usage:`),console.log(` arkenv init Set up ArkEnv in your project`),console.log(`
92
- Options:`),console.log(` --yes, -y Skip prompts and use recommended defaults`),console.log(` --help, -h Show this help message`)};n&&(i(),process.exit(0)),t!==`init`&&(console.error(t?y.default.red(`Unknown command: ${t}`):y.default.red(`Missing command.`)),i(),process.exit(1));let a=!1,o=await Ke();if(o.status===`not_strict`)if(r)a=!0;else{Q.warn(y.default.yellow(`⚠ TypeScript strict mode is not enabled in your ${$(o.file)}.`));let e=await Z({message:`ArkEnv requires ${y.default.dim(`strict`)} mode in your ${$(o.file)}. Would you like to enable it now?`,initialValue:!0,active:`Yes (Recommended)`,inactive:`No`});I(e)&&(Pe(`Operation cancelled.`),process.exit(0)),e&&(a=!0)}let s=await Re({framework:await Je()},r);s||(Fe(y.default.yellow(`Operation cancelled.`)),process.exit(0));let c=Ie();c.start(`Scaffolding ArkEnv and installing dependencies...`);try{let{tsConfigResult:e}=await We({...s,shouldUpdateTsConfig:a});c.stop(`Scaffolding complete!`),e.status===`updated`?Q.info(y.default.blue(`ℹ Enforced strict: true in your ${$(e.file)}`)):e.status===`error`&&Q.warn(y.default.yellow(`⚠ Could not automatically update ${$(e.file||`tsconfig.json`)}. Please ensure 'strict: true' is set manually.`));let t=l.default.relative(process.cwd(),l.default.resolve(s.path)),n=t.startsWith(`.`)?t:`./${t}`;Fe(y.default.green(`Next steps:`)),Q.step(`1. Check ${$(n)} and adapt it to your needs.`),Q.step(`2. Import ${$(`env`)} from ${$(n)} in your main entry file (e.g. index.ts or main.ts) to ensure environment variables are validated at startup.`),Q.info(y.default.dim(`Happy coding!`))}catch(e){c.stop(`Scaffolding failed.`,1),Q.error(String(e)),process.exit(1)}}Ze(),process.on(`unhandledRejection`,e=>{Q.error(String(e)),process.exit(1)});
97
+ Options:`),console.log(` --yes, -y Skip prompts and use recommended defaults`),console.log(` --help, -h Show this help message`)};n&&(i(),process.exit(0)),t!==`init`&&(console.error(t?Q.default.red(`Unknown command: ${t}`):Q.default.red(`Missing command.`)),i(),process.exit(1));let a=!1,o=await Ze();if(o.status===`not_strict`)if(r)a=!0;else{J.warn(Q.default.yellow(`⚠ TypeScript strict mode is not enabled in your ${$(o.file)}.`));let e=await q({message:`ArkEnv requires ${Q.default.dim(`strict`)} mode in your ${$(o.file)}. Would you like to enable it now?`,initialValue:!0,active:`Yes (Recommended)`,inactive:`No`});I(e)&&(Y(`Operation cancelled.`),process.exit(0)),e&&(a=!0)}let s=await We({framework:await $e()},r);s||(Y(`Operation cancelled.`),process.exit(0));let c=Ie();c.start(`Scaffolding ArkEnv configuration...`);try{let{tsConfigResult:e,installCmd:t,packageManager:n}=await Ye({...s,shouldUpdateTsConfig:a});c.stop(`Configuration scaffolded!`),t&&(J.step(`Installing dependencies with ${n}...`),await new Promise((e,n)=>{let r=(0,l.spawn)(t,{stdio:`inherit`,shell:!0});r.on(`close`,t=>{t===0?e():n(Error(`Installation failed with code ${t}`))}),r.on(`error`,n)})),e.status===`updated`?J.info(Q.default.blue(`ℹ Enforced strict: true in your ${$(e.file)}`)):e.status===`error`&&J.warn(Q.default.yellow(`⚠ Could not automatically update ${$(e.file||`tsconfig.json`)}. Please ensure 'strict: true' is set manually.`));let r=u.default.relative(process.cwd(),u.default.resolve(s.path)),i=r.startsWith(`.`)?r:`./${r}`,o=i.replace(/\.(ts|js|tsx|jsx)$/,``);J.step(`1. Check ${$(i)} and adapt it to your needs. Review your schema to refine types (e.g., ${$(`number`)}, ${$(`boolean`)}, etc.).`),J.step(`2. Import and use your environment variables: ${$(`import { env } from "${o}"`)} → ${$(`env.VAR_NAME`)}`),Pe(`${Ue} ${Q.default.dim(`Happy coding!`)}`)}catch(e){c.stop(`Scaffolding failed.`),J.error(String(e)),process.exit(1)}}nt(),process.on(`unhandledRejection`,e=>{J.error(String(e)),process.exit(1)});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arkenv/cli",
3
3
  "type": "module",
4
- "version": "0.0.1",
4
+ "version": "0.0.3",
5
5
  "description": "Interactive CLI for scaffolding ArkEnv projects",
6
6
  "bin": {
7
7
  "arkenv": "./dist/index.cjs"
@@ -34,7 +34,7 @@
34
34
  "bugs": "https://github.com/yamcodes/arkenv/labels/arkenv-cli",
35
35
  "author": "Yam Borodetsky <yam@yam.codes>",
36
36
  "dependencies": {
37
- "@clack/prompts": "^0.9.1",
37
+ "@clack/prompts": "^1.3.0",
38
38
  "dedent": "^1.7.2",
39
39
  "jsonc-parser": "^3.3.1",
40
40
  "picocolors": "^1.1.1"