From 0ef1252e1ffab536fa5c017e344662181c3230bd Mon Sep 17 00:00:00 2001 From: Marco Pasqualetti <24919330+marcalexiei@users.noreply.github.com> Date: Fri, 3 Jan 2025 17:08:18 +0100 Subject: [PATCH] feat(packages/tuono-(router|fs-router-vite-plugin)): replace `__route ` with `__layout` (#283) --- .../documentation/routing/defining-routes.mdx | 12 +++++----- apps/documentation/src/routes/sitemap.xml.rs | 4 ++-- crates/tuono/src/app.rs | 6 ++--- .../src/routes/{__root.tsx => __layout.tsx} | 4 ++-- .../src/routes/{__root.tsx => __layout.tsx} | 4 ++-- .../src/routes/{__root.tsx => __layout.tsx} | 4 ++-- .../src/build-route-config.spec.ts | 24 +++++++++---------- .../src/constants.ts | 2 +- .../src/generator.ts | 18 ++++++++------ .../src/has-parent-route.spec.ts | 16 ++++++------- .../src/has-parent-route.ts | 8 +++---- .../src/sort-route-nodes.spec.ts | 18 +++++++------- .../src/sort-route-nodes.ts | 4 ++-- .../generator/catch_all/routeTree.expected.ts | 4 ++-- .../tests/generator/mdx/routeTree.expected.ts | 4 ++-- .../mdx/routes/{__root.tsx => __layout.tsx} | 0 .../routeTree.expected.ts | 18 +++++++------- .../routes/{__root.tsx => __layout.tsx} | 0 .../routes/posts/{__root.tsx => __layout.tsx} | 0 .../multi-level/routeTree.expected.ts | 4 ++-- .../routes/{__root.tsx => __layout.tsx} | 0 .../single-level/routeTree.expected.ts | 4 ++-- .../routes/{__root.tsx => __layout.tsx} | 0 .../src/components/RouteMatch.tsx | 2 +- 24 files changed, 82 insertions(+), 78 deletions(-) rename examples/tuono-app/src/routes/{__root.tsx => __layout.tsx} (60%) rename examples/tuono-tutorial/src/routes/{__root.tsx => __layout.tsx} (60%) rename examples/with-mdx/src/routes/{__root.tsx => __layout.tsx} (71%) rename packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routes/{__root.tsx => __layout.tsx} (100%) rename packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/{__root.tsx => __layout.tsx} (100%) rename packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/{__root.tsx => __layout.tsx} (100%) rename packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routes/{__root.tsx => __layout.tsx} (100%) rename packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routes/{__root.tsx => __layout.tsx} (100%) diff --git a/apps/documentation/src/routes/documentation/routing/defining-routes.mdx b/apps/documentation/src/routes/documentation/routing/defining-routes.mdx index ffd871ea..7faafe2c 100644 --- a/apps/documentation/src/routes/documentation/routing/defining-routes.mdx +++ b/apps/documentation/src/routes/documentation/routing/defining-routes.mdx @@ -54,7 +54,7 @@ then it will be accessible at `posts/1`, `posts/2`, etc. ## The Root route (Layout components) Tuono allows you to have a layout component to wrap all the routes included within the same folder. -To define such component you will have to create a `__root.tsx` file (is allowed only a single `__root` file per folder). +To define such component you will have to create a `__layout.tsx` file (is allowed only a single `__layout` file per folder). This file won't generate any route. @@ -63,7 +63,7 @@ This file won't generate any route. A file created in this location will wrap all project route. ```tsx -// src/routes/__root.tsx +// src/routes/__layout.tsx export default function RootLayout({ children }) { return
{children}
} @@ -74,8 +74,8 @@ export default function RootLayout({ children }) { A file created in this location will wrap only the routes defined within the `src/routes/posts` folder. ```tsx -// src/routes/posts/__root.tsx -export default function PostRootLayout({ children }) { +// src/routes/posts/__layout.tsx +export default function PostLayout({ children }) { return
{children}
} ``` @@ -86,9 +86,9 @@ Referring to the two examples above consider that: ```tsx - + - + ``` diff --git a/apps/documentation/src/routes/sitemap.xml.rs b/apps/documentation/src/routes/sitemap.xml.rs index 11df3b3d..d438f061 100644 --- a/apps/documentation/src/routes/sitemap.xml.rs +++ b/apps/documentation/src/routes/sitemap.xml.rs @@ -3,7 +3,7 @@ use time::OffsetDateTime; use tuono_lib::axum::http::{header, HeaderMap, StatusCode}; use tuono_lib::{Request, Response}; -const FILE_TO_EXCLUDE: [&str; 2] = ["sitemap.xml", "__root"]; +const FILES_TO_EXCLUDE: [&str; 2] = ["sitemap.xml", "__layout"]; const SITEMAP: &str = r#" @@ -20,7 +20,7 @@ fn load_routes() -> Vec { if !entry.is_dir() { let path = clean_path(format!("/{}", entry.to_string_lossy())); - if !FILE_TO_EXCLUDE + if !FILES_TO_EXCLUDE .iter() .any(|exclude| path.ends_with(exclude)) { diff --git a/crates/tuono/src/app.rs b/crates/tuono/src/app.rs index 5d428623..1f1bef0b 100644 --- a/crates/tuono/src/app.rs +++ b/crates/tuono/src/app.rs @@ -14,7 +14,7 @@ use std::process::Stdio; use crate::route::Route; const IGNORE_EXTENSIONS: [&str; 3] = ["css", "scss", "sass"]; -const IGNORE_FILES: [&str; 1] = ["__root"]; +const IGNORE_FILES: [&str; 1] = ["__layout"]; #[cfg(target_os = "windows")] const ROUTES_FOLDER_PATH: &str = "\\src\\routes"; @@ -333,8 +333,8 @@ mod tests { app.base_path = "/home/user/Documents/tuono".into(); let routes = [ - "/home/user/Documents/tuono/src/routes/__root.tsx", - "/home/user/Documents/tuono/src/routes/posts/__root.tsx", + "/home/user/Documents/tuono/src/routes/__layout.tsx", + "/home/user/Documents/tuono/src/routes/posts/__layout.tsx", ]; routes.into_iter().for_each(|route| { diff --git a/examples/tuono-app/src/routes/__root.tsx b/examples/tuono-app/src/routes/__layout.tsx similarity index 60% rename from examples/tuono-app/src/routes/__root.tsx rename to examples/tuono-app/src/routes/__layout.tsx index 8218e6fd..660ce461 100644 --- a/examples/tuono-app/src/routes/__root.tsx +++ b/examples/tuono-app/src/routes/__layout.tsx @@ -1,10 +1,10 @@ import type { ReactNode, JSX } from 'react' -interface RootRouteProps { +interface RootLayoutProps { children: ReactNode } -export default function RootRoute({ children }: RootRouteProps): JSX.Element { +export default function RootLayout({ children }: RootLayoutProps): JSX.Element { return ( diff --git a/examples/tuono-tutorial/src/routes/__root.tsx b/examples/tuono-tutorial/src/routes/__layout.tsx similarity index 60% rename from examples/tuono-tutorial/src/routes/__root.tsx rename to examples/tuono-tutorial/src/routes/__layout.tsx index 8218e6fd..660ce461 100644 --- a/examples/tuono-tutorial/src/routes/__root.tsx +++ b/examples/tuono-tutorial/src/routes/__layout.tsx @@ -1,10 +1,10 @@ import type { ReactNode, JSX } from 'react' -interface RootRouteProps { +interface RootLayoutProps { children: ReactNode } -export default function RootRoute({ children }: RootRouteProps): JSX.Element { +export default function RootLayout({ children }: RootLayoutProps): JSX.Element { return ( diff --git a/examples/with-mdx/src/routes/__root.tsx b/examples/with-mdx/src/routes/__layout.tsx similarity index 71% rename from examples/with-mdx/src/routes/__root.tsx rename to examples/with-mdx/src/routes/__layout.tsx index 7599d3bf..e25fcb2b 100644 --- a/examples/with-mdx/src/routes/__root.tsx +++ b/examples/with-mdx/src/routes/__layout.tsx @@ -1,11 +1,11 @@ import type { ReactNode, JSX } from 'react' import { MDXProvider } from '@mdx-js/react' -interface RootRouteProps { +interface RootLayoutProps { children: ReactNode } -export default function RootRoute({ children }: RootRouteProps): JSX.Element { +export default function RootLayout({ children }: RootLayoutProps): JSX.Element { return ( diff --git a/packages/tuono-fs-router-vite-plugin/src/build-route-config.spec.ts b/packages/tuono-fs-router-vite-plugin/src/build-route-config.spec.ts index baa9378f..9b50a422 100644 --- a/packages/tuono-fs-router-vite-plugin/src/build-route-config.spec.ts +++ b/packages/tuono-fs-router-vite-plugin/src/build-route-config.spec.ts @@ -10,12 +10,12 @@ const routes = [ routePath: '/posts/my-post', variableName: 'PostsMyPost', parent: { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', - path: '/posts/__root', + path: '/posts/__layout', cleanedPath: '/posts', children: undefined, }, @@ -29,12 +29,12 @@ const routes = [ routePath: '/posts/', variableName: 'PostsIndex', parent: { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/home/valerio/Documents/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/home/valerio/Documents/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', - path: '/posts/__root', + path: '/posts/__layout', cleanedPath: '/posts', children: undefined, }, @@ -48,12 +48,12 @@ const routes = [ routePath: '/posts/', variableName: 'PostspostIndex', parent: { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', - path: '/posts/__root', + path: '/posts/__layout', cleanedPath: '/posts', children: undefined, }, diff --git a/packages/tuono-fs-router-vite-plugin/src/constants.ts b/packages/tuono-fs-router-vite-plugin/src/constants.ts index c2ed960e..2df09828 100644 --- a/packages/tuono-fs-router-vite-plugin/src/constants.ts +++ b/packages/tuono-fs-router-vite-plugin/src/constants.ts @@ -1,3 +1,3 @@ export const ROUTES_FOLDER = './src/routes/' -export const ROOT_PATH_ID = '__root' +export const LAYOUT_PATH_ID = '__layout' export const GENERATED_ROUTE_TREE = './.tuono/routeTree.gen.ts' diff --git a/packages/tuono-fs-router-vite-plugin/src/generator.ts b/packages/tuono-fs-router-vite-plugin/src/generator.ts index f10e1101..657d90f6 100644 --- a/packages/tuono-fs-router-vite-plugin/src/generator.ts +++ b/packages/tuono-fs-router-vite-plugin/src/generator.ts @@ -18,7 +18,11 @@ import { } from './utils' import type { Config, RouteNode } from './types' -import { ROUTES_FOLDER, ROOT_PATH_ID, GENERATED_ROUTE_TREE } from './constants' +import { + ROUTES_FOLDER, + LAYOUT_PATH_ID, + GENERATED_ROUTE_TREE, +} from './constants' import { sortRouteNodes } from './sort-route-nodes' import isDefaultExported from './utils/is-default-exported' @@ -154,7 +158,7 @@ export async function routeGenerator(config = defaultConfig): Promise { const routeConfigChildrenText = buildRouteConfig(routeNodes) const sortedRouteNodes = multiSortBy(routeNodes, [ - (d): number => (d.routePath.includes(`/${ROOT_PATH_ID}`) ? -1 : 1), + (d): number => (d.routePath.includes(`/${LAYOUT_PATH_ID}`) ? -1 : 1), (d): number => d.routePath.split('/').length, (d): number => (d.routePath.endsWith("index'") ? -1 : 1), (d): RouteNode => d, @@ -179,7 +183,7 @@ export async function routeGenerator(config = defaultConfig): Promise { const createRoutes = [ ...sortedRouteNodes.map((node) => { - const isRoot = node.routePath.endsWith(ROOT_PATH_ID) + const isRoot = node.routePath.endsWith(LAYOUT_PATH_ID) const rootDeclaration = isRoot ? ', isRoot: true' : '' const variableName = node.variableName as string @@ -195,7 +199,7 @@ export async function routeGenerator(config = defaultConfig): Promise { return [ `const ${variableName}Route = ${variableName}.update({ ${[ - !node.path?.endsWith(ROOT_PATH_ID) && `path: '${cleanedPath}'`, + !node.path?.endsWith(LAYOUT_PATH_ID) && `path: '${cleanedPath}'`, `getParentRoute: () => ${node.parent?.variableName ?? 'root'}Route`, rustHandlersNodes.includes(node.path || '') ? 'hasHandler: true' @@ -213,15 +217,15 @@ export async function routeGenerator(config = defaultConfig): Promise { '// This file is auto-generated by Tuono', "import { createRoute, dynamic } from 'tuono'", [ - `import RootImport from './${replaceBackslash( + `import RootLayoutImport from './${replaceBackslash( path.relative( path.dirname(config.generatedRouteTree), - path.resolve(config.folderName, ROOT_PATH_ID), + path.resolve(config.folderName, LAYOUT_PATH_ID), ), )}'`, ].join('\n'), imports, - 'const rootRoute = createRoute({ isRoot: true, component: RootImport });', + 'const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport });', createRoutes, '// Create/Update Routes', createRouteUpdates, diff --git a/packages/tuono-fs-router-vite-plugin/src/has-parent-route.spec.ts b/packages/tuono-fs-router-vite-plugin/src/has-parent-route.spec.ts index fad407c8..e8831e79 100644 --- a/packages/tuono-fs-router-vite-plugin/src/has-parent-route.spec.ts +++ b/packages/tuono-fs-router-vite-plugin/src/has-parent-route.spec.ts @@ -13,12 +13,12 @@ const routes = [ cleanedPath: '/posts/[post]', }, { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', - path: '/posts/__root', + path: '/posts/__layout', cleanedPath: '/posts', }, { @@ -42,12 +42,12 @@ const routes = [ ] const parent = { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', - path: '/posts/__root', + path: '/posts/__layout', cleanedPath: '/posts', } diff --git a/packages/tuono-fs-router-vite-plugin/src/has-parent-route.ts b/packages/tuono-fs-router-vite-plugin/src/has-parent-route.ts index 9f85fcbe..6708e02f 100644 --- a/packages/tuono-fs-router-vite-plugin/src/has-parent-route.ts +++ b/packages/tuono-fs-router-vite-plugin/src/has-parent-route.ts @@ -1,4 +1,4 @@ -import { ROOT_PATH_ID } from './constants' +import { LAYOUT_PATH_ID } from './constants' import { multiSortBy } from './utils' import type { RouteNode } from './types' @@ -19,15 +19,15 @@ export function hasParentRoute( (d): number => d.routePath.length * -1, (d): string | undefined => d.variableName, ]) - // Exclude base __root file - .filter((d) => d.routePath !== `/${ROOT_PATH_ID}`) + // Exclude base __layout file + .filter((d) => d.routePath !== `/${LAYOUT_PATH_ID}`) for (const route of sortedNodes) { if (route.routePath === '/') continue if ( route.routePath.startsWith(parentRoutePath) && - route.routePath.endsWith(ROOT_PATH_ID) + route.routePath.endsWith(LAYOUT_PATH_ID) ) { return route } diff --git a/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.spec.ts b/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.spec.ts index d3f4e6bd..8e194220 100644 --- a/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.spec.ts +++ b/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.spec.ts @@ -22,10 +22,10 @@ const routes = [ cleanedPath: '/about', }, { - filePath: '__root.tsx', + filePath: '__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__root.tsx', - routePath: '/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__layout.tsx', + routePath: '/__layout', variableName: 'root', }, { @@ -50,10 +50,10 @@ const routes = [ variableName: 'PostsIndex', }, { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', }, ] @@ -78,10 +78,10 @@ const expectedSorting = [ cleanedPath: '/about', }, { - filePath: 'posts/__root.tsx', + filePath: 'posts/__layout.tsx', fullPath: - '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx', - routePath: '/posts/__root', + '/tuono/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx', + routePath: '/posts/__layout', variableName: 'Postsroot', }, { diff --git a/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.ts b/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.ts index 70286dc1..30784112 100644 --- a/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.ts +++ b/packages/tuono-fs-router-vite-plugin/src/sort-route-nodes.ts @@ -1,6 +1,6 @@ import type { RouteNode } from './types' import { multiSortBy } from './utils' -import { ROOT_PATH_ID } from './constants' +import { LAYOUT_PATH_ID } from './constants' // Routes need to be sorted in order to iterate over the handleNode fn // with first the items that might be parent routes @@ -14,4 +14,4 @@ export const sortRouteNodes = (routes: Array): Array => (d): number => (d.filePath.match(/[./]route[.]/) ? -1 : 1), (d): number => (d.routePath.endsWith('/') ? -1 : 1), (d): string => d.routePath, - ]).filter((d) => ![`/${ROOT_PATH_ID}`].includes(d.routePath || '')) + ]).filter((d) => ![`/${LAYOUT_PATH_ID}`].includes(d.routePath || '')) diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/catch_all/routeTree.expected.ts b/packages/tuono-fs-router-vite-plugin/tests/generator/catch_all/routeTree.expected.ts index 6c489f80..a50af4c9 100644 --- a/packages/tuono-fs-router-vite-plugin/tests/generator/catch_all/routeTree.expected.ts +++ b/packages/tuono-fs-router-vite-plugin/tests/generator/catch_all/routeTree.expected.ts @@ -2,14 +2,14 @@ import { createRoute, dynamic } from 'tuono' -import RootImport from './routes/__root' +import RootLayoutImport from './routes/__layout' const IndexImport = dynamic(() => import('./routes/index')) const PostscatchallImport = dynamic( () => import('./routes/posts/[...catch_all]'), ) -const rootRoute = createRoute({ isRoot: true, component: RootImport }) +const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport }) const Index = createRoute({ component: IndexImport }) const Postscatchall = createRoute({ component: PostscatchallImport }) diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routeTree.expected.ts b/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routeTree.expected.ts index 576d6abb..6ee4883a 100644 --- a/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routeTree.expected.ts +++ b/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routeTree.expected.ts @@ -2,12 +2,12 @@ import { createRoute, dynamic } from 'tuono' -import RootImport from './routes/__root' +import RootLayoutImport from './routes/__layout' const AboutImport = dynamic(() => import('./routes/about.mdx')) const IndexImport = dynamic(() => import('./routes/index')) -const rootRoute = createRoute({ isRoot: true, component: RootImport }) +const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport }) const About = createRoute({ component: AboutImport }) const Index = createRoute({ component: IndexImport }) diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routes/__root.tsx b/packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routes/__layout.tsx similarity index 100% rename from packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routes/__root.tsx rename to packages/tuono-fs-router-vite-plugin/tests/generator/mdx/routes/__layout.tsx diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routeTree.expected.ts b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routeTree.expected.ts index b1211525..e17e1af6 100644 --- a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routeTree.expected.ts +++ b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routeTree.expected.ts @@ -2,18 +2,18 @@ import { createRoute, dynamic } from 'tuono' -import RootImport from './routes/__root' +import RootLayoutImport from './routes/__layout' -const PostsrootImport = dynamic(() => import('./routes/posts/__root')) +const PostslayoutImport = dynamic(() => import('./routes/posts/__layout')) const AboutImport = dynamic(() => import('./routes/about')) const IndexImport = dynamic(() => import('./routes/index')) const PostspostImport = dynamic(() => import('./routes/posts/[post]')) const PostsIndexImport = dynamic(() => import('./routes/posts/index')) const PostsMyPostImport = dynamic(() => import('./routes/posts/my-post')) -const rootRoute = createRoute({ isRoot: true, component: RootImport }) +const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport }) -const Postsroot = createRoute({ component: PostsrootImport, isRoot: true }) +const Postslayout = createRoute({ component: PostslayoutImport, isRoot: true }) const About = createRoute({ component: AboutImport }) const Index = createRoute({ component: IndexImport }) const Postspost = createRoute({ component: PostspostImport }) @@ -22,7 +22,7 @@ const PostsMyPost = createRoute({ component: PostsMyPostImport }) // Create/Update Routes -const PostsrootRoute = Postsroot.update({ +const PostslayoutRoute = Postslayout.update({ getParentRoute: () => rootRoute, }) @@ -38,17 +38,17 @@ const IndexRoute = Index.update({ const PostspostRoute = Postspost.update({ path: '/posts/[post]', - getParentRoute: () => PostsrootRoute, + getParentRoute: () => PostslayoutRoute, }) const PostsIndexRoute = PostsIndex.update({ path: '/posts', - getParentRoute: () => PostsrootRoute, + getParentRoute: () => PostslayoutRoute, }) const PostsMyPostRoute = PostsMyPost.update({ path: '/posts/my-post', - getParentRoute: () => PostsrootRoute, + getParentRoute: () => PostslayoutRoute, }) // Create and export the route tree @@ -56,7 +56,7 @@ const PostsMyPostRoute = PostsMyPost.update({ export const routeTree = rootRoute.addChildren([ IndexRoute, AboutRoute, - PostsrootRoute.addChildren([ + PostslayoutRoute.addChildren([ PostsMyPostRoute, PostsIndexRoute, PostspostRoute, diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__root.tsx b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__layout.tsx similarity index 100% rename from packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__root.tsx rename to packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/__layout.tsx diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx similarity index 100% rename from packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__root.tsx rename to packages/tuono-fs-router-vite-plugin/tests/generator/multi-level-root-dynamic/routes/posts/__layout.tsx diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routeTree.expected.ts b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routeTree.expected.ts index 72301dad..f91e1f6a 100644 --- a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routeTree.expected.ts +++ b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routeTree.expected.ts @@ -2,13 +2,13 @@ import { createRoute, dynamic } from 'tuono' -import RootImport from './routes/__root' +import RootLayoutImport from './routes/__layout' const AboutImport = dynamic(() => import('./routes/about')) const IndexImport = dynamic(() => import('./routes/index')) const PostsMyPostImport = dynamic(() => import('./routes/posts/my-post')) -const rootRoute = createRoute({ isRoot: true, component: RootImport }) +const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport }) const About = createRoute({ component: AboutImport }) const Index = createRoute({ component: IndexImport }) diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routes/__root.tsx b/packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routes/__layout.tsx similarity index 100% rename from packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routes/__root.tsx rename to packages/tuono-fs-router-vite-plugin/tests/generator/multi-level/routes/__layout.tsx diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routeTree.expected.ts b/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routeTree.expected.ts index 23b22805..5e276f01 100644 --- a/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routeTree.expected.ts +++ b/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routeTree.expected.ts @@ -2,12 +2,12 @@ import { createRoute, dynamic } from 'tuono' -import RootImport from './routes/__root' +import RootLayoutImport from './routes/__layout' const AboutImport = dynamic(() => import('./routes/about')) const IndexImport = dynamic(() => import('./routes/index')) -const rootRoute = createRoute({ isRoot: true, component: RootImport }) +const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport }) const About = createRoute({ component: AboutImport }) const Index = createRoute({ component: IndexImport }) diff --git a/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routes/__root.tsx b/packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routes/__layout.tsx similarity index 100% rename from packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routes/__root.tsx rename to packages/tuono-fs-router-vite-plugin/tests/generator/single-level/routes/__layout.tsx diff --git a/packages/tuono-router/src/components/RouteMatch.tsx b/packages/tuono-router/src/components/RouteMatch.tsx index 48ef522e..0d9c832b 100644 --- a/packages/tuono-router/src/components/RouteMatch.tsx +++ b/packages/tuono-router/src/components/RouteMatch.tsx @@ -42,7 +42,7 @@ interface TraverseRootComponentsProps { /* * This component traverses and renders - * all the components that wraps the selected route (__root). + * all the components that wraps the selected route (__layout). * The parents components need to be memoized in order to avoid * re-rendering bugs when changing route. */