create-fumadocs-app 16.0.33 → 16.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/bin.d.ts +1 -1
  2. package/dist/bin.js +155 -206
  3. package/dist/bin.js.map +1 -0
  4. package/dist/constants-DkM_O5ux.js +140 -0
  5. package/dist/constants-DkM_O5ux.js.map +1 -0
  6. package/dist/index-CulTgtuF.d.ts +67 -0
  7. package/dist/index-CulTgtuF.d.ts.map +1 -0
  8. package/dist/index.d.ts +2 -63
  9. package/dist/index.js +4 -7
  10. package/dist/plugins/biome.base.d.ts +40 -45
  11. package/dist/plugins/biome.base.d.ts.map +1 -0
  12. package/dist/plugins/biome.base.js +37 -17
  13. package/dist/plugins/biome.base.js.map +1 -0
  14. package/dist/plugins/biome.d.ts +4 -2
  15. package/dist/plugins/biome.d.ts.map +1 -0
  16. package/dist/plugins/biome.js +30 -40
  17. package/dist/plugins/biome.js.map +1 -0
  18. package/dist/plugins/biome.next.d.ts +41 -49
  19. package/dist/plugins/biome.next.d.ts.map +1 -0
  20. package/dist/plugins/biome.next.js +43 -17
  21. package/dist/plugins/biome.next.js.map +1 -0
  22. package/dist/plugins/eslint.d.ts +4 -2
  23. package/dist/plugins/eslint.d.ts.map +1 -0
  24. package/dist/plugins/eslint.js +30 -33
  25. package/dist/plugins/eslint.js.map +1 -0
  26. package/dist/plugins/next-use-src.d.ts +5 -2
  27. package/dist/plugins/next-use-src.d.ts.map +1 -0
  28. package/dist/plugins/next-use-src.js +33 -35
  29. package/dist/plugins/next-use-src.js.map +1 -0
  30. package/dist/plugins/orama-cloud.d.ts +4 -2
  31. package/dist/plugins/orama-cloud.d.ts.map +1 -0
  32. package/dist/plugins/orama-cloud.js +211 -276
  33. package/dist/plugins/orama-cloud.js.map +1 -0
  34. package/dist/src-z4C6ZcL7.js +89 -0
  35. package/dist/src-z4C6ZcL7.js.map +1 -0
  36. package/package.json +19 -18
  37. package/template/+next+fuma-docs-mdx/app/docs/[[...slug]]/page.tsx +2 -9
  38. package/template/+next+fuma-docs-mdx/app/docs/layout.tsx +1 -1
  39. package/template/+next+fuma-docs-mdx/app/og/docs/[...slug]/route.tsx +2 -9
  40. package/template/+next+fuma-docs-mdx/package.json +3 -3
  41. package/template/+next+fuma-docs-mdx/source.config.ts +1 -6
  42. package/template/+next+fuma-docs-mdx+static/README.md +45 -0
  43. package/template/+next+fuma-docs-mdx+static/app/(home)/layout.tsx +6 -0
  44. package/template/+next+fuma-docs-mdx+static/app/(home)/page.tsx +16 -0
  45. package/template/+next+fuma-docs-mdx+static/app/api/search/route.ts +9 -0
  46. package/template/+next+fuma-docs-mdx+static/app/docs/[[...slug]]/page.tsx +47 -0
  47. package/template/+next+fuma-docs-mdx+static/app/docs/layout.tsx +11 -0
  48. package/template/+next+fuma-docs-mdx+static/app/global.css +3 -0
  49. package/template/+next+fuma-docs-mdx+static/app/layout.tsx +17 -0
  50. package/template/+next+fuma-docs-mdx+static/app/llms-full.txt/route.ts +10 -0
  51. package/template/+next+fuma-docs-mdx+static/app/og/docs/[...slug]/route.tsx +27 -0
  52. package/template/+next+fuma-docs-mdx+static/components/provider.tsx +8 -0
  53. package/template/+next+fuma-docs-mdx+static/components/search.tsx +46 -0
  54. package/template/+next+fuma-docs-mdx+static/content/docs/index.mdx +13 -0
  55. package/template/+next+fuma-docs-mdx+static/content/docs/test.mdx +17 -0
  56. package/template/+next+fuma-docs-mdx+static/example.gitignore +26 -0
  57. package/template/+next+fuma-docs-mdx+static/lib/layout.shared.tsx +9 -0
  58. package/template/+next+fuma-docs-mdx+static/lib/source.ts +26 -0
  59. package/template/+next+fuma-docs-mdx+static/mdx-components.tsx +9 -0
  60. package/template/+next+fuma-docs-mdx+static/next.config.mjs +11 -0
  61. package/template/+next+fuma-docs-mdx+static/package.json +32 -0
  62. package/template/+next+fuma-docs-mdx+static/postcss.config.mjs +5 -0
  63. package/template/+next+fuma-docs-mdx+static/source.config.ts +22 -0
  64. package/template/+next+fuma-docs-mdx+static/tsconfig.json +36 -0
  65. package/template/+orama-cloud/@app/components/search.tsx +1 -6
  66. package/template/react-router/app/docs/page.tsx +1 -6
  67. package/template/react-router/app/root.tsx +1 -3
  68. package/template/react-router/package.json +7 -7
  69. package/template/react-router/tsconfig.json +1 -6
  70. package/template/react-router-spa/app/components/search.tsx +1 -6
  71. package/template/react-router-spa/app/docs/page.tsx +2 -7
  72. package/template/react-router-spa/app/root.tsx +1 -3
  73. package/template/react-router-spa/package.json +7 -7
  74. package/template/react-router-spa/tsconfig.json +1 -6
  75. package/template/tanstack-start/content/docs/index.mdx +1 -4
  76. package/template/tanstack-start/package.json +7 -8
  77. package/template/tanstack-start/src/components/not-found.tsx +2 -2
  78. package/template/tanstack-start/src/routes/__root.tsx +1 -6
  79. package/template/tanstack-start/src/routes/docs/$.tsx +1 -6
  80. package/template/tanstack-start/src/routes/index.tsx +1 -3
  81. package/template/tanstack-start/vite.config.ts +0 -4
  82. package/template/tanstack-start-spa/content/docs/index.mdx +1 -4
  83. package/template/tanstack-start-spa/package.json +9 -9
  84. package/template/tanstack-start-spa/src/components/not-found.tsx +2 -2
  85. package/template/tanstack-start-spa/src/components/search.tsx +1 -6
  86. package/template/tanstack-start-spa/src/routes/__root.tsx +1 -6
  87. package/template/tanstack-start-spa/src/routes/docs/$.tsx +2 -7
  88. package/template/waku/package.json +6 -4
  89. package/template/waku/src/lib/source.ts +2 -0
  90. package/template/waku/src/pages/docs/[...slugs].tsx +2 -9
  91. package/template/waku/src/pages/docs/_layout.tsx +1 -1
  92. package/dist/chunk-7QPQHHV2.js +0 -179
  93. package/dist/chunk-BEZTHMLF.js +0 -51
  94. package/dist/chunk-EM5SN2F4.js +0 -130
  95. package/dist/chunk-JCFTHRDR.js +0 -50
@@ -0,0 +1,26 @@
1
+ import { docs } from 'fumadocs-mdx:collections/server';
2
+ import { type InferPageType, loader } from 'fumadocs-core/source';
3
+
4
+ // See https://fumadocs.dev/docs/headless/source-api for more info
5
+ export const source = loader({
6
+ baseUrl: '/docs',
7
+ source: docs.toFumadocsSource(),
8
+ plugins: [],
9
+ });
10
+
11
+ export function getPageImage(page: InferPageType<typeof source>) {
12
+ const segments = [...page.slugs, 'image.png'];
13
+
14
+ return {
15
+ segments,
16
+ url: `/og/docs/${segments.join('/')}`,
17
+ };
18
+ }
19
+
20
+ export async function getLLMText(page: InferPageType<typeof source>) {
21
+ const processed = await page.data.getText('processed');
22
+
23
+ return `# ${page.data.title}
24
+
25
+ ${processed}`;
26
+ }
@@ -0,0 +1,9 @@
1
+ import defaultMdxComponents from 'fumadocs-ui/mdx';
2
+ import type { MDXComponents } from 'mdx/types';
3
+
4
+ export function getMDXComponents(components?: MDXComponents): MDXComponents {
5
+ return {
6
+ ...defaultMdxComponents,
7
+ ...components,
8
+ };
9
+ }
@@ -0,0 +1,11 @@
1
+ import { createMDX } from 'fumadocs-mdx/next';
2
+
3
+ const withMDX = createMDX();
4
+
5
+ /** @type {import('next').NextConfig} */
6
+ const config = {
7
+ output: 'export',
8
+ reactStrictMode: true,
9
+ };
10
+
11
+ export default withMDX(config);
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "example-next-static",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "next build",
7
+ "dev": "next dev",
8
+ "start": "serve out",
9
+ "types:check": "fumadocs-mdx && next typegen && tsc --noEmit"
10
+ },
11
+ "dependencies": {
12
+ "@orama/orama": "^3.1.18",
13
+ "fumadocs-core": "workspace:*",
14
+ "fumadocs-mdx": "workspace:*",
15
+ "fumadocs-ui": "workspace:*",
16
+ "lucide-react": "^0.562.0",
17
+ "next": "16.1.1",
18
+ "react": "^19.2.3",
19
+ "react-dom": "^19.2.3"
20
+ },
21
+ "devDependencies": {
22
+ "@tailwindcss/postcss": "^4.1.18",
23
+ "@types/mdx": "^2.0.13",
24
+ "@types/node": "^24.10.2",
25
+ "@types/react": "^19.2.7",
26
+ "@types/react-dom": "^19.2.3",
27
+ "postcss": "^8.5.6",
28
+ "serve": "^14.2.5",
29
+ "tailwindcss": "^4.1.18",
30
+ "typescript": "^5.9.3"
31
+ }
32
+ }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ plugins: {
3
+ '@tailwindcss/postcss': {},
4
+ },
5
+ };
@@ -0,0 +1,22 @@
1
+ import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
2
+
3
+ // You can customise Zod schemas for frontmatter and `meta.json` here
4
+ // see https://fumadocs.dev/docs/mdx/collections
5
+ export const docs = defineDocs({
6
+ dir: 'content/docs',
7
+ docs: {
8
+ schema: frontmatterSchema,
9
+ postprocess: {
10
+ includeProcessedMarkdown: true,
11
+ },
12
+ },
13
+ meta: {
14
+ schema: metaSchema,
15
+ },
16
+ });
17
+
18
+ export default defineConfig({
19
+ mdxOptions: {
20
+ // MDX options
21
+ },
22
+ });
@@ -0,0 +1,36 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "target": "ESNext",
5
+ "lib": ["dom", "dom.iterable", "esnext"],
6
+ "allowJs": true,
7
+ "skipLibCheck": true,
8
+ "strict": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "noEmit": true,
11
+ "esModuleInterop": true,
12
+ "module": "esnext",
13
+ "moduleResolution": "bundler",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "jsx": "react-jsx",
17
+ "incremental": true,
18
+ "paths": {
19
+ "@/*": ["./*"],
20
+ "fumadocs-mdx:collections/*": [".source/*"]
21
+ },
22
+ "plugins": [
23
+ {
24
+ "name": "next"
25
+ }
26
+ ]
27
+ },
28
+ "include": [
29
+ "next-env.d.ts",
30
+ "**/*.ts",
31
+ "**/*.tsx",
32
+ ".next/types/**/*.ts",
33
+ ".next/dev/types/**/*.ts"
34
+ ],
35
+ "exclude": ["node_modules"]
36
+ }
@@ -30,12 +30,7 @@ export default function CustomSearchDialog(props: SharedProps) {
30
30
  });
31
31
 
32
32
  return (
33
- <SearchDialog
34
- search={search}
35
- onSearchChange={setSearch}
36
- isLoading={query.isLoading}
37
- {...props}
38
- >
33
+ <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>
39
34
  <SearchDialogOverlay />
40
35
  <SearchDialogContent>
41
36
  <SearchDialogHeader>
@@ -1,11 +1,6 @@
1
1
  import type { Route } from './+types/page';
2
2
  import { DocsLayout } from 'fumadocs-ui/layouts/docs';
3
- import {
4
- DocsBody,
5
- DocsDescription,
6
- DocsPage,
7
- DocsTitle,
8
- } from 'fumadocs-ui/layouts/docs/page';
3
+ import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page';
9
4
  import { source } from '@/lib/source';
10
5
  import defaultMdxComponents from 'fumadocs-ui/mdx';
11
6
  import browserCollections from 'fumadocs-mdx:collections/browser';
@@ -53,9 +53,7 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
53
53
  if (isRouteErrorResponse(error)) {
54
54
  message = error.status === 404 ? '404' : 'Error';
55
55
  details =
56
- error.status === 404
57
- ? 'The requested page could not be found.'
58
- : error.statusText || details;
56
+ error.status === 404 ? 'The requested page could not be found.' : error.statusText || details;
59
57
  } else if (import.meta.env.DEV && error && error instanceof Error) {
60
58
  details = error.message;
61
59
  stack = error.stack;
@@ -9,27 +9,27 @@
9
9
  "types:check": "react-router typegen && fumadocs-mdx && tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@react-router/node": "^7.10.1",
13
- "@react-router/serve": "^7.10.1",
12
+ "@react-router/node": "^7.11.0",
13
+ "@react-router/serve": "^7.11.0",
14
14
  "fumadocs-core": "workspace:*",
15
15
  "fumadocs-mdx": "workspace:*",
16
16
  "fumadocs-ui": "workspace:*",
17
17
  "isbot": "^5.1.32",
18
18
  "react": "^19.2.3",
19
19
  "react-dom": "^19.2.3",
20
- "react-router": "^7.10.1"
20
+ "react-router": "^7.11.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@react-router/dev": "^7.10.1",
23
+ "@react-router/dev": "^7.11.0",
24
24
  "@tailwindcss/vite": "^4.1.18",
25
25
  "@types/mdx": "^2.0.13",
26
26
  "@types/node": "^24.10.2",
27
27
  "@types/react": "^19.2.7",
28
28
  "@types/react-dom": "^19.2.3",
29
- "react-router-devtools": "^6.0.0",
29
+ "react-router-devtools": "^6.0.1",
30
30
  "tailwindcss": "^4.1.18",
31
31
  "typescript": "^5.9.3",
32
- "vite": "^7.2.7",
33
- "vite-tsconfig-paths": "^6.0.0"
32
+ "vite": "^7.3.0",
33
+ "vite-tsconfig-paths": "^6.0.3"
34
34
  }
35
35
  }
@@ -1,10 +1,5 @@
1
1
  {
2
- "include": [
3
- "**/*",
4
- "**/.server/**/*",
5
- "**/.client/**/*",
6
- ".react-router/types/**/*"
7
- ],
2
+ "include": ["**/*", "**/.server/**/*", "**/.client/**/*", ".react-router/types/**/*"],
8
3
  "compilerOptions": {
9
4
  "lib": ["DOM", "DOM.Iterable", "ES2022"],
10
5
  "types": ["node", "vite/client"],
@@ -30,12 +30,7 @@ export default function DefaultSearchDialog(props: SharedProps) {
30
30
  });
31
31
 
32
32
  return (
33
- <SearchDialog
34
- search={search}
35
- onSearchChange={setSearch}
36
- isLoading={query.isLoading}
37
- {...props}
38
- >
33
+ <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>
39
34
  <SearchDialogOverlay />
40
35
  <SearchDialogContent>
41
36
  <SearchDialogHeader>
@@ -1,11 +1,6 @@
1
1
  import type { Route } from './+types/page';
2
2
  import { DocsLayout } from 'fumadocs-ui/layouts/docs';
3
- import {
4
- DocsBody,
5
- DocsDescription,
6
- DocsPage,
7
- DocsTitle,
8
- } from 'fumadocs-ui/layouts/docs/page';
3
+ import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page';
9
4
  import { source } from '@/lib/source';
10
5
  import defaultMdxComponents from 'fumadocs-ui/mdx';
11
6
  import browserCollections from 'fumadocs-mdx:collections/browser';
@@ -19,7 +14,7 @@ export async function loader({ params }: Route.LoaderArgs) {
19
14
 
20
15
  return {
21
16
  path: page.path,
22
- pageTree: await source.serializePageTree(source.pageTree),
17
+ pageTree: await source.serializePageTree(source.getPageTree()),
23
18
  };
24
19
  }
25
20
 
@@ -54,9 +54,7 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {
54
54
  if (isRouteErrorResponse(error)) {
55
55
  message = error.status === 404 ? '404' : 'Error';
56
56
  details =
57
- error.status === 404
58
- ? 'The requested page could not be found.'
59
- : error.statusText || details;
57
+ error.status === 404 ? 'The requested page could not be found.' : error.statusText || details;
60
58
  } else if (import.meta.env.DEV && error && error instanceof Error) {
61
59
  details = error.message;
62
60
  stack = error.stack;
@@ -9,28 +9,28 @@
9
9
  "types:check": "react-router typegen && fumadocs-mdx && tsc --noEmit"
10
10
  },
11
11
  "dependencies": {
12
- "@orama/orama": "^3.1.16",
13
- "@react-router/node": "^7.10.1",
12
+ "@orama/orama": "^3.1.18",
13
+ "@react-router/node": "^7.11.0",
14
14
  "fumadocs-core": "workspace:*",
15
15
  "fumadocs-mdx": "workspace:*",
16
16
  "fumadocs-ui": "workspace:*",
17
17
  "isbot": "^5.1.32",
18
18
  "react": "^19.2.3",
19
19
  "react-dom": "^19.2.3",
20
- "react-router": "^7.10.1"
20
+ "react-router": "^7.11.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@react-router/dev": "^7.10.1",
23
+ "@react-router/dev": "^7.11.0",
24
24
  "@tailwindcss/vite": "^4.1.18",
25
25
  "@types/mdx": "^2.0.13",
26
26
  "@types/node": "^24.10.2",
27
27
  "@types/react": "^19.2.7",
28
28
  "@types/react-dom": "^19.2.3",
29
- "react-router-devtools": "^6.0.0",
29
+ "react-router-devtools": "^6.0.1",
30
30
  "serve": "^14.2.5",
31
31
  "tailwindcss": "^4.1.18",
32
32
  "typescript": "^5.9.3",
33
- "vite": "^7.2.7",
34
- "vite-tsconfig-paths": "^6.0.0"
33
+ "vite": "^7.3.0",
34
+ "vite-tsconfig-paths": "^6.0.3"
35
35
  }
36
36
  }
@@ -1,10 +1,5 @@
1
1
  {
2
- "include": [
3
- "**/*",
4
- "**/.server/**/*",
5
- "**/.client/**/*",
6
- ".react-router/types/**/*"
7
- ],
2
+ "include": ["**/*", "**/.server/**/*", "**/.client/**/*", ".react-router/types/**/*"],
8
3
  "compilerOptions": {
9
4
  "lib": ["DOM", "DOM.Iterable", "ES2022"],
10
5
  "types": ["node", "vite/client"],
@@ -11,10 +11,7 @@ Hey there! Fumadocs is the docs framework that also works on Tanstack Start!
11
11
  Hello World!
12
12
 
13
13
  <Cards>
14
- <Card
15
- title="Learn more about Tanstack Start"
16
- href="https://tanstack.com/start"
17
- />
14
+ <Card title="Learn more about Tanstack Start" href="https://tanstack.com/start" />
18
15
  <Card title="Learn more about Fumadocs" href="https://fumadocs.dev" />
19
16
  </Cards>
20
17
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "example-tanstack-start",
3
3
  "private": true,
4
- "sideEffects": false,
5
4
  "type": "module",
5
+ "sideEffects": false,
6
6
  "scripts": {
7
7
  "dev": "vite dev",
8
8
  "build": "vite build",
@@ -10,17 +10,17 @@
10
10
  "types:check": "fumadocs-mdx && tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@tanstack/react-router": "1.136.18",
14
- "@tanstack/react-router-devtools": "1.136.18",
15
- "@tanstack/react-start": "1.136.18",
13
+ "@tanstack/react-router": "1.144.0",
14
+ "@tanstack/react-router-devtools": "1.144.0",
15
+ "@tanstack/react-start": "1.145.3",
16
16
  "fumadocs-core": "workspace:*",
17
17
  "fumadocs-mdx": "workspace:*",
18
18
  "fumadocs-ui": "workspace:*",
19
- "lucide-react": "^0.561.0",
19
+ "lucide-react": "^0.562.0",
20
20
  "react": "^19.2.3",
21
21
  "react-dom": "^19.2.3",
22
22
  "tailwind-merge": "^3.4.0",
23
- "vite": "^7.2.7"
23
+ "vite": "^7.3.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@tailwindcss/vite": "^4.1.18",
@@ -29,9 +29,8 @@
29
29
  "@types/react": "^19.2.7",
30
30
  "@types/react-dom": "^19.2.3",
31
31
  "@vitejs/plugin-react": "^5.1.2",
32
- "nitro": "3.0.1-alpha.1",
33
32
  "tailwindcss": "^4.1.18",
34
33
  "typescript": "^5.9.3",
35
- "vite-tsconfig-paths": "^6.0.0"
34
+ "vite-tsconfig-paths": "^6.0.3"
36
35
  }
37
36
  }
@@ -13,8 +13,8 @@ export function NotFound() {
13
13
  <h1 className="text-6xl font-bold text-fd-muted-foreground">404</h1>
14
14
  <h2 className="text-2xl font-semibold">Page Not Found</h2>
15
15
  <p className="text-fd-muted-foreground max-w-md">
16
- The page you are looking for might have been removed, had its name
17
- changed, or is temporarily unavailable.
16
+ The page you are looking for might have been removed, had its name changed, or is
17
+ temporarily unavailable.
18
18
  </p>
19
19
  <Link
20
20
  to="/"
@@ -1,9 +1,4 @@
1
- import {
2
- createRootRoute,
3
- HeadContent,
4
- Outlet,
5
- Scripts,
6
- } from '@tanstack/react-router';
1
+ import { createRootRoute, HeadContent, Outlet, Scripts } from '@tanstack/react-router';
7
2
  import * as React from 'react';
8
3
  import appCss from '@/styles/app.css?url';
9
4
  import { RootProvider } from 'fumadocs-ui/provider/tanstack';
@@ -3,12 +3,7 @@ import { DocsLayout } from 'fumadocs-ui/layouts/docs';
3
3
  import { createServerFn } from '@tanstack/react-start';
4
4
  import { source } from '@/lib/source';
5
5
  import browserCollections from 'fumadocs-mdx:collections/browser';
6
- import {
7
- DocsBody,
8
- DocsDescription,
9
- DocsPage,
10
- DocsTitle,
11
- } from 'fumadocs-ui/layouts/docs/page';
6
+ import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page';
12
7
  import defaultMdxComponents from 'fumadocs-ui/mdx';
13
8
  import { baseOptions } from '@/lib/layout.shared';
14
9
  import { useFumadocsLoader } from 'fumadocs-core/source/client';
@@ -10,9 +10,7 @@ function Home() {
10
10
  return (
11
11
  <HomeLayout {...baseOptions()}>
12
12
  <div className="flex flex-col flex-1 justify-center px-4 py-8 text-center">
13
- <h1 className="font-medium text-xl mb-4">
14
- Fumadocs on Tanstack Start.
15
- </h1>
13
+ <h1 className="font-medium text-xl mb-4">Fumadocs on Tanstack Start.</h1>
16
14
  <Link
17
15
  to="/docs/$"
18
16
  params={{
@@ -4,7 +4,6 @@ import { defineConfig } from 'vite';
4
4
  import tsConfigPaths from 'vite-tsconfig-paths';
5
5
  import tailwindcss from '@tailwindcss/vite';
6
6
  import mdx from 'fumadocs-mdx/vite';
7
- import { nitro } from 'nitro/vite';
8
7
 
9
8
  export default defineConfig({
10
9
  server: {
@@ -22,8 +21,5 @@ export default defineConfig({
22
21
  },
23
22
  }),
24
23
  react(),
25
- // see https://tanstack.com/start/latest/docs/framework/react/guide/hosting for hosting config
26
- // we configured nitro by default
27
- nitro(),
28
24
  ],
29
25
  });
@@ -11,10 +11,7 @@ Hey there! Fumadocs is the docs framework that also works on Tanstack Start!
11
11
  Hello World!
12
12
 
13
13
  <Cards>
14
- <Card
15
- title="Learn more about Tanstack Start"
16
- href="https://tanstack.com/start"
17
- />
14
+ <Card title="Learn more about Tanstack Start" href="https://tanstack.com/start" />
18
15
  <Card title="Learn more about Fumadocs" href="https://fumadocs.dev" />
19
16
  </Cards>
20
17
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "example-tanstack-start-spa",
3
3
  "private": true,
4
- "sideEffects": false,
5
4
  "type": "module",
5
+ "sideEffects": false,
6
6
  "scripts": {
7
7
  "dev": "vite dev",
8
8
  "build": "vite build",
@@ -10,19 +10,19 @@
10
10
  "types:check": "fumadocs-mdx && tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
- "@orama/orama": "^3.1.16",
14
- "@tanstack/react-router": "1.136.18",
15
- "@tanstack/react-router-devtools": "1.136.18",
16
- "@tanstack/react-start": "1.136.18",
17
- "@tanstack/start-static-server-functions": "1.136.18",
13
+ "@orama/orama": "^3.1.18",
14
+ "@tanstack/react-router": "1.144.0",
15
+ "@tanstack/react-router-devtools": "1.144.0",
16
+ "@tanstack/react-start": "1.145.3",
17
+ "@tanstack/start-static-server-functions": "1.145.3",
18
18
  "fumadocs-core": "workspace:*",
19
19
  "fumadocs-mdx": "workspace:*",
20
20
  "fumadocs-ui": "workspace:*",
21
- "lucide-static": "^0.561.0",
21
+ "lucide-static": "^0.562.0",
22
22
  "react": "^19.2.3",
23
23
  "react-dom": "^19.2.3",
24
24
  "tailwind-merge": "^3.4.0",
25
- "vite": "^7.2.7"
25
+ "vite": "^7.3.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@tailwindcss/vite": "^4.1.18",
@@ -34,6 +34,6 @@
34
34
  "serve": "^14.2.5",
35
35
  "tailwindcss": "^4.1.18",
36
36
  "typescript": "^5.9.3",
37
- "vite-tsconfig-paths": "^6.0.0"
37
+ "vite-tsconfig-paths": "^6.0.3"
38
38
  }
39
39
  }
@@ -13,8 +13,8 @@ export function NotFound() {
13
13
  <h1 className="text-6xl font-bold text-fd-muted-foreground">404</h1>
14
14
  <h2 className="text-2xl font-semibold">Page Not Found</h2>
15
15
  <p className="text-fd-muted-foreground max-w-md">
16
- The page you are looking for might have been removed, had its name
17
- changed, or is temporarily unavailable.
16
+ The page you are looking for might have been removed, had its name changed, or is
17
+ temporarily unavailable.
18
18
  </p>
19
19
  <Link
20
20
  to="/"
@@ -31,12 +31,7 @@ export default function DefaultSearchDialog(props: SharedProps) {
31
31
  });
32
32
 
33
33
  return (
34
- <SearchDialog
35
- search={search}
36
- onSearchChange={setSearch}
37
- isLoading={query.isLoading}
38
- {...props}
39
- >
34
+ <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>
40
35
  <SearchDialogOverlay />
41
36
  <SearchDialogContent>
42
37
  <SearchDialogHeader>
@@ -1,9 +1,4 @@
1
- import {
2
- createRootRoute,
3
- HeadContent,
4
- Outlet,
5
- Scripts,
6
- } from '@tanstack/react-router';
1
+ import { createRootRoute, HeadContent, Outlet, Scripts } from '@tanstack/react-router';
7
2
  import * as React from 'react';
8
3
  import appCss from '@/styles/app.css?url';
9
4
  import { RootProvider } from 'fumadocs-ui/provider/tanstack';
@@ -3,12 +3,7 @@ import { DocsLayout } from 'fumadocs-ui/layouts/docs';
3
3
  import { createServerFn } from '@tanstack/react-start';
4
4
  import { source } from '@/lib/source';
5
5
  import browserCollections from 'fumadocs-mdx:collections/browser';
6
- import {
7
- DocsBody,
8
- DocsDescription,
9
- DocsPage,
10
- DocsTitle,
11
- } from 'fumadocs-ui/layouts/docs/page';
6
+ import { DocsBody, DocsDescription, DocsPage, DocsTitle } from 'fumadocs-ui/layouts/docs/page';
12
7
  import defaultMdxComponents from 'fumadocs-ui/mdx';
13
8
  import { baseOptions } from '@/lib/layout.shared';
14
9
  import { staticFunctionMiddleware } from '@tanstack/start-static-server-functions';
@@ -35,7 +30,7 @@ const loader = createServerFn({
35
30
 
36
31
  return {
37
32
  path: page.path,
38
- pageTree: await source.serializePageTree(source.pageTree),
33
+ pageTree: await source.serializePageTree(source.getPageTree()),
39
34
  };
40
35
  });
41
36
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "example-waku",
3
3
  "private": true,
4
- "sideEffects": false,
5
4
  "type": "module",
5
+ "sideEffects": false,
6
6
  "scripts": {
7
7
  "dev": "waku dev",
8
8
  "build": "waku build",
@@ -10,13 +10,15 @@
10
10
  "types:check": "fumadocs-mdx && tsc --noEmit"
11
11
  },
12
12
  "dependencies": {
13
+ "@fumadocs/ui": "workspace:*",
13
14
  "fumadocs-core": "workspace:*",
14
15
  "fumadocs-mdx": "workspace:*",
15
16
  "fumadocs-ui": "workspace:*",
17
+ "lucide-react": "^0.562.0",
16
18
  "react": "^19.2.3",
17
19
  "react-dom": "^19.2.3",
18
20
  "react-server-dom-webpack": "^19.2.3",
19
- "waku": "^0.27.4"
21
+ "waku": "1.0.0-alpha.0"
20
22
  },
21
23
  "devDependencies": {
22
24
  "@tailwindcss/vite": "^4.1.18",
@@ -26,7 +28,7 @@
26
28
  "@types/react-dom": "^19.2.3",
27
29
  "tailwindcss": "^4.1.18",
28
30
  "typescript": "^5.9.3",
29
- "vite": "^7.2.7",
30
- "vite-tsconfig-paths": "^6.0.0"
31
+ "vite": "^7.3.0",
32
+ "vite-tsconfig-paths": "^6.0.3"
31
33
  }
32
34
  }
@@ -1,7 +1,9 @@
1
1
  import { loader } from 'fumadocs-core/source';
2
+ import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
2
3
  import { docs } from 'fumadocs-mdx:collections/server';
3
4
 
4
5
  export const source = loader({
5
6
  source: docs.toFumadocsSource(),
6
7
  baseUrl: '/docs',
8
+ plugins: [lucideIconsPlugin()],
7
9
  });