create-vitnode-app 0.1.0-rc.0 → 0.1.0-rc.1

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/index.cjs CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${i.join("', '")}'`);let r=`${e}Help`;return this.on(r,s=>{let
24
24
  `),process.exit(1))},St=async t=>{let e=t.opts(),n={packageManager:e.packageManager,eslint:e.eslint,install:!e.skipInstall,docker:e.docker};if(!e.packageManager){let i=await wt(),r=G.default.blue("package manager"),{packageManager:s}=await(0,U.default)({onState:I,name:"packageManager",type:"select",message:`Which ${r} do you want to use?`,initial:e.packageManager,choices:[{title:`npm${i.npm?`@${i.npm}`:""}`,value:"npm",disabled:!i.npm},{title:`pnpm${i.pnpm?`@${i.pnpm}`:""}`,value:"pnpm",disabled:!i.pnpm}]});n={...n,packageManager:`${s}@${i[s]}`}}if(e.eslint===void 0){let i=G.default.blue("ESLint"),{eslint:r}=await(0,U.default)({onState:I,type:"toggle",name:"eslint",message:`Would you like to use ${i}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,eslint:!!r}}if(e.docker===void 0){let i=G.default.blue("Dockerfile & Docker Compose"),{docker:r}=await(0,U.default)({onState:I,type:"toggle",name:"docker",message:`Would you like to create ${i}?`,initial:e.i18nRouting?"Yes":"No",active:"Yes",inactive:"No"});n={...n,docker:!!r}}if(e.skipInstall===void 0){let i=G.default.blue("Install dependencies"),{install:r}=await(0,U.default)({onState:I,type:"toggle",name:"install",message:`Would you like to ${i}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,install:!!r}}return n};var ie=require("fs"),Tt=require("path"),we=p(require("picocolors"),1);function re(t,e){let n=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"],i=(0,ie.readdirSync)(t).filter(r=>!n.includes(r)&&!r.endsWith(".iml"));if(i.length>0){console.log(`The directory ${we.default.green(e)} contains files that could conflict:
25
25
  `);for(let r of i)try{(0,ie.lstatSync)((0,Tt.join)(t,r)).isDirectory()?console.log(`${we.default.blue(r)}/`):console.log(r)}catch{console.log(r)}return console.log(`
26
26
  Either try using a new directory name, or remove the files listed above.
27
- `),!1}return!0}var kt=require("constants"),$t=require("fs/promises");async function Pt(t){try{return await(0,$t.access)(t,kt.W_OK),!0}catch{return!1}}var Nt=p(require("validate-npm-package-name"),1),Se=({name:t})=>{let e=(0,Nt.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var It={name:"create-vitnode-app",version:"0.0.10-canary.39",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.1",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.10.2","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.6","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.1",tsup:"^8.3.5",typescript:"^5.7.2"}};var A=require("path"),ii=require("crypto"),ri=p(require("figlet"),1);var Z=p(require("process"),1);var Rt=(t=0)=>e=>`\x1B[${e+t}m`,jt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Vt=(t=0)=>(e,n,i)=>`\x1B[${38+t};2;${e};${n};${i}m`,m={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]}},hs=Object.keys(m.modifier),Ti=Object.keys(m.color),ki=Object.keys(m.bgColor),fs=[...Ti,...ki];function $i(){let t=new Map;for(let[e,n]of Object.entries(m)){for(let[i,r]of Object.entries(n))m[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=m[i],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:n,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=Rt(),m.color.ansi256=jt(),m.color.ansi16m=Vt(),m.bgColor.ansi=Rt(10),m.bgColor.ansi256=jt(10),m.bgColor.ansi16m=Vt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,n,i){return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(s=>s+s).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,i,r;if(e>=232)n=((e-232)*10+8)/255,i=n,r=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,i=Math.floor(o/6)/5,r=o%6/5}let s=Math.max(n,i,r)*2;if(s===0)return 30;let u=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,n,i)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,n,i)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var Pi=$i(),y=Pi;var ue=p(require("process"),1),Ht=p(require("os"),1),Te=p(require("tty"),1);function v(t,e=globalThis.Deno?globalThis.Deno.args:ue.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(n+t),r=e.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:d}=ue.default,se;v("no-color")||v("no-colors")||v("color=false")||v("color=never")?se=0:(v("color")||v("colors")||v("color=true")||v("color=always"))&&(se=1);function Ni(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Ii(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ri(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let i=Ni();i!==void 0&&(se=i);let r=n?se:i;if(r===0)return 0;if(n){if(v("color=16m")||v("color=full")||v("color=truecolor"))return 3;if(v("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let s=r||0;if(d.TERM==="dumb")return s;if(ue.default.platform==="win32"){let u=Ht.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in d)||d.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let u=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:s}function Mt(t,e={}){let n=Ri(t,{streamIsTTY:t&&t.isTTY,...e});return Ii(n)}var ji={stdout:Mt({isTTY:Te.default.isatty(1)}),stderr:Mt({isTTY:Te.default.isatty(2)})},Wt=ji;function Lt(t,e,n){let i=t.indexOf(e);if(i===-1)return t;let r=e.length,s=0,u="";do u+=t.slice(s,i)+e+n,s=i+r,i=t.indexOf(e,s);while(i!==-1);return u+=t.slice(s),u}function qt(t,e,n,i){let r=0,s="";do{let u=t[i-1]==="\r";s+=t.slice(r,u?i-1:i)+e+(u?`\r
27
+ `),!1}return!0}var kt=require("constants"),$t=require("fs/promises");async function Pt(t){try{return await(0,$t.access)(t,kt.W_OK),!0}catch{return!1}}var Nt=p(require("validate-npm-package-name"),1),Se=({name:t})=>{let e=(0,Nt.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var It={name:"create-vitnode-app",version:"0.1.0-rc.0",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.1",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.10.2","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.6","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.1",tsup:"^8.3.5",typescript:"^5.7.2"}};var A=require("path"),ii=require("crypto"),ri=p(require("figlet"),1);var Z=p(require("process"),1);var Rt=(t=0)=>e=>`\x1B[${e+t}m`,jt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Vt=(t=0)=>(e,n,i)=>`\x1B[${38+t};2;${e};${n};${i}m`,m={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]}},hs=Object.keys(m.modifier),Ti=Object.keys(m.color),ki=Object.keys(m.bgColor),fs=[...Ti,...ki];function $i(){let t=new Map;for(let[e,n]of Object.entries(m)){for(let[i,r]of Object.entries(n))m[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=m[i],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:n,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=Rt(),m.color.ansi256=jt(),m.color.ansi16m=Vt(),m.bgColor.ansi=Rt(10),m.bgColor.ansi256=jt(10),m.bgColor.ansi16m=Vt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,n,i){return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(s=>s+s).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,i,r;if(e>=232)n=((e-232)*10+8)/255,i=n,r=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,i=Math.floor(o/6)/5,r=o%6/5}let s=Math.max(n,i,r)*2;if(s===0)return 30;let u=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return s===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,n,i)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,n,i)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var Pi=$i(),y=Pi;var ue=p(require("process"),1),Ht=p(require("os"),1),Te=p(require("tty"),1);function v(t,e=globalThis.Deno?globalThis.Deno.args:ue.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(n+t),r=e.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:d}=ue.default,se;v("no-color")||v("no-colors")||v("color=false")||v("color=never")?se=0:(v("color")||v("colors")||v("color=true")||v("color=always"))&&(se=1);function Ni(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Ii(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ri(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let i=Ni();i!==void 0&&(se=i);let r=n?se:i;if(r===0)return 0;if(n){if(v("color=16m")||v("color=full")||v("color=truecolor"))return 3;if(v("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let s=r||0;if(d.TERM==="dumb")return s;if(ue.default.platform==="win32"){let u=Ht.default.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in d)||d.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let u=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:s}function Mt(t,e={}){let n=Ri(t,{streamIsTTY:t&&t.isTTY,...e});return Ii(n)}var ji={stdout:Mt({isTTY:Te.default.isatty(1)}),stderr:Mt({isTTY:Te.default.isatty(2)})},Wt=ji;function Lt(t,e,n){let i=t.indexOf(e);if(i===-1)return t;let r=e.length,s=0,u="";do u+=t.slice(s,i)+e+n,s=i+r,i=t.indexOf(e,s);while(i!==-1);return u+=t.slice(s),u}function qt(t,e,n,i){let r=0,s="";do{let u=t[i-1]==="\r";s+=t.slice(r,u?i-1:i)+e+(u?`\r
28
28
  `:`
29
29
  `)+n,r=i+1,i=t.indexOf(`
30
30
  `,r)}while(i!==-1);return s+=t.slice(r),s}var{stdout:Gt,stderr:Ut}=Wt,ke=Symbol("GENERATOR"),R=Symbol("STYLER"),Y=Symbol("IS_EMPTY"),Yt=["ansi","ansi","ansi256","ansi16m"],j=Object.create(null),Vi=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=Gt?Gt.level:0;t.level=e.level===void 0?n:e.level};var Mi=t=>{let e=(...n)=>n.join(" ");return Vi(e,t),Object.setPrototypeOf(e,J.prototype),e};function J(t){return Mi(t)}Object.setPrototypeOf(J.prototype,Function.prototype);for(let[t,e]of Object.entries(y))j[t]={get(){let n=oe(this,Pe(e.open,e.close,this[R]),this[Y]);return Object.defineProperty(this,t,{value:n}),n}};j.visible={get(){let t=oe(this,this[R],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var $e=(t,e,n,...i)=>t==="rgb"?e==="ansi16m"?y[n].ansi16m(...i):e==="ansi256"?y[n].ansi256(y.rgbToAnsi256(...i)):y[n].ansi(y.rgbToAnsi(...i)):t==="hex"?$e("rgb",e,n,...y.hexToRgb(...i)):y[n][t](...i),Hi=["rgb","hex","ansi256"];for(let t of Hi){j[t]={get(){let{level:n}=this;return function(...i){let r=Pe($e(t,Yt[n],"color",...i),y.color.close,this[R]);return oe(this,r,this[Y])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);j[e]={get(){let{level:n}=this;return function(...i){let r=Pe($e(t,Yt[n],"bgColor",...i),y.bgColor.close,this[R]);return oe(this,r,this[Y])}}}}var Wi=Object.defineProperties(()=>{},{...j,level:{enumerable:!0,get(){return this[ke].level},set(t){this[ke].level=t}}}),Pe=(t,e,n)=>{let i,r;return n===void 0?(i=t,r=e):(i=n.openAll+t,r=e+n.closeAll),{open:t,close:e,openAll:i,closeAll:r,parent:n}},oe=(t,e,n)=>{let i=(...r)=>Li(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,Wi),i[ke]=t,i[R]=e,i[Y]=n,i},Li=(t,e)=>{if(t.level<=0||!e)return t[Y]?"":e;let n=t[R];if(n===void 0)return e;let{openAll:i,closeAll:r}=n;if(e.includes("\x1B"))for(;n!==void 0;)e=Lt(e,n.close,n.open),n=n.parent;let s=e.indexOf(`
@@ -32,8 +32,8 @@ Either try using a new directory name, or remove the files listed above.
32
32
  ${e}`,zi=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Ki=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Xi=(t,e,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=Ji.bind(null,i,e.toString());Object.defineProperty(r,"name",Ki);let{writable:s,enumerable:u,configurable:o}=zi;Object.defineProperty(t,"toString",{value:r,writable:s,enumerable:u,configurable:o})};function Ne(t,e,{ignoreNonConfigurable:n=!1}={}){let{name:i}=t;for(let r of Reflect.ownKeys(e))Gi(t,e,r,n);return Yi(t,e),Xi(t,e,i),t}var ae=new WeakMap,Jt=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let n,i=0,r=t.displayName||t.name||"<anonymous>",s=function(...u){if(ae.set(s,++i),i===1)n=t.apply(this,u),t=void 0;else if(e.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return n};return Ne(s,t),ae.set(s,i),s};Jt.callCount=t=>{if(!ae.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return ae.get(t)};var zt=Jt;var P=[];P.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&P.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&P.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var De=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",Ie=Symbol.for("signal-exit emitter"),Re=globalThis,Zi=Object.defineProperty.bind(Object),je=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Re[Ie])return Re[Ie];Zi(Re,Ie,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,n){this.listeners[e].push(n)}removeListener(e,n){let i=this.listeners[e],r=i.indexOf(n);r!==-1&&(r===0&&i.length===1?i.length=0:i.splice(r,1))}emit(e,n,i){if(this.emitted[e])return!1;this.emitted[e]=!0;let r=!1;for(let s of this.listeners[e])r=s(n,i)===!0||r;return e==="exit"&&(r=this.emit("afterExit",n,i)||r),r}},le=class{},Qi=t=>({onExit(e,n){return t.onExit(e,n)},load(){return t.load()},unload(){return t.unload()}}),Ve=class extends le{onExit(){return()=>{}}load(){}unload(){}},Me=class extends le{#u=He.platform==="win32"?"SIGINT":"SIGHUP";#n=new je;#e;#r;#h;#t={};#s=!1;constructor(e){super(),this.#e=e,this.#t={};for(let n of P)this.#t[n]=()=>{let i=this.#e.listeners(n),{count:r}=this.#n,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(r+=s.__signal_exit_emitter__.count),i.length===r){this.unload();let u=this.#n.emit("exit",null,n),o=n==="SIGHUP"?this.#u:n;u||e.kill(e.pid,o)}};this.#h=e.reallyExit,this.#r=e.emit}onExit(e,n){if(!De(this.#e))return()=>{};this.#s===!1&&this.load();let i=n?.alwaysLast?"afterExit":"exit";return this.#n.on(i,e),()=>{this.#n.removeListener(i,e),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#n.count+=1;for(let e of P)try{let n=this.#t[e];n&&this.#e.on(e,n)}catch{}this.#e.emit=(e,...n)=>this.#f(e,...n),this.#e.reallyExit=e=>this.#i(e)}}unload(){this.#s&&(this.#s=!1,P.forEach(e=>{let n=this.#t[e];if(!n)throw new Error("Listener not defined for signal: "+e);try{this.#e.removeListener(e,n)}catch{}}),this.#e.emit=this.#r,this.#e.reallyExit=this.#h,this.#n.count-=1)}#i(e){return De(this.#e)?(this.#e.exitCode=e||0,this.#n.emit("exit",this.#e.exitCode,null),this.#h.call(this.#e,this.#e.exitCode)):0}#f(e,...n){let i=this.#r;if(e==="exit"&&De(this.#e)){typeof n[0]=="number"&&(this.#e.exitCode=n[0]);let r=i.call(this.#e,e,...n);return this.#n.emit("exit",this.#e.exitCode,null),r}else return i.call(this.#e,e,...n)}},He=globalThis.process,{onExit:Kt,load:ys,unload:Os}=Qi(De(He)?new Me(He):new Ve);var Xt=z.default.stderr.isTTY?z.default.stderr:z.default.stdout.isTTY?z.default.stdout:void 0,er=Xt?zt(()=>{Kt(()=>{Xt.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},Zt=er;var ce=!1,V={};V.show=(t=We.default.stderr)=>{t.isTTY&&(ce=!1,t.write("\x1B[?25h"))};V.hide=(t=We.default.stderr)=>{t.isTTY&&(Zt(),ce=!0,t.write("\x1B[?25l"))};V.toggle=(t,e)=>{t!==void 0&&(ce=t),ce?V.show(e):V.hide(e)};var Le=V;var Q=p(qe(),1);var x=p(require("process"),1);function Ge(){return x.default.platform!=="win32"?x.default.env.TERM!=="linux":!!x.default.env.CI||!!x.default.env.WT_SESSION||!!x.default.env.TERMINUS_SUBLIME||x.default.env.ConEmuTask==="{cmd::Cmder}"||x.default.env.TERM_PROGRAM==="Terminus-Sublime"||x.default.env.TERM_PROGRAM==="vscode"||x.default.env.TERM==="xterm-256color"||x.default.env.TERM==="alacritty"||x.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var nr={info:O.blue("\u2139"),success:O.green("\u2714"),warning:O.yellow("\u26A0"),error:O.red("\u2716")},ir={info:O.blue("i"),success:O.green("\u221A"),warning:O.yellow("\u203C"),error:O.red("\xD7")},rr=Ge()?nr:ir,K=rr;function Ue({onlyFirst:t=!1}={}){let n=["[\\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(n,t?void 0:"g")}var sr=Ue();function X(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(sr,"")}function nn(t){return t===161||t===164||t===167||t===168||t===170||t===173||t===174||t>=176&&t<=180||t>=182&&t<=186||t>=188&&t<=191||t===198||t===208||t===215||t===216||t>=222&&t<=225||t===230||t>=232&&t<=234||t===236||t===237||t===240||t===242||t===243||t>=247&&t<=250||t===252||t===254||t===257||t===273||t===275||t===283||t===294||t===295||t===299||t>=305&&t<=307||t===312||t>=319&&t<=322||t===324||t>=328&&t<=331||t===333||t===338||t===339||t===358||t===359||t===363||t===462||t===464||t===466||t===468||t===470||t===472||t===474||t===476||t===593||t===609||t===708||t===711||t>=713&&t<=715||t===717||t===720||t>=728&&t<=731||t===733||t===735||t>=768&&t<=879||t>=913&&t<=929||t>=931&&t<=937||t>=945&&t<=961||t>=963&&t<=969||t===1025||t>=1040&&t<=1103||t===1105||t===8208||t>=8211&&t<=8214||t===8216||t===8217||t===8220||t===8221||t>=8224&&t<=8226||t>=8228&&t<=8231||t===8240||t===8242||t===8243||t===8245||t===8251||t===8254||t===8308||t===8319||t>=8321&&t<=8324||t===8364||t===8451||t===8453||t===8457||t===8467||t===8470||t===8481||t===8482||t===8486||t===8491||t===8531||t===8532||t>=8539&&t<=8542||t>=8544&&t<=8555||t>=8560&&t<=8569||t===8585||t>=8592&&t<=8601||t===8632||t===8633||t===8658||t===8660||t===8679||t===8704||t===8706||t===8707||t===8711||t===8712||t===8715||t===8719||t===8721||t===8725||t===8730||t>=8733&&t<=8736||t===8739||t===8741||t>=8743&&t<=8748||t===8750||t>=8756&&t<=8759||t===8764||t===8765||t===8776||t===8780||t===8786||t===8800||t===8801||t>=8804&&t<=8807||t===8810||t===8811||t===8814||t===8815||t===8834||t===8835||t===8838||t===8839||t===8853||t===8857||t===8869||t===8895||t===8978||t>=9312&&t<=9449||t>=9451&&t<=9547||t>=9552&&t<=9587||t>=9600&&t<=9615||t>=9618&&t<=9621||t===9632||t===9633||t>=9635&&t<=9641||t===9650||t===9651||t===9654||t===9655||t===9660||t===9661||t===9664||t===9665||t>=9670&&t<=9672||t===9675||t>=9678&&t<=9681||t>=9698&&t<=9701||t===9711||t===9733||t===9734||t===9737||t===9742||t===9743||t===9756||t===9758||t===9792||t===9794||t===9824||t===9825||t>=9827&&t<=9829||t>=9831&&t<=9834||t===9836||t===9837||t===9839||t===9886||t===9887||t===9919||t>=9926&&t<=9933||t>=9935&&t<=9939||t>=9941&&t<=9953||t===9955||t===9960||t===9961||t>=9963&&t<=9969||t===9972||t>=9974&&t<=9977||t===9979||t===9980||t===9982||t===9983||t===10045||t>=10102&&t<=10111||t>=11094&&t<=11097||t>=12872&&t<=12879||t>=57344&&t<=63743||t>=65024&&t<=65039||t===65533||t>=127232&&t<=127242||t>=127248&&t<=127277||t>=127280&&t<=127337||t>=127344&&t<=127373||t===127375||t===127376||t>=127387&&t<=127404||t>=917760&&t<=917999||t>=983040&&t<=1048573||t>=1048576&&t<=1114109}function rn(t){return t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510}function sn(t){return t>=4352&&t<=4447||t===8986||t===8987||t===9001||t===9002||t>=9193&&t<=9196||t===9200||t===9203||t===9725||t===9726||t===9748||t===9749||t>=9776&&t<=9783||t>=9800&&t<=9811||t===9855||t>=9866&&t<=9871||t===9875||t===9889||t===9898||t===9899||t===9917||t===9918||t===9924||t===9925||t===9934||t===9940||t===9962||t===9970||t===9971||t===9973||t===9978||t===9981||t===9989||t===9994||t===9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t===11035||t===11036||t===11088||t===11093||t>=11904&&t<=11929||t>=11931&&t<=12019||t>=12032&&t<=12245||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12353&&t<=12438||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12773||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=42124||t>=42128&&t<=42182||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=94176&&t<=94180||t===94192||t===94193||t>=94208&&t<=100343||t>=100352&&t<=101589||t>=101631&&t<=101640||t>=110576&&t<=110579||t>=110581&&t<=110587||t===110589||t===110590||t>=110592&&t<=110882||t===110898||t>=110928&&t<=110930||t===110933||t>=110948&&t<=110951||t>=110960&&t<=111355||t>=119552&&t<=119638||t>=119648&&t<=119670||t===126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t===127568||t===127569||t>=127584&&t<=127589||t>=127744&&t<=127776||t>=127789&&t<=127797||t>=127799&&t<=127868||t>=127870&&t<=127891||t>=127904&&t<=127946||t>=127951&&t<=127955||t>=127968&&t<=127984||t===127988||t>=127992&&t<=128062||t===128064||t>=128066&&t<=128252||t>=128255&&t<=128317||t>=128331&&t<=128334||t>=128336&&t<=128359||t===128378||t===128405||t===128406||t===128420||t>=128507&&t<=128591||t>=128640&&t<=128709||t===128716||t>=128720&&t<=128722||t>=128725&&t<=128727||t>=128732&&t<=128735||t===128747||t===128748||t>=128756&&t<=128764||t>=128992&&t<=129003||t===129008||t>=129292&&t<=129338||t>=129340&&t<=129349||t>=129351&&t<=129535||t>=129648&&t<=129660||t>=129664&&t<=129673||t>=129679&&t<=129734||t>=129742&&t<=129756||t>=129759&&t<=129769||t>=129776&&t<=129784||t>=131072&&t<=196605||t>=196608&&t<=262141}function ur(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}function un(t,{ambiguousAsWide:e=!1}={}){return ur(t),rn(t)||sn(t)||e&&nn(t)?2:1}var on=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;var or=new Intl.Segmenter,ar=/^\p{Default_Ignorable_Code_Point}$/u;function Ye(t,e={}){if(typeof t!="string"||t.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=e;if(i||(t=X(t)),t.length===0)return 0;let r=0,s={ambiguousAsWide:!n};for(let{segment:u}of or.segment(t)){let o=u.codePointAt(0);if(!(o<=31||o>=127&&o<=159)&&!(o>=8203&&o<=8207||o===65279)&&!(o>=768&&o<=879||o>=6832&&o<=6911||o>=7616&&o<=7679||o>=8400&&o<=8447||o>=65056&&o<=65071)&&!(o>=55296&&o<=57343)&&!(o>=65024&&o<=65039)&&!ar.test(u)){if(on().test(u)){r+=2;continue}r+=un(o,s)}}return r}function Je({stream:t=process.stdout}={}){return!!(t&&t.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var ze=p(require("process"),1);function Ke(){let{env:t}=ze.default,{TERM:e,TERM_PROGRAM:n}=t;return ze.default.platform!=="win32"?e!=="linux":!!t.WT_SESSION||!!t.TERMINUS_SUBLIME||t.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||e==="xterm-256color"||e==="alacritty"||e==="rxvt-unicode"||e==="rxvt-unicode-256color"||t.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var w=p(require("process"),1),Dr=3,Xe=class{#u=0;start(){this.#u++,this.#u===1&&this.#n()}stop(){if(this.#u<=0)throw new Error("`stop` called more times than `start`");this.#u--,this.#u===0&&this.#e()}#n(){w.default.platform==="win32"||!w.default.stdin.isTTY||(w.default.stdin.setRawMode(!0),w.default.stdin.on("data",this.#r),w.default.stdin.resume())}#e(){w.default.stdin.isTTY&&(w.default.stdin.off("data",this.#r),w.default.stdin.pause(),w.default.stdin.setRawMode(!1))}#r(e){e[0]===Dr&&w.default.emit("SIGINT")}},lr=new Xe,Ze=lr;var cr=p(qe(),1),Qe=class{#u=0;#n=!1;#e=0;#r=-1;#h=0;#t;#s;#i;#f;#p;#D;#l;#c;#d;#o;#a;color;constructor(e){typeof e=="string"&&(e={text:e}),this.#t={color:"cyan",stream:Z.default.stderr,discardStdin:!0,hideCursor:!0,...e},this.color=this.#t.color,this.spinner=this.#t.spinner,this.#p=this.#t.interval,this.#i=this.#t.stream,this.#D=typeof this.#t.isEnabled=="boolean"?this.#t.isEnabled:Je({stream:this.#i}),this.#l=typeof this.#t.isSilent=="boolean"?this.#t.isSilent:!1,this.text=this.#t.text,this.prefixText=this.#t.prefixText,this.suffixText=this.#t.suffixText,this.indent=this.#t.indent,Z.default.env.NODE_ENV==="test"&&(this._stream=this.#i,this._isEnabled=this.#D,Object.defineProperty(this,"_linesToClear",{get(){return this.#u},set(n){this.#u=n}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#r}}),Object.defineProperty(this,"_lineCount",{get(){return this.#e}}))}get indent(){return this.#c}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw new Error("The `indent` option must be an integer from 0 and up");this.#c=e,this.#m()}get interval(){return this.#p??this.#s.interval??100}get spinner(){return this.#s}set spinner(e){if(this.#r=-1,this.#p=void 0,typeof e=="object"){if(e.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#s=e}else if(!Ke())this.#s=Q.default.line;else if(e===void 0)this.#s=Q.default.dots;else if(e!=="default"&&Q.default[e])this.#s=Q.default[e];else throw new Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#d}set text(e=""){this.#d=e,this.#m()}get prefixText(){return this.#o}set prefixText(e=""){this.#o=e,this.#m()}get suffixText(){return this.#a}set suffixText(e=""){this.#a=e,this.#m()}get isSpinning(){return this.#f!==void 0}#F(e=this.#o,n=" "){return typeof e=="string"&&e!==""?e+n:typeof e=="function"?e()+n:""}#g(e=this.#a,n=" "){return typeof e=="string"&&e!==""?n+e:typeof e=="function"?n+e():""}#m(){let e=this.#i.columns??80,n=this.#F(this.#o,"-"),i=this.#g(this.#a,"-"),r=" ".repeat(this.#c)+n+"--"+this.#d+"--"+i;this.#e=0;for(let s of X(r).split(`
33
33
  `))this.#e+=Math.max(1,Math.ceil(Ye(s,{countAnsiEscapeCodes:!0})/e))}get isEnabled(){return this.#D&&!this.#l}set isEnabled(e){if(typeof e!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#D=e}get isSilent(){return this.#l}set isSilent(e){if(typeof e!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#l=e}frame(){let e=Date.now();(this.#r===-1||e-this.#h>=this.interval)&&(this.#r=++this.#r%this.#s.frames.length,this.#h=e);let{frames:n}=this.#s,i=n[this.#r];this.color&&(i=O[this.color](i));let r=typeof this.#o=="string"&&this.#o!==""?this.#o+" ":"",s=typeof this.text=="string"?" "+this.text:"",u=typeof this.#a=="string"&&this.#a!==""?" "+this.#a:"";return r+i+s+u}clear(){if(!this.#D||!this.#i.isTTY)return this;this.#i.cursorTo(0);for(let e=0;e<this.#u;e++)e>0&&this.#i.moveCursor(0,-1),this.#i.clearLine(1);return(this.#c||this.lastIndent!==this.#c)&&this.#i.cursorTo(this.#c),this.lastIndent=this.#c,this.#u=0,this}render(){return this.#l?this:(this.clear(),this.#i.write(this.frame()),this.#u=this.#e,this)}start(e){return e&&(this.text=e),this.#l?this:this.#D?this.isSpinning?this:(this.#t.hideCursor&&Le.hide(this.#i),this.#t.discardStdin&&Z.default.stdin.isTTY&&(this.#n=!0,Ze.start()),this.render(),this.#f=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#i.write(`- ${this.text}
34
34
  `),this)}stop(){return this.#D?(clearInterval(this.#f),this.#f=void 0,this.#r=0,this.clear(),this.#t.hideCursor&&Le.show(this.#i),this.#t.discardStdin&&Z.default.stdin.isTTY&&this.#n&&(Ze.stop(),this.#n=!1),this):this}succeed(e){return this.stopAndPersist({symbol:K.success,text:e})}fail(e){return this.stopAndPersist({symbol:K.error,text:e})}warn(e){return this.stopAndPersist({symbol:K.warning,text:e})}info(e){return this.stopAndPersist({symbol:K.info,text:e})}stopAndPersist(e={}){if(this.#l)return this;let n=e.prefixText??this.#o,i=this.#F(n," "),r=e.symbol??" ",s=e.text??this.text,o=typeof s=="string"?(r?" ":"")+s:"",a=e.suffixText??this.#a,D=this.#g(a," "),l=i+r+o+D+`
35
- `;return this.stop(),this.#i.write(l),this}};function et(t){return new Qe(t)}var _=p(require("picocolors"),1);var N=require("fs/promises"),M=require("path"),an=async({appName:t,root:e,packageManager:n,docker:i,eslint:r})=>{let s=JSON.parse(await(0,N.readFile)((0,M.join)(__dirname,"..","package.json"),"utf-8")),u={name:t,version:"1.0.0",private:!0,scripts:{"config:init":"turbo config:init",dev:"turbo dev",build:"turbo build",start:"turbo start",db:"turbo db",...r?{lint:"turbo lint","lint:fix":"turbo lint:fix"}:{},...i?{"docker:dev":`docker compose -f ./docker-compose-dev.yml -p ${t}-dev up -d`,"docker:prod":`docker compose -f ./docker-compose.yml -p ${t} up -d`}:{}},devDependencies:{...r?{"eslint-config-typescript-vitnode":`^${s.version}`}:{},turbo:"^2.3.3"},packageManager:n,workspaces:["apps/*"]};await(0,N.writeFile)((0,M.join)(e,"package.json"),JSON.stringify(u,null,2));let o={name:"frontend",version:"1.0.0",private:!0,scripts:{postinstall:"vitnode-frontend init",dev:"next dev --turbo",build:"next build",start:"next start","start:prod":"node server.js",lint:"eslint .","lint:fix":"eslint . --fix"},dependencies:{"@hookform/resolvers":"^3.9.1",geist:"^1.3.1","lucide-react":"^0.469.0",next:"^15.1.2","next-intl":"4.0.0-beta-ddd5ae5",react:"^19.0.0","react-dom":"^19.0.0","react-hook-form":"^7.54.2",recharts:"^2.15.0",sonner:"^1.7.1","vitnode-frontend":`^${s.version}`,zod:"^3.24.1"},devDependencies:{"@types/node":"^22.10.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2",autoprefixer:"^10.4.20","eslint-config-typescript-vitnode":`^${s.version}`,postcss:"^8.4.49",shared:n.startsWith("npm")?"*":"workspace:*",tailwindcss:"^3.4.17",typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","frontend","package.json"),JSON.stringify(o,null,2));let a={name:"backend",version:"1.0.0",private:!0,scripts:{"drizzle-kit":"drizzle-kit","config:init":"vitnode-backend init",dev:"vitnode-backend init && cross-env NODE_ENV=development nest start -w",build:"nest build",start:"node dist/main",lint:"eslint .","lint:fix":"eslint . --fix",db:"vitnode-backend db"},dependencies:{"@nestjs/cache-manager":"^3.0.0-next.0","@nestjs/common":"^10.4.15","@nestjs/core":"^10.4.15","@nestjs/platform-express":"^10.4.15","@nestjs/schedule":"^4.1.2","@nestjs/swagger":"^8.1.0","@react-email/components":"^0.0.31","class-transformer":"^0.5.1","class-validator":"^0.14.1","drizzle-kit":"^0.30.1","drizzle-orm":"^0.38.3",react:"^19.0.0","react-dom":"^19.0.0","reflect-metadata":"^0.2.2","vitnode-backend":`^${s.version}`},devDependencies:{"@nestjs/cli":"^10.4.9","@nestjs/schematics":"^10.2.3","@swc/cli":"^0.5.2","@types/express":"^5.0.0","@types/node":"^22.10.2","@types/react":"^19.0.2","cross-env":"^7.0.3","eslint-config-typescript-vitnode":`^${s.version}`,shared:n.startsWith("npm")?"*":"workspace:*",typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","backend","package.json"),JSON.stringify(a,null,2));let D={name:"shared",version:"1.0.0",private:!0,scripts:{build:"tsc",dev:"tsc -w",lint:"eslint .","lint:fix":"eslint . --fix"},exports:{"./*":{require:"./dist/*.js",import:"./dist/*.js",types:"./dist/*.d.ts"}},dependencies:{"@nestjs/common":"^10.4.15","@nestjs/swagger":"^8.1.0"},devDependencies:{"@types/multer":"^1.4.12","@types/node":"^22.10.2","class-transformer":"^0.5.1","class-validator":"^0.14.1","eslint-config-typescript-vitnode":`^${s.version}`,typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","shared","package.json"),JSON.stringify(D,null,2))};var ei=p(Kn(),1),ti=p(require("picocolors"),1);var Xn=require("child_process"),lt=require("dns/promises"),Zn=require("url");async function Qn(){try{return await(0,lt.lookup)("registry.yarnpkg.com"),!0}catch{let t=jr();if(!t)return!1;let{hostname:e}=new Zn.URL(t);if(!e)return!1;try{return await(0,lt.lookup)(e),!0}catch{return!1}}}function jr(){if(process.env.https_proxy)return process.env.https_proxy;try{let t=(0,Xn.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:void 0}catch{return}}var ni=async({packageManager:t})=>{let e=t.split("@")[0],n=await Qn(),i=e==="npm"?["install","--force"]:["install"];return n||(console.log(ti.default.yellow(`You appear to be offline.
36
- Falling back to the local cache.`)),i.push("--offline")),new Promise((r,s)=>{(0,ei.default)(e,i,{stdio:"ignore",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}}).on("close",o=>{if(o!==0){s({command:`${e} ${i.join(" ")}`});return}r()})})};var C=require("fs/promises"),si=async({root:t,appName:e,packageManager:n,eslint:i,docker:r,install:s})=>{let u=n.startsWith("npm"),o=n.split("@")[0],a=(0,A.join)(__dirname,"..","templates"),D=et(`Creating a new VitNode app in ${_.default.green(t)}. Using ${_.default.green(n)}...`).start();if(await(0,C.mkdir)(t,{recursive:!0}),re(t,e)||process.exit(1),process.chdir(t),D.text="Copying files...",await(0,C.cp)((0,A.join)(a,"basic"),t,{recursive:!0}),D.text="Creating package.json...",an({appName:e,root:t,packageManager:n,docker:r,eslint:i}),D.text="Renaming files...",await(0,C.rename)((0,A.join)(t,".gitignore_template"),(0,A.join)(t,".gitignore")),D.text="Changing tailwind.config.ts...",n.startsWith("npm")){let h=(0,A.join)(t,"apps","frontend","tailwind.config.ts"),E=(await(0,C.readFile)(h,"utf-8")).replace("./node_modules/vitnode-frontend/src/components/**/*.tsx","../../node_modules/vitnode-frontend/src/components/**/*.tsx").replace("./node_modules/vitnode-frontend/src/views/**/*.tsx","../../node_modules/vitnode-frontend/src/views/**/*.tsx");await(0,C.writeFile)(h,E)}if(r){D.text="Setup docker-compose-dev.yml...";let h=(0,A.join)(t,"docker-compose-dev.yml"),E=(await(0,C.readFile)(h,"utf-8")).replace("vitnode_postgres_dev",`${e}_postgres_dev`).replace("vitnode_pgadmin_dev",`${e}_pgadmin_dev`);await(0,C.writeFile)(h,E)}n.startsWith("pnpm")&&(D.text="Copying pnpm template...",await(0,C.cp)((0,A.join)(a,"pnpm"),t,{recursive:!0})),i&&(D.text="Copying eslint template...",await(0,C.cp)((0,A.join)(a,"eslint"),t,{recursive:!0})),r&&(D.text="Copying docker template...",await(0,C.cp)((0,A.join)(a,"docker"),t,{recursive:!0})),D.text="Changing .env file...",await(0,C.copyFile)((0,A.join)(t,".env.template"),(0,A.join)(t,".env"));let l=(0,A.join)(t,".env"),c=(await(0,C.readFile)(l,"utf-8")).replace("LOGIN_TOKEN_SECRET=vitnode_secret",`LOGIN_TOKEN_SECRET=${(0,ii.randomBytes)(32).toString("hex")}`);await(0,C.writeFile)(l,c),s&&(D.text="Installing dependencies...",await ni({packageManager:n})),console.log(`
35
+ `;return this.stop(),this.#i.write(l),this}};function et(t){return new Qe(t)}var _=p(require("picocolors"),1);var N=require("fs/promises"),M=require("path"),an=async({appName:t,root:e,packageManager:n,docker:i,eslint:r})=>{let s=JSON.parse(await(0,N.readFile)((0,M.join)(__dirname,"..","package.json"),"utf-8")),u={name:t,version:"1.0.0",private:!0,scripts:{"config:init":"turbo config:init",dev:"turbo dev",build:"turbo build",start:"turbo start",db:"turbo db",...r?{lint:"turbo lint","lint:fix":"turbo lint:fix"}:{},...i?{"docker:dev":`docker compose -f ./docker-compose-dev.yml -p ${t}-dev up -d`,"docker:prod":`docker compose -f ./docker-compose.yml -p ${t} up -d`}:{}},devDependencies:{...r?{"eslint-config-typescript-vitnode":`^${s.version}`}:{},turbo:"^2.3.3"},packageManager:n,workspaces:["apps/*"]};await(0,N.writeFile)((0,M.join)(e,"package.json"),JSON.stringify(u,null,2));let o={name:"frontend",version:"1.0.0",private:!0,scripts:{postinstall:"vitnode-frontend init",dev:"next dev --turbo",build:"next build",start:"next start","start:prod":"node server.js",lint:"eslint .","lint:fix":"eslint . --fix"},dependencies:{"@hookform/resolvers":"^3.9.1",geist:"^1.3.1","lucide-react":"^0.469.0",next:"^15.1.3","next-intl":"4.0.0-beta-ddd5ae5",react:"^19.0.0","react-dom":"^19.0.0","react-hook-form":"^7.54.2",recharts:"^2.15.0",sonner:"^1.7.1","vitnode-frontend":`^${s.version}`,zod:"^3.24.1"},devDependencies:{"@types/node":"^22.10.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2",autoprefixer:"^10.4.20","eslint-config-typescript-vitnode":`^${s.version}`,postcss:"^8.4.49",shared:n.startsWith("npm")?"*":"workspace:*",tailwindcss:"^3.4.17",typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","frontend","package.json"),JSON.stringify(o,null,2));let a={name:"backend",version:"1.0.0",private:!0,scripts:{"drizzle-kit":"drizzle-kit","config:init":"vitnode-backend init",dev:"vitnode-backend init && cross-env NODE_ENV=development nest start -w",build:"nest build",start:"node dist/main",lint:"eslint .","lint:fix":"eslint . --fix",db:"vitnode-backend db"},dependencies:{"@nestjs/cache-manager":"^3.0.0-next.0","@nestjs/common":"^10.4.15","@nestjs/core":"^10.4.15","@nestjs/platform-express":"^10.4.15","@nestjs/schedule":"^4.1.2","@nestjs/swagger":"^8.1.0","@react-email/components":"^0.0.31","class-transformer":"^0.5.1","class-validator":"^0.14.1","drizzle-kit":"^0.30.1","drizzle-orm":"^0.38.3",react:"^19.0.0","react-dom":"^19.0.0","reflect-metadata":"^0.2.2","vitnode-backend":`^${s.version}`},devDependencies:{"@nestjs/cli":"^10.4.9","@nestjs/schematics":"^10.2.3","@swc/cli":"^0.5.2","@types/express":"^5.0.0","@types/node":"^22.10.2","@types/react":"^19.0.2","cross-env":"^7.0.3","eslint-config-typescript-vitnode":`^${s.version}`,shared:n.startsWith("npm")?"*":"workspace:*",typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","backend","package.json"),JSON.stringify(a,null,2));let D={name:"shared",version:"1.0.0",private:!0,scripts:{build:"tsc",dev:"tsc -w",lint:"eslint .","lint:fix":"eslint . --fix"},exports:{"./*":{require:"./dist/*.js",import:"./dist/*.js",types:"./dist/*.d.ts"}},dependencies:{"@nestjs/common":"^10.4.15","@nestjs/swagger":"^8.1.0"},devDependencies:{"@types/multer":"^1.4.12","@types/node":"^22.10.2","class-transformer":"^0.5.1","class-validator":"^0.14.1","eslint-config-typescript-vitnode":`^${s.version}`,typescript:"^5.7.2","vitnode-shared":`^${s.version}`}};await(0,N.writeFile)((0,M.join)(e,"apps","shared","package.json"),JSON.stringify(D,null,2))};var ei=p(Kn(),1),ti=p(require("picocolors"),1);var Xn=require("child_process"),lt=require("dns/promises"),Zn=require("url");async function Qn(){try{return await(0,lt.lookup)("registry.yarnpkg.com"),!0}catch{let t=jr();if(!t)return!1;let{hostname:e}=new Zn.URL(t);if(!e)return!1;try{return await(0,lt.lookup)(e),!0}catch{return!1}}}function jr(){if(process.env.https_proxy)return process.env.https_proxy;try{let t=(0,Xn.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:void 0}catch{return}}var ni=async({packageManager:t})=>{let e=t.split("@")[0],n=await Qn(),i=e==="npm"?["install","--force"]:["install"];return n||(console.log(ti.default.yellow(`You appear to be offline.
36
+ Falling back to the local cache.`)),i.push("--offline")),new Promise((r,s)=>{(0,ei.default)(e,i,{stdio:"ignore",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}}).on("close",o=>{if(o!==0){s({command:`${e} ${i.join(" ")}`});return}r()})})};var C=require("fs/promises"),si=async({root:t,appName:e,packageManager:n,eslint:i,docker:r,install:s})=>{let u=n.startsWith("npm"),o=n.split("@")[0],a=(0,A.join)(__dirname,"..","templates"),D=et(`Creating a new VitNode app in ${_.default.green(t)}. Using ${_.default.green(n)}...`).start();if(await(0,C.mkdir)(t,{recursive:!0}),re(t,e)||process.exit(1),process.chdir(t),D.text="Copying files...",await(0,C.cp)((0,A.join)(a,"basic"),t,{recursive:!0}),D.text="Creating package.json...",an({appName:e,root:t,packageManager:n,docker:r,eslint:i}),D.text="Renaming files...",await(0,C.rename)((0,A.join)(t,".gitignore_template"),(0,A.join)(t,".gitignore")),D.text="Changing tailwind.config.ts...",n.startsWith("npm")){let h=(0,A.join)(t,"apps","frontend","tailwind.config.ts"),E=(await(0,C.readFile)(h,"utf-8")).replace("./node_modules/vitnode-frontend/src/components/**/*.tsx","../../node_modules/vitnode-frontend/src/components/**/*.tsx").replace("./node_modules/vitnode-frontend/src/views/**/*.tsx","../../node_modules/vitnode-frontend/src/views/**/*.tsx");await(0,C.writeFile)(h,E)}if(n.startsWith("pnpm")&&(D.text="Copying pnpm template...",await(0,C.cp)((0,A.join)(a,"pnpm"),t,{recursive:!0})),i&&(D.text="Copying eslint template...",await(0,C.cp)((0,A.join)(a,"eslint"),t,{recursive:!0})),r){D.text="Copying docker template...",await(0,C.cp)((0,A.join)(a,"docker"),t,{recursive:!0}),D.text="Setup docker-compose-dev.yml...";let h=(0,A.join)(t,"docker-compose-dev.yml"),E=(await(0,C.readFile)(h,"utf-8")).replace("vitnode_postgres_dev",`${e}_postgres_dev`).replace("vitnode_pgadmin_dev",`${e}_pgadmin_dev`);await(0,C.writeFile)(h,E)}D.text="Changing .env file...",await(0,C.copyFile)((0,A.join)(t,".env.template"),(0,A.join)(t,".env"));let l=(0,A.join)(t,".env"),c=(await(0,C.readFile)(l,"utf-8")).replace("LOGIN_TOKEN_SECRET=vitnode_secret",`LOGIN_TOKEN_SECRET=${(0,ii.randomBytes)(32).toString("hex")}`);await(0,C.writeFile)(l,c),s&&(D.text="Installing dependencies...",await ni({packageManager:n})),console.log(`
37
37
  `+_.default.blue(ri.default.textSync("VitNode",{horizontalLayout:"full"})),+`
38
38
  `),D.succeed(` ${_.default.green("Success!")} Created ${_.default.cyan(e)} at ${_.default.cyan(t)}`),console.log(`Inside that directory, you can run several commands:
39
39
  `),console.log(_.default.cyan(` ${o} ${u?"run ":""}dev`)),console.log(` Starts the development servers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vitnode-app",
3
- "version": "0.1.0-rc.0",
3
+ "version": "0.1.0-rc.1",
4
4
  "description": "Create a new VitNode app in seconds.",
5
5
  "author": "VitNode Team",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
42
42
  "ora": "^8.1.1",
43
43
  "tsup": "^8.3.5",
44
44
  "typescript": "^5.7.2",
45
- "eslint-config-typescript-vitnode": "0.1.0-rc.0"
45
+ "eslint-config-typescript-vitnode": "0.1.0-rc.1"
46
46
  },
47
47
  "scripts": {
48
48
  "lint": "eslint .",
@@ -33,5 +33,6 @@ USER nextjs
33
33
 
34
34
  COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/standalone ./
35
35
  COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/static ./apps/frontend/.next/static
36
+ COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/public ./apps/frontend/public
36
37
 
37
38
  CMD node apps/frontend/server.js