@@ -68,14 +68,15 @@ export async function setupFrontendTemplates(
6868 [ "tanstack-router" , "react-router" , "tanstack-start" , "next" ] . includes ( f ) ,
6969 ) ;
7070 const hasNuxtWeb = context . frontend . includes ( "nuxt" ) ;
71+ const hasVueRouterWeb = context . frontend . includes ( "vue-router" ) ;
7172 const hasSvelteWeb = context . frontend . includes ( "svelte" ) ;
7273 const hasSolidWeb = context . frontend . includes ( "solid" ) ;
7374 const hasNativeWind = context . frontend . includes ( "native-nativewind" ) ;
7475 const hasUnistyles = context . frontend . includes ( "native-unistyles" ) ;
7576 const _hasNative = hasNativeWind || hasUnistyles ;
7677 const isConvex = context . backend === "convex" ;
7778
78- if ( hasReactWeb || hasNuxtWeb || hasSvelteWeb || hasSolidWeb ) {
79+ if ( hasReactWeb || hasNuxtWeb || hasVueRouterWeb || hasSvelteWeb || hasSolidWeb ) {
7980 const webAppDir = path . join ( projectDir , "apps/web" ) ;
8081 await fs . ensureDir ( webAppDir ) ;
8182
@@ -141,6 +142,23 @@ export async function setupFrontendTemplates(
141142 } else {
142143 }
143144 }
145+ } else if ( hasVueRouterWeb ) {
146+ const vueRouterBaseDir = path . join ( PKG_ROOT , "templates/frontend/vue/vue-router" ) ;
147+ if ( await fs . pathExists ( vueRouterBaseDir ) ) {
148+ await processAndCopyFiles ( "**/*" , vueRouterBaseDir , webAppDir , context ) ;
149+ } else {
150+ }
151+
152+ if ( ! isConvex && context . api !== "none" ) {
153+ const apiWebVueDir = path . join (
154+ PKG_ROOT ,
155+ `templates/api/${ context . api } /web/vue` ,
156+ ) ;
157+ if ( await fs . pathExists ( apiWebVueDir ) ) {
158+ await processAndCopyFiles ( "**/*" , apiWebVueDir , webAppDir , context ) ;
159+ } else {
160+ }
161+ }
144162 } else if ( hasSvelteWeb ) {
145163 const svelteBaseDir = path . join ( PKG_ROOT , "templates/frontend/svelte" ) ;
146164 if ( await fs . pathExists ( svelteBaseDir ) ) {
@@ -373,6 +391,7 @@ export async function setupAuthTemplate(
373391 [ "tanstack-router" , "react-router" , "tanstack-start" , "next" ] . includes ( f ) ,
374392 ) ;
375393 const hasNuxtWeb = context . frontend . includes ( "nuxt" ) ;
394+ const hasVueRouterWeb = context . frontend . includes ( "vue-router" ) ;
376395 const hasSvelteWeb = context . frontend . includes ( "svelte" ) ;
377396 const hasSolidWeb = context . frontend . includes ( "solid" ) ;
378397 const hasNativeWind = context . frontend . includes ( "native-nativewind" ) ;
@@ -435,7 +454,7 @@ export async function setupAuthTemplate(
435454 }
436455
437456 if (
438- ( hasReactWeb || hasNuxtWeb || hasSvelteWeb || hasSolidWeb ) &&
457+ ( hasReactWeb || hasNuxtWeb || hasVueRouterWeb || hasSvelteWeb || hasSolidWeb ) &&
439458 webAppDirExists
440459 ) {
441460 if ( hasReactWeb ) {
@@ -474,6 +493,14 @@ export async function setupAuthTemplate(
474493 await processAndCopyFiles ( "**/*" , authWebNuxtSrc , webAppDir , context ) ;
475494 } else {
476495 }
496+ } else if ( hasVueRouterWeb ) {
497+ if ( context . api !== "none" ) {
498+ const authWebVueSrc = path . join ( PKG_ROOT , "templates/auth/web/vue" ) ;
499+ if ( await fs . pathExists ( authWebVueSrc ) ) {
500+ await processAndCopyFiles ( "**/*" , authWebVueSrc , webAppDir , context ) ;
501+ } else {
502+ }
503+ }
477504 } else if ( hasSvelteWeb ) {
478505 if ( context . api === "orpc" ) {
479506 const authWebSvelteSrc = path . join (
@@ -606,6 +633,7 @@ export async function setupExamplesTemplate(
606633 [ "tanstack-router" , "react-router" , "tanstack-start" , "next" ] . includes ( f ) ,
607634 ) ;
608635 const hasNuxtWeb = context . frontend . includes ( "nuxt" ) ;
636+ const hasVueRouterWeb = context . frontend . includes ( "vue-router" ) ;
609637 const hasSvelteWeb = context . frontend . includes ( "svelte" ) ;
610638 const hasSolidWeb = context . frontend . includes ( "solid" ) ;
611639
@@ -734,6 +762,18 @@ export async function setupExamplesTemplate(
734762 ) ;
735763 } else {
736764 }
765+ } else if ( hasVueRouterWeb ) {
766+ const exampleWebVueSrc = path . join ( exampleBaseDir , "web/vue" ) ;
767+ if ( await fs . pathExists ( exampleWebVueSrc ) ) {
768+ await processAndCopyFiles (
769+ "**/*" ,
770+ exampleWebVueSrc ,
771+ webAppDir ,
772+ context ,
773+ false ,
774+ ) ;
775+ } else {
776+ }
737777 } else if ( hasSvelteWeb ) {
738778 const exampleWebSvelteSrc = path . join ( exampleBaseDir , "web/svelte" ) ;
739779 if ( await fs . pathExists ( exampleWebSvelteSrc ) ) {
@@ -876,6 +916,7 @@ export async function setupDeploymentTemplates(
876916 solid : "solid" ,
877917 next : "react/next" ,
878918 nuxt : "nuxt" ,
919+ "vue-router" : "vue" ,
879920 svelte : "svelte" ,
880921 } ;
881922
0 commit comments