@@ -67,14 +67,15 @@ export async function setupFrontendTemplates(
6767		[ "tanstack-router" ,  "react-router" ,  "tanstack-start" ,  "next" ] . includes ( f ) , 
6868	) ; 
6969	const  hasNuxtWeb  =  context . frontend . includes ( "nuxt" ) ; 
70+ 	const  hasVueRouterWeb  =  context . frontend . includes ( "vue-router" ) ; 
7071	const  hasSvelteWeb  =  context . frontend . includes ( "svelte" ) ; 
7172	const  hasSolidWeb  =  context . frontend . includes ( "solid" ) ; 
7273	const  hasNativeWind  =  context . frontend . includes ( "native-nativewind" ) ; 
7374	const  hasUnistyles  =  context . frontend . includes ( "native-unistyles" ) ; 
7475	const  _hasNative  =  hasNativeWind  ||  hasUnistyles ; 
7576	const  isConvex  =  context . backend  ===  "convex" ; 
7677
77- 	if  ( hasReactWeb  ||  hasNuxtWeb  ||  hasSvelteWeb  ||  hasSolidWeb )  { 
78+ 	if  ( hasReactWeb  ||  hasNuxtWeb  ||  hasVueRouterWeb   ||   hasSvelteWeb  ||  hasSolidWeb )  { 
7879		const  webAppDir  =  path . join ( projectDir ,  "apps/web" ) ; 
7980		await  fs . ensureDir ( webAppDir ) ; 
8081
@@ -140,6 +141,23 @@ export async function setupFrontendTemplates(
140141				}  else  { 
141142				} 
142143			} 
144+ 		}  else  if  ( hasVueRouterWeb )  { 
145+ 			const  vueRouterBaseDir  =  path . join ( PKG_ROOT ,  "templates/frontend/vue/vue-router" ) ; 
146+ 			if  ( await  fs . pathExists ( vueRouterBaseDir ) )  { 
147+ 				await  processAndCopyFiles ( "**/*" ,  vueRouterBaseDir ,  webAppDir ,  context ) ; 
148+ 			}  else  { 
149+ 			} 
150+ 
151+ 			if  ( ! isConvex  &&  context . api  !==  "none" )  { 
152+ 				const  apiWebVueDir  =  path . join ( 
153+ 					PKG_ROOT , 
154+ 					`templates/api/${ context . api }  , 
155+ 				) ; 
156+ 				if  ( await  fs . pathExists ( apiWebVueDir ) )  { 
157+ 					await  processAndCopyFiles ( "**/*" ,  apiWebVueDir ,  webAppDir ,  context ) ; 
158+ 				}  else  { 
159+ 				} 
160+ 			} 
143161		}  else  if  ( hasSvelteWeb )  { 
144162			const  svelteBaseDir  =  path . join ( PKG_ROOT ,  "templates/frontend/svelte" ) ; 
145163			if  ( await  fs . pathExists ( svelteBaseDir ) )  { 
@@ -372,6 +390,7 @@ export async function setupAuthTemplate(
372390		[ "tanstack-router" ,  "react-router" ,  "tanstack-start" ,  "next" ] . includes ( f ) , 
373391	) ; 
374392	const  hasNuxtWeb  =  context . frontend . includes ( "nuxt" ) ; 
393+ 	const  hasVueRouterWeb  =  context . frontend . includes ( "vue-router" ) ; 
375394	const  hasSvelteWeb  =  context . frontend . includes ( "svelte" ) ; 
376395	const  hasSolidWeb  =  context . frontend . includes ( "solid" ) ; 
377396	const  hasNativeWind  =  context . frontend . includes ( "native-nativewind" ) ; 
@@ -434,7 +453,7 @@ export async function setupAuthTemplate(
434453	} 
435454
436455	if  ( 
437- 		( hasReactWeb  ||  hasNuxtWeb  ||  hasSvelteWeb  ||  hasSolidWeb )  && 
456+ 		( hasReactWeb  ||  hasNuxtWeb  ||  hasVueRouterWeb   ||   hasSvelteWeb  ||  hasSolidWeb )  && 
438457		webAppDirExists 
439458	)  { 
440459		if  ( hasReactWeb )  { 
@@ -473,6 +492,14 @@ export async function setupAuthTemplate(
473492				await  processAndCopyFiles ( "**/*" ,  authWebNuxtSrc ,  webAppDir ,  context ) ; 
474493			}  else  { 
475494			} 
495+ 		}  else  if  ( hasVueRouterWeb )  { 
496+ 			if  ( context . api  !==  "none" )  { 
497+ 				const  authWebVueSrc  =  path . join ( PKG_ROOT ,  "templates/auth/web/vue" ) ; 
498+ 				if  ( await  fs . pathExists ( authWebVueSrc ) )  { 
499+ 					await  processAndCopyFiles ( "**/*" ,  authWebVueSrc ,  webAppDir ,  context ) ; 
500+ 				}  else  { 
501+ 				} 
502+ 			} 
476503		}  else  if  ( hasSvelteWeb )  { 
477504			const  authWebSvelteSrc  =  path . join ( PKG_ROOT ,  "templates/auth/web/svelte" ) ; 
478505			if  ( await  fs . pathExists ( authWebSvelteSrc ) )  { 
@@ -588,6 +615,7 @@ export async function setupExamplesTemplate(
588615		[ "tanstack-router" ,  "react-router" ,  "tanstack-start" ,  "next" ] . includes ( f ) , 
589616	) ; 
590617	const  hasNuxtWeb  =  context . frontend . includes ( "nuxt" ) ; 
618+ 	const  hasVueRouterWeb  =  context . frontend . includes ( "vue-router" ) ; 
591619	const  hasSvelteWeb  =  context . frontend . includes ( "svelte" ) ; 
592620	const  hasSolidWeb  =  context . frontend . includes ( "solid" ) ; 
593621
@@ -716,6 +744,18 @@ export async function setupExamplesTemplate(
716744					) ; 
717745				}  else  { 
718746				} 
747+ 			}  else  if  ( hasVueRouterWeb )  { 
748+ 				const  exampleWebVueSrc  =  path . join ( exampleBaseDir ,  "web/vue" ) ; 
749+ 				if  ( await  fs . pathExists ( exampleWebVueSrc ) )  { 
750+ 					await  processAndCopyFiles ( 
751+ 						"**/*" , 
752+ 						exampleWebVueSrc , 
753+ 						webAppDir , 
754+ 						context , 
755+ 						false , 
756+ 					) ; 
757+ 				}  else  { 
758+ 				} 
719759			}  else  if  ( hasSvelteWeb )  { 
720760				const  exampleWebSvelteSrc  =  path . join ( exampleBaseDir ,  "web/svelte" ) ; 
721761				if  ( await  fs . pathExists ( exampleWebSvelteSrc ) )  { 
@@ -863,6 +903,7 @@ export async function setupDeploymentTemplates(
863903			solid : "solid" , 
864904			next : "react/next" , 
865905			nuxt : "nuxt" , 
906+ 			"vue-router" : "vue" , 
866907			svelte : "svelte" , 
867908		} ; 
868909
0 commit comments