diff --git a/node_modules/create-vite/dist/index.mjs b/node_modules/create-vite/dist/index.mjs
index a75ef1d..f3f2c7f 100644
--- a/node_modules/create-vite/dist/index.mjs
+++ b/node_modules/create-vite/dist/index.mjs
@@ -45,8 +45,9 @@ Instructions:
 Filtered results for: ${this.inputValue?this.inputValue:N.gray("Enter something to filter")}
 `}renderOption(t,s,i){let n;return s.disabled?n=t===i?N.gray().underline(s.title):N.strikethrough().gray(s.title):n=t===i?N.cyan().underline(s.title):s.title,(s.selected?N.green(Z.radioOn):Z.radioOff)+"  "+n}renderDoneOrInstructions(){if(this.done)return this.value.filter(s=>s.selected).map(s=>s.title).join(", ");const t=[N.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(N.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(Or.hide),super.render();let t=[Oe.symbol(this.done,this.aborted),N.bold(this.msg),Oe.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=N.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=Te(t,this.out.columns)}}var Mr=Pr;const Ce=D,Dr=L,{style:Pe,clear:Ir}=_,{erase:_r,cursor:Me}=I;class Rr extends Dr{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
 `),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
-`),this.close()}_(t,s){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Me.hide):this.out.write(Ir(this.outputText,this.out.columns)),super.render(),this.outputText=[Pe.symbol(this.done,this.aborted),Ce.bold(this.msg),Pe.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Ce.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(_r.line+Me.to(0)+this.outputText))}}var Ar=Rr,jr={TextPrompt:oi,SelectPrompt:di,TogglePrompt:vi,DatePrompt:nr,NumberPrompt:dr,MultiselectPrompt:$e,AutocompletePrompt:Tr,AutocompleteMultiselectPrompt:Mr,ConfirmPrompt:Ar};(function(e){const t=e,s=jr,i=r=>r;function n(r,l,d={}){return new Promise((a,b)=>{const p=new s[r](l),h=d.onAbort||i,c=d.onSubmit||i,g=d.onExit||i;p.on("state",l.onState||i),p.on("submit",x=>a(c(x))),p.on("exit",x=>a(g(x))),p.on("abort",x=>b(h(x)))})}t.text=r=>n("TextPrompt",r),t.password=r=>(r.style="password",t.text(r)),t.invisible=r=>(r.style="invisible",t.text(r)),t.number=r=>n("NumberPrompt",r),t.date=r=>n("DatePrompt",r),t.confirm=r=>n("ConfirmPrompt",r),t.list=r=>{const l=r.separator||",";return n("TextPrompt",r,{onSubmit:d=>d.split(l).map(a=>a.trim())})},t.toggle=r=>n("TogglePrompt",r),t.select=r=>n("SelectPrompt",r),t.multiselect=r=>{r.choices=[].concat(r.choices||[]);const l=d=>d.filter(a=>a.selected).map(a=>a.value);return n("MultiselectPrompt",r,{onAbort:l,onSubmit:l})},t.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);const l=d=>d.filter(a=>a.selected).map(a=>a.value);return n("AutocompleteMultiselectPrompt",r,{onAbort:l,onSubmit:l})};const o=(r,l)=>Promise.resolve(l.filter(d=>d.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));t.autocomplete=r=>(r.suggest=r.suggest||o,r.choices=[].concat(r.choices||[]),n("AutocompletePrompt",r))})(ie);const At=ie,Nr=["suggest","format","onState","validate","onRender","type"],De=()=>{};async function k(e=[],{onSubmit:t=De,onCancel:s=De}={}){const i={},n=k._override||{};e=[].concat(e);let o,r,l,d,a,b;const p=async(h,c,g=!1)=>{if(!(!g&&h.validate&&h.validate(c)!==!0))return h.format?await h.format(c,i):c};for(r of e)if({name:d,type:a}=r,typeof a=="function"&&(a=await a(o,{...i},r),r.type=a),!!a){for(let h in r){if(Nr.includes(h))continue;let c=r[h];r[h]=typeof c=="function"?await c(o,{...i},b):c}if(b=r,typeof r.message!="string")throw new Error("prompt message is required");if({name:d,type:a}=r,At[a]===void 0)throw new Error(`prompt type (${a}) is not defined`);if(n[r.name]!==void 0&&(o=await p(r,n[r.name]),o!==void 0)){i[d]=o;continue}try{o=k._injected?Fr(k._injected,r.initial):await At[a](r),i[d]=o=await p(r,o,!0),l=await t(r,o,i)}catch{l=!await s(r,i)}if(l)return i}return i}function Fr(e,t){const s=e.shift();if(s instanceof Error)throw s;return s===void 0?t:s}function Lr(e){k._injected=(k._injected||[]).concat(e)}function Yr(e){k._override=Object.assign({},e)}var kr=Object.assign(k,{prompt:k,prompts:At,inject:Lr,override:Yr});let J=!0;const X=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let Ie=0;if(X.process&&X.process.env&&X.process.stdout){const{FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:s,TERM:i}=X.process.env;t||s||e==="0"?J=!1:e==="1"||e==="2"||e==="3"?J=!0:i==="dumb"?J=!1:"CI"in X.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(n=>n in X.process.env)?J=!0:J=process.stdout.isTTY,J&&(Ie=i&&i.endsWith("-256color")?2:1)}let _e={enabled:J,supportLevel:Ie};function F(e,t,s=1){const i=`\x1B[${e}m`,n=`\x1B[${t}m`,o=new RegExp(`\\x1b\\[${t}m`,"g");return r=>_e.enabled&&_e.supportLevel>=s?i+(""+r).replace(o,i)+n:""+r}const H=F(0,0),ct=F(31,39),Re=F(32,39),V=F(33,39),z=F(34,39),Hr=F(35,39),Vr=F(36,39),Br=F(91,39),Gr=F(92,39),jt=Ts(process.argv.slice(2),{string:["_"]}),Nt=process.cwd(),Ft=[{name:"vanilla",display:"Vanilla",color:V,variants:[{name:"vanilla-ts",display:"TypeScript",color:z},{name:"vanilla",display:"JavaScript",color:V}]},{name:"vue",display:"Vue",color:Re,variants:[{name:"vue-ts",display:"TypeScript",color:z},{name:"vue",display:"JavaScript",color:V},{name:"custom-create-vue",display:"Customize with create-vue \u2197",color:Re,customCommand:"npm create vue@latest TARGET_DIR"},{name:"custom-nuxt",display:"Nuxt \u2197",color:Gr,customCommand:"npm exec nuxi init TARGET_DIR"}]},{name:"react",display:"React",color:Vr,variants:[{name:"react-ts",display:"TypeScript",color:z},{name:"react-swc-ts",display:"TypeScript + SWC",color:z},{name:"react",display:"JavaScript",color:V},{name:"react-swc",display:"JavaScript + SWC",color:V}]},{name:"preact",display:"Preact",color:Hr,variants:[{name:"preact-ts",display:"TypeScript",color:z},{name:"preact",display:"JavaScript",color:V}]},{name:"lit",display:"Lit",color:Br,variants:[{name:"lit-ts",display:"TypeScript",color:z},{name:"lit",display:"JavaScript",color:V}]},{name:"svelte",display:"Svelte",color:ct,variants:[{name:"svelte-ts",display:"TypeScript",color:z},{name:"svelte",display:"JavaScript",color:V},{name:"custom-svelte-kit",display:"SvelteKit \u2197",color:ct,customCommand:"npm create svelte@latest TARGET_DIR"}]},{name:"others",display:"Others",color:H,variants:[{name:"create-vite-extra",display:"create-vite-extra \u2197",color:H,customCommand:"npm create vite-extra@latest TARGET_DIR"},{name:"create-electron-vite",display:"create-electron-vite \u2197",color:H,customCommand:"npm create electron-vite@latest TARGET_DIR"}]}],Ae=Ft.map(e=>e.variants&&e.variants.map(t=>t.name)||[e.name]).reduce((e,t)=>e.concat(t),[]),Wr={_gitignore:".gitignore"},Lt="vite-project";async function Jr(){const e=je(jt._[0]),t=jt.template||jt.t;let s=e||Lt;const i=()=>s==="."?O.basename(O.resolve()):s;let n;try{n=await kr([{type:e?null:"text",name:"projectName",message:H("Project name:"),initial:Lt,onState:u=>{s=je(u.value)||Lt}},{type:()=>!E.existsSync(s)||Kr(s)?null:"confirm",name:"overwrite",message:()=>(s==="."?"Current directory":`Target directory "${s}"`)+" is not empty. Remove existing files and continue?"},{type:(u,{overwrite:y})=>{if(y===!1)throw new Error(ct("\u2716")+" Operation cancelled");return null},name:"overwriteChecker"},{type:()=>Fe(i())?null:"text",name:"packageName",message:H("Package name:"),initial:()=>zr(i()),validate:u=>Fe(u)||"Invalid package.json name"},{type:t&&Ae.includes(t)?null:"select",name:"framework",message:typeof t=="string"&&!Ae.includes(t)?H(`"${t}" isn't a valid template. Please choose from below: `):H("Select a framework:"),initial:0,choices:Ft.map(u=>{const y=u.color;return{title:y(u.display||u.name),value:u}})},{type:u=>u&&u.variants?"select":null,name:"variant",message:H("Select a variant:"),choices:u=>u.variants.map(y=>{const m=y.color;return{title:m(y.display||y.name),value:y.name}})}],{onCancel:()=>{throw new Error(ct("\u2716")+" Operation cancelled")}})}catch(u){console.log(u.message);return}const{framework:o,overwrite:r,packageName:l,variant:d}=n,a=O.join(Nt,s);r?qr(a):E.existsSync(a)||E.mkdirSync(a,{recursive:!0});let b=d||o?.name||t,p=!1;b.includes("-swc")&&(p=!0,b=b.replace("-swc",""));const h=Zr(process.env.npm_config_user_agent),c=h?h.name:"npm",g=c==="yarn"&&h?.version.startsWith("1."),{customCommand:x}=Ft.flatMap(u=>u.variants).find(u=>u.name===b)??{};if(x){const u=x.replace(/^npm create/,`${c} create`).replace("@latest",()=>g?"":"@latest").replace(/^npm exec/,()=>c==="pnpm"?"pnpm dlx":c==="yarn"&&!g?"yarn dlx":"npm exec"),[y,...m]=u.split(" "),B=m.map(M=>M.replace("TARGET_DIR",s)),{status:C}=G.sync(y,B,{stdio:"inherit"});process.exit(C??0)}console.log(`
+`),this.close()}_(t,s){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Me.hide):this.out.write(Ir(this.outputText,this.out.columns)),super.render(),this.outputText=[Pe.symbol(this.done,this.aborted),Ce.bold(this.msg),Pe.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Ce.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(_r.line+Me.to(0)+this.outputText))}}var Ar=Rr,jr={TextPrompt:oi,SelectPrompt:di,TogglePrompt:vi,DatePrompt:nr,NumberPrompt:dr,MultiselectPrompt:$e,AutocompletePrompt:Tr,AutocompleteMultiselectPrompt:Mr,ConfirmPrompt:Ar};(function(e){const t=e,s=jr,i=r=>r;function n(r,l,d={}){return new Promise((a,b)=>{const p=new s[r](l),h=d.onAbort||i,c=d.onSubmit||i,g=d.onExit||i;p.on("state",l.onState||i),p.on("submit",x=>a(c(x))),p.on("exit",x=>a(g(x))),p.on("abort",x=>b(h(x)))})}t.text=r=>n("TextPrompt",r),t.password=r=>(r.style="password",t.text(r)),t.invisible=r=>(r.style="invisible",t.text(r)),t.number=r=>n("NumberPrompt",r),t.date=r=>n("DatePrompt",r),t.confirm=r=>n("ConfirmPrompt",r),t.list=r=>{const l=r.separator||",";return n("TextPrompt",r,{onSubmit:d=>d.split(l).map(a=>a.trim())})},t.toggle=r=>n("TogglePrompt",r),t.select=r=>n("SelectPrompt",r),t.multiselect=r=>{r.choices=[].concat(r.choices||[]);const l=d=>d.filter(a=>a.selected).map(a=>a.value);return n("MultiselectPrompt",r,{onAbort:l,onSubmit:l})},t.autocompleteMultiselect=r=>{r.choices=[].concat(r.choices||[]);const l=d=>d.filter(a=>a.selected).map(a=>a.value);return n("AutocompleteMultiselectPrompt",r,{onAbort:l,onSubmit:l})};const o=(r,l)=>Promise.resolve(l.filter(d=>d.title.slice(0,r.length).toLowerCase()===r.toLowerCase()));t.autocomplete=r=>(r.suggest=r.suggest||o,r.choices=[].concat(r.choices||[]),n("AutocompletePrompt",r))})(ie);const At=ie,Nr=["suggest","format","onState","validate","onRender","type"],De=()=>{};async function k(e=[],{onSubmit:t=De,onCancel:s=De}={}){const i={},n=k._override||{};e=[].concat(e);let o,r,l,d,a,b;const p=async(h,c,g=!1)=>{if(!(!g&&h.validate&&h.validate(c)!==!0))return h.format?await h.format(c,i):c};for(r of e)if({name:d,type:a}=r,typeof a=="function"&&(a=await a(o,{...i},r),r.type=a),!!a){for(let h in r){if(Nr.includes(h))continue;let c=r[h];r[h]=typeof c=="function"?await c(o,{...i},b):c}if(b=r,typeof r.message!="string")throw new Error("prompt message is required");if({name:d,type:a}=r,At[a]===void 0)throw new Error(`prompt type (${a}) is not defined`);if(n[r.name]!==void 0&&(o=await p(r,n[r.name]),o!==void 0)){i[d]=o;continue}try{o=k._injected?Fr(k._injected,r.initial):await At[a](r),i[d]=o=await p(r,o,!0),l=await t(r,o,i)}catch{l=!await s(r,i)}if(l)return i}return i}function Fr(e,t){const s=e.shift();if(s instanceof Error)throw s;return s===void 0?t:s}function Lr(e){k._injected=(k._injected||[]).concat(e)}function Yr(e){k._override=Object.assign({},e)}var kr=Object.assign(k,{prompt:k,prompts:At,inject:Lr,override:Yr});let J=!0;const X=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let Ie=0;if(X.process&&X.process.env&&X.process.stdout){const{FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:s,TERM:i}=X.process.env;t||s||e==="0"?J=!1:e==="1"||e==="2"||e==="3"?J=!0:i==="dumb"?J=!1:"CI"in X.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(n=>n in X.process.env)?J=!0:J=process.stdout.isTTY,J&&(Ie=i&&i.endsWith("-256color")?2:1)}let _e={enabled:J,supportLevel:Ie};function F(e,t,s=1){const i=`\x1B[${e}m`,n=`\x1B[${t}m`,o=new RegExp(`\\x1b\\[${t}m`,"g");return r=>_e.enabled&&_e.supportLevel>=s?i+(""+r).replace(o,i)+n:""+r}const H=F(0,0),ct=F(31,39),Re=F(32,39),V=F(33,39),z=F(34,39),Hr=F(35,39),Vr=F(36,39),Br=F(91,39),Gr=F(92,39),jt=Ts(process.argv.slice(2),{string:["_"]}),Nt=process.cwd(),Ft=[{name:"vanilla",display:"Vanilla",color:V,variants:[{name:"vanilla-ts",display:"TypeScript",color:z},{name:"vanilla",display:"JavaScript",color:V}]},{name:"vue",display:"Vue",color:Re,variants:[{name:"vue-ts",display:"TypeScript",color:z},{name:"vue",display:"JavaScript",color:V},{name:"custom-create-vue",display:"Customize with create-vue \u2197",color:Re,customCommand:"npm create vue@latest TARGET_DIR"},{name:"custom-nuxt",display:"Nuxt \u2197",color:Gr,customCommand:"npm exec nuxi init TARGET_DIR"}]},{name:"react",display:"React",color:Vr,variants:[{name:"react-ts",display:"TypeScript",color:z},{name:"react-swc-ts",display:"TypeScript + SWC",color:z},{name:"react",display:"JavaScript",color:V},{name:"react-swc",display:"JavaScript + SWC",color:V}]},{name:"preact",display:"Preact",color:Hr,variants:[{name:"preact-ts",display:"TypeScript",color:z},{name:"preact",display:"JavaScript",color:V}]},{name:"lit",display:"Lit",color:Br,variants:[{name:"lit-ts",display:"TypeScript",color:z},{name:"lit",display:"JavaScript",color:V}]},{name:"svelte",display:"Svelte",color:ct,variants:[{name:"svelte-ts",display:"TypeScript",color:z},{name:"svelte",display:"JavaScript",color:V},{name:"custom-svelte-kit",display:"SvelteKit \u2197",color:ct,customCommand:"npm create svelte@latest TARGET_DIR"}]},{name:"others",display:"Others",color:H,variants:[{name:"create-vite-extra",display:"create-vite-extra \u2197",color:H,customCommand:"npm create vite-extra@latest TARGET_DIR"},{name:"create-electron-vite",display:"create-electron-vite \u2197",color:H,customCommand:"npm create electron-vite@latest TARGET_DIR"}]}],Ae=Ft.map(e=>e.variants&&e.variants.map(t=>t.name)||[e.name]).reduce((e,t)=>e.concat(t),[]),Wr={_gitignore:".gitignore"},Lt="vite-project";async function Jr(name){const e=je(name||jt._[0]),t=jt.template||jt.t;let s=e||Lt;const i=()=>s==="."?O.basename(O.resolve()):s;let n;try{n=await kr([{type:e?null:"text",name:"projectName",message:H("Project name:"),initial:Lt,onState:u=>{s=je(u.value)||Lt}},{type:()=>!E.existsSync(s)||Kr(s)?null:"confirm",name:"overwrite",message:()=>(s==="."?"Current directory":`Target directory "${s}"`)+" is not empty. Remove existing files and continue?"},{type:(u,{overwrite:y})=>{if(y===!1)throw new Error(ct("\u2716")+" Operation cancelled");return null},name:"overwriteChecker"},{type:()=>Fe(i())?null:"text",name:"packageName",message:H("Package name:"),initial:()=>zr(i()),validate:u=>Fe(u)||"Invalid package.json name"},{type:t&&Ae.includes(t)?null:"select",name:"framework",message:typeof t=="string"&&!Ae.includes(t)?H(`"${t}" isn't a valid template. Please choose from below: `):H("Select a framework:"),initial:0,choices:Ft.map(u=>{const y=u.color;return{title:y(u.display||u.name),value:u}})},{type:u=>u&&u.variants?"select":null,name:"variant",message:H("Select a variant:"),choices:u=>u.variants.map(y=>{const m=y.color;return{title:m(y.display||y.name),value:y.name}})}],{onCancel:()=>{throw new Error(ct("\u2716")+" Operation cancelled")}})}catch(u){console.log(u.message);return}const{framework:o,overwrite:r,packageName:l,variant:d}=n,a=O.join(Nt,s);r?qr(a):E.existsSync(a)||E.mkdirSync(a,{recursive:!0});let b=d||o?.name||t,p=!1;b.includes("-swc")&&(p=!0,b=b.replace("-swc",""));const h=Zr(process.env.npm_config_user_agent),c=h?h.name:"npm",g=c==="yarn"&&h?.version.startsWith("1."),{customCommand:x}=Ft.flatMap(u=>u.variants).find(u=>u.name===b)??{};if(x){const u=x.replace(/^npm create/,`${c} create`).replace("@latest",()=>g?"":"@latest").replace(/^npm exec/,()=>c==="pnpm"?"pnpm dlx":c==="yarn"&&!g?"yarn dlx":"npm exec"),[y,...m]=u.split(" "),B=m.map(M=>M.replace("TARGET_DIR",s)),{status:C}=G.sync(y,B,{stdio:"inherit"});process.exit(C??0)}console.log(`
 Scaffolding project in ${a}...`);const P=O.resolve(Ye(import.meta.url),"../..",`template-${b}`),T=(u,y)=>{const m=O.join(a,Wr[u]??u);y?E.writeFileSync(m,y):Ne(O.join(P,u),m)},U=E.readdirSync(P);for(const u of U.filter(y=>y!=="package.json"))T(u);const S=JSON.parse(E.readFileSync(O.join(P,"package.json"),"utf-8"));S.name=l||i(),T("package.json",JSON.stringify(S,null,2)+`
 `),p&&Xr(a,b.endsWith("-ts"));const f=O.relative(Nt,a);switch(console.log(`
 Done. Now run:
-`),a!==Nt&&console.log(`  cd ${f.includes(" ")?`"${f}"`:f}`),c){case"yarn":console.log("  yarn"),console.log("  yarn dev");break;default:console.log(`  ${c} install`),console.log(`  ${c} run dev`);break}console.log()}function je(e){return e?.trim().replace(/\/+$/g,"")}function Ne(e,t){E.statSync(e).isDirectory()?Ur(e,t):E.copyFileSync(e,t)}function Fe(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function zr(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}function Ur(e,t){E.mkdirSync(t,{recursive:!0});for(const s of E.readdirSync(e)){const i=O.resolve(e,s),n=O.resolve(t,s);Ne(i,n)}}function Kr(e){const t=E.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function qr(e){if(E.existsSync(e))for(const t of E.readdirSync(e))t!==".git"&&E.rmSync(O.resolve(e,t),{recursive:!0,force:!0})}function Zr(e){if(!e)return;const s=e.split(" ")[0].split("/");return{name:s[0],version:s[1]}}function Xr(e,t){Le(O.resolve(e,"package.json"),s=>s.replace(/"@vitejs\/plugin-react": ".+?"/,'"@vitejs/plugin-react-swc": "^3.0.0"')),Le(O.resolve(e,`vite.config.${t?"ts":"js"}`),s=>s.replace("@vitejs/plugin-react","@vitejs/plugin-react-swc"))}function Le(e,t){const s=E.readFileSync(e,"utf-8");E.writeFileSync(e,t(s),"utf-8")}Jr().catch(e=>{console.error(e)});
+`),a!==Nt&&console.log(`  cd ${f.includes(" ")?`"${f}"`:f}`),c){case"yarn":console.log("  yarn"),console.log("  yarn dev");break;default:console.log(`  ${c} install`),console.log(`  ${c} run dev`);break}console.log()}function je(e){return e?.trim().replace(/\/+$/g,"")}function Ne(e,t){E.statSync(e).isDirectory()?Ur(e,t):E.copyFileSync(e,t)}function Fe(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function zr(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}function Ur(e,t){E.mkdirSync(t,{recursive:!0});for(const s of E.readdirSync(e)){const i=O.resolve(e,s),n=O.resolve(t,s);Ne(i,n)}}function Kr(e){const t=E.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function qr(e){if(E.existsSync(e))for(const t of E.readdirSync(e))t!==".git"&&E.rmSync(O.resolve(e,t),{recursive:!0,force:!0})}function Zr(e){if(!e)return;const s=e.split(" ")[0].split("/");return{name:s[0],version:s[1]}}function Xr(e,t){Le(O.resolve(e,"package.json"),s=>s.replace(/"@vitejs\/plugin-react": ".+?"/,'"@vitejs/plugin-react-swc": "^3.0.0"')),Le(O.resolve(e,`vite.config.${t?"ts":"js"}`),s=>s.replace("@vitejs/plugin-react","@vitejs/plugin-react-swc"))}function Le(e,t){const s=E.readFileSync(e,"utf-8");E.writeFileSync(e,t(s),"utf-8")}
+export const createVite = Jr
diff --git a/node_modules/create-vite/index.js b/node_modules/create-vite/index.js
index f5e8e06..51a2584 100644
--- a/node_modules/create-vite/index.js
+++ b/node_modules/create-vite/index.js
@@ -1,3 +1,3 @@
 #!/usr/bin/env node
 
-import './dist/index.mjs'
+export { createVite } from './dist/index.mjs'
\ No newline at end of file
