Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for client only lazy loading with dynamic #331

Merged
merged 11 commits into from
Jan 16, 2025
1 change: 1 addition & 0 deletions packages/tuono-fs-router-vite-plugin/src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export const ROUTES_FOLDER = './src/routes/'
export const LAYOUT_PATH_ID = '__layout'
export const GENERATED_ROUTE_TREE = './.tuono/routeTree.gen.ts'
export const DYNAMIC_FN = '__tuono__internal__lazyLoadRoute'
5 changes: 3 additions & 2 deletions packages/tuono-fs-router-vite-plugin/src/generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
ROUTES_FOLDER,
LAYOUT_PATH_ID,
GENERATED_ROUTE_TREE,
DYNAMIC_FN,
} from './constants'

import { sortRouteNodes } from './sort-route-nodes'
Expand Down Expand Up @@ -168,7 +169,7 @@ export async function routeGenerator(config = defaultConfig): Promise<void> {
const extension = node.filePath.endsWith('mdx') ? '.mdx' : ''
return `const ${
node.variableName as string
}Import = dynamic(() => import('./${replaceBackslash(
}Import = ${DYNAMIC_FN}(() => import('./${replaceBackslash(
removeExt(
path.relative(
path.dirname(config.generatedRouteTree),
Expand Down Expand Up @@ -214,7 +215,7 @@ export async function routeGenerator(config = defaultConfig): Promise<void> {

const routeImports = [
'// This file is auto-generated by Tuono',
"import { createRoute, dynamic } from 'tuono'",
`import { createRoute, ${DYNAMIC_FN} } from 'tuono'`,
[
`import RootLayoutImport from './${replaceBackslash(
path.relative(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
// This file is auto-generated by Tuono

import { createRoute, dynamic } from 'tuono'
import { createRoute, __tuono__internal__lazyLoadRoute } from 'tuono'

import RootLayoutImport from './routes/__layout'

const IndexImport = dynamic(() => import('./routes/index'))
const PostscatchallImport = dynamic(
const IndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/index'),
)
const PostscatchallImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/[...catch_all]'),
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
// This file is auto-generated by Tuono

import { createRoute, dynamic } from 'tuono'
import { createRoute, __tuono__internal__lazyLoadRoute } from 'tuono'

import RootLayoutImport from './routes/__layout'

const AboutImport = dynamic(() => import('./routes/about.mdx'))
const IndexImport = dynamic(() => import('./routes/index'))
const AboutImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/about.mdx'),
)
const IndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/index'),
)

const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport })

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,27 @@
// This file is auto-generated by Tuono

import { createRoute, dynamic } from 'tuono'
import { createRoute, __tuono__internal__lazyLoadRoute } from 'tuono'

import RootLayoutImport from './routes/__layout'

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 PostslayoutImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/__layout'),
)
const AboutImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/about'),
)
const IndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/index'),
)
const PostspostImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/[post]'),
)
const PostsIndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/index'),
)
const PostsMyPostImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/my-post'),
)

const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport })

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
// This file is auto-generated by Tuono

import { createRoute, dynamic } from 'tuono'
import { createRoute, __tuono__internal__lazyLoadRoute } from 'tuono'

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 AboutImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/about'),
)
const IndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/index'),
)
const PostsMyPostImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/posts/my-post'),
)

const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport })

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
// This file is auto-generated by Tuono

import { createRoute, dynamic } from 'tuono'
import { createRoute, __tuono__internal__lazyLoadRoute } from 'tuono'

import RootLayoutImport from './routes/__layout'

const AboutImport = dynamic(() => import('./routes/about'))
const IndexImport = dynamic(() => import('./routes/index'))
const AboutImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/about'),
)
const IndexImport = __tuono__internal__lazyLoadRoute(
() => import('./routes/index'),
)

const rootRoute = createRoute({ isRoot: true, component: RootLayoutImport })

Expand Down
8 changes: 0 additions & 8 deletions packages/tuono-lazy-fn-vite-plugin/README.md

This file was deleted.

57 changes: 0 additions & 57 deletions packages/tuono-lazy-fn-vite-plugin/package.json

This file was deleted.

3 changes: 0 additions & 3 deletions packages/tuono-lazy-fn-vite-plugin/src/constants.ts

This file was deleted.

169 changes: 0 additions & 169 deletions packages/tuono-lazy-fn-vite-plugin/src/index.ts

This file was deleted.

Loading
Loading