fix(docs): normalize phantom workspace package names — monorepo installs again

The fumadocs-fork rebrand left ~13 apps + examples referencing packages under
names that don't exist in the workspace (in BOTH directions: some kept
fumadocs-*, some became @hanzo/docs-*). pnpm install failed outright. Mapped
every reference (deps + imports, 607 source + 61 package.json) to the package
that actually exists, by suffix:
  @hanzo/docs-{core,mdx,ui,base-ui} → fumadocs-{core,mdx,ui} / @fumadocs/base-ui
  @fumadocs/{story,cli,mdx-remote,tailwind} → @hanzo/docs-{story,cli,...}
  fumadocs-{docgen,epub,twoslash,typescript} → @hanzo/docs-{...}
  drop phantom eslint-config-custom
Guarded @hanzo/docs-mdx vs -mdx-remote. Also fixes a pre-existing cli bug
(createConfigSchema referenced undefined isSrc) that blocked the package build.

Verified: pnpm install resolves clean (46.8s, was broken); package dist
regenerates phantom-free from the corrected source (hanzo-docs 430→0). Full
app build-green is blocked only by a node v26 toolchain bug in fumadocs-mdx's
config loader (repo targets node >=24.14; CI node builds it).
This commit is contained in:
2026-06-24 15:17:27 -07:00
parent 28851ad371
commit 18f2af9041
671 changed files with 6689 additions and 1651 deletions
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -16,16 +16,16 @@ import { frontmatter as __fd_glob_3 } from "../content/docs/index.mdx?collection
import { default as __fd_glob_2 } from "../content/docs/sdk/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/getting-started/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+5 -5
View File
@@ -5,9 +5,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -19,9 +19,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]
+6 -6
View File
@@ -1,10 +1,10 @@
import type { MDXComponents } from 'mdx/types';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
+6 -7
View File
@@ -6,18 +6,18 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3006",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@hanzo/mdx-runtime": "workspace:*",
"@hanzo/docs": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"@radix-ui/react-tooltip": "^1.2.8",
"@shikijs/rehype": "^3.21.0",
"@shikijs/transformers": "^3.21.0",
@@ -41,7 +41,6 @@
"@types/react": "^19.2.13",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
"tailwindcss-animate": "^1.0.7",
@@ -51,4 +50,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+5 -5
View File
@@ -4,9 +4,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -19,10 +19,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
+1 -1
View File
@@ -1,5 +1,5 @@
import type { ReactNode } from 'react';
import { HomeLayout } from '@hanzo/docs-base-ui/layouts/home';
import { HomeLayout } from '@fumadocs/base-ui/layouts/home';
import { baseOptions } from '@/lib/layout.shared';
import { linkItems } from '@/lib/layout.shared';
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+6 -6
View File
@@ -1,10 +1,10 @@
import type { MDXComponents } from 'mdx/types';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
+6 -7
View File
@@ -6,18 +6,18 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3005 --webpack",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@hanzo/mdx-runtime": "workspace:*",
"@hanzo/docs": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"@radix-ui/react-tooltip": "^1.2.8",
"@shikijs/rehype": "^3.21.0",
"@shikijs/transformers": "^3.21.0",
@@ -41,7 +41,6 @@
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
"tailwindcss-animate": "^1.0.7",
@@ -51,4 +50,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+5 -5
View File
@@ -4,9 +4,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -19,10 +19,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
+1 -1
View File
@@ -4,7 +4,7 @@ import { baseOptions, linkItems, logo, GithubIcon } from '@/lib/layout.shared';
import { AISearchPanel, AISearchTrigger } from '@/components/ai/search';
import { MessageCircleIcon } from 'lucide-react';
import { cn } from '@/lib/cn';
import { buttonVariants } from '@hanzo/docs-base-ui/components/ui/button';
import { buttonVariants } from '@fumadocs/base-ui/components/ui/button';
export default function Layout({ children }: { children: ReactNode }) {
return (
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+2 -2
View File
@@ -13,8 +13,8 @@ import {
} from 'react';
import { Loader2, MessageCircleIcon, RefreshCw, Send, X } from 'lucide-react';
import { cn } from '@/lib/cn';
import { buttonVariants } from '@hanzo/docs-base-ui/components/ui/button';
import Link from '@hanzo/docs-core/link';
import { buttonVariants } from '@fumadocs/base-ui/components/ui/button';
import Link from 'fumadocs-core/link';
import { useChat, type UseChatHelpers } from '@ai-sdk/react';
import type { ProvideLinksToolSchema } from '@/lib/chat/inkeep-qa-schema';
import type { z } from 'zod';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -280,16 +280,16 @@ import { default as __fd_glob_3 } from "../content/docs/concepts/meta.json?colle
import { default as __fd_glob_2 } from "../content/docs/channels/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/automation/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+6 -6
View File
@@ -5,10 +5,10 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import jsonSchema from "@hanzo/docs-mdx/plugins/json-schema";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import jsonSchema from "fumadocs-mdx/plugins/json-schema";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -20,9 +20,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]
+7 -7
View File
@@ -1,12 +1,12 @@
import type { MDXComponents } from 'mdx/types';
import type { FC, ReactNode } from 'react';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
// Mintlify compatibility wrappers
const CardGroup: FC<{ cols?: number; children?: ReactNode }> = ({ children }) => (
+6 -7
View File
@@ -6,18 +6,18 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3005 --webpack",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@ai-sdk/react": "^3.0.79",
"@hanzo/docs": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@hanzo/logo": "^1.0.5",
"@hanzo/mdx-runtime": "workspace:*",
"@radix-ui/react-presence": "^1.1.5",
@@ -50,7 +50,6 @@
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
"tailwindcss-animate": "^1.0.7",
@@ -60,4 +59,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+1 -1
View File
@@ -5,7 +5,7 @@ console.log('Running pre-build...');
try {
// Use node directly instead of npx — pnpm workspace links exist but bin
// symlinks may not be created if packages weren't built before pnpm install
execSync('node ./node_modules/@hanzo/docs-mdx/dist/bin.js', { stdio: 'inherit' });
execSync('node ./node_modules/fumadocs-mdx/dist/bin.js', { stdio: 'inherit' });
console.log('Pre-build complete');
} catch (error) {
console.error('Pre-build failed:', error);
+6 -6
View File
@@ -4,10 +4,10 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import jsonSchema from '@hanzo/docs-mdx/plugins/json-schema';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import jsonSchema from 'fumadocs-mdx/plugins/json-schema';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -20,10 +20,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
+1 -1
View File
@@ -25,4 +25,4 @@
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3"
}
}
}
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -38,16 +38,16 @@ import { default as __fd_glob_3 } from "../content/docs/contributing/meta.json?c
import { default as __fd_glob_2 } from "../content/docs/configuration/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/architecture/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+5 -5
View File
@@ -5,9 +5,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -19,9 +19,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]
+6 -6
View File
@@ -1,10 +1,10 @@
import type { MDXComponents } from 'mdx/types';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
+6 -7
View File
@@ -6,18 +6,18 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3003 --webpack",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@hanzo/mdx-runtime": "workspace:*",
"@hanzo/docs": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"@radix-ui/react-tooltip": "^1.2.8",
"@shikijs/rehype": "^3.21.0",
"@shikijs/transformers": "^3.21.0",
@@ -41,7 +41,6 @@
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
"tailwindcss-animate": "^1.0.7",
@@ -51,4 +50,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+5 -5
View File
@@ -4,9 +4,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -19,10 +19,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -7,16 +7,16 @@ import { frontmatter as __fd_glob_3 } from "../content/docs/cloudflare.mdx?colle
import { frontmatter as __fd_glob_2 } from "../content/docs/architecture.mdx?collection=docs&only=frontmatter"
import { frontmatter as __fd_glob_1 } from "../content/docs/api-reference.mdx?collection=docs&only=frontmatter"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+5 -5
View File
@@ -5,9 +5,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -19,9 +19,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]
+6 -6
View File
@@ -1,10 +1,10 @@
import type { MDXComponents } from 'mdx/types';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
return {
+6 -7
View File
@@ -6,18 +6,18 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3006 --webpack",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@hanzo/mdx-runtime": "workspace:*",
"@hanzo/docs": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"@radix-ui/react-tooltip": "^1.2.8",
"@shikijs/rehype": "^3.21.0",
"@shikijs/transformers": "^3.21.0",
@@ -41,7 +41,6 @@
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.18",
"tailwindcss-animate": "^1.0.7",
@@ -51,4 +50,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+5 -5
View File
@@ -4,9 +4,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -19,10 +19,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
+1 -1
View File
@@ -1,7 +1,7 @@
import type { Metadata } from 'next';
import { notFound } from 'next/navigation';
import Link from 'next/link';
import type { TOCItemType } from '@hanzo/docs-core/toc';
import type { TOCItemType } from 'fumadocs-core/toc';
import { InlineTOC } from '@hanzo/docs/ui/components/inline-toc';
import { blog } from '@/lib/source';
import { createMetadata } from '@/lib/metadata';
+1 -1
View File
@@ -1,4 +1,4 @@
import { HomeLayout } from '@hanzo/docs-base-ui/layouts/home';
import { HomeLayout } from '@fumadocs/base-ui/layouts/home';
import { baseOptions, linkItems } from '@/components/layouts/shared';
import { TryHanzoDropdown } from '@/components/try-hanzo-dropdown';
import { Footer } from '@/components/footer';
+1 -1
View File
@@ -12,7 +12,7 @@ import ArkType from '@/public/showcases/arktype.png';
import AssistantUI from '@/public/showcases/assistant-ui.png';
import VisionUI from '@/public/showcases/vision-ui.png';
import Design from './design.png';
import Link from '@hanzo/docs-core/link';
import Link from 'fumadocs-core/link';
import MixSpace from '@/public/showcases/mix-space.png';
import TurboStarter from '@/public/showcases/turbostarter.png';
import HexaasBlog from '@/public/showcases/hexaas-blog.png';
+8 -8
View File
@@ -1,8 +1,8 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import * as Twoslash from '@hanzo/docs-twoslash/ui';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import * as Preview from '@/components/preview';
import { createMetadata, getPageImage } from '@/lib/metadata';
import { source } from '@/lib/source';
@@ -11,11 +11,11 @@ import { Mermaid } from '@/components/mdx/mermaid';
import { PageFeedback, PageFeedbackBlock } from '@/components/feedback';
import { owner, repo } from '@/lib/github';
import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import { getMDXComponents } from '@/components/mdx';
import { Banner } from '@hanzo/docs-base-ui/components/banner';
import { Banner } from '@fumadocs/base-ui/components/banner';
import { Installation } from '@/components/preview/installation';
import { Customization } from '@/components/preview/customization';
import {
@@ -24,11 +24,11 @@ import {
PageLastUpdate,
MarkdownCopyButton,
ViewOptionsPopover,
} from '@hanzo/docs-base-ui/layouts/docs/page';
} from '@fumadocs/base-ui/layouts/docs/page';
import { NotFound } from '@/components/layouts/not-found';
import { MdxErrorBoundary } from '@/components/mdx-error-boundary';
import { getSuggestions } from './suggestions';
import { PathUtils } from '@hanzo/docs-core/source';
import { PathUtils } from 'fumadocs-core/source';
function PreviewRenderer({ preview }: { preview: string }): ReactNode {
if (preview && preview in Preview) {
+2 -2
View File
@@ -1,11 +1,11 @@
import { DocsLayout } from '@hanzo/docs-base-ui/layouts/docs';
import { DocsLayout } from '@fumadocs/base-ui/layouts/docs';
import { baseOptions, linkItems, logo } from '@/components/layouts/shared';
import { source } from '@/lib/source';
import { getSection } from '@/lib/source/navigation';
import { AISearch, AISearchPanel, AISearchTrigger } from '@/components/ai/search';
import { MessageCircleIcon } from 'lucide-react';
import { cn } from '@/lib/cn';
import { buttonVariants } from '@hanzo/docs-base-ui/components/ui/button';
import { buttonVariants } from '@fumadocs/base-ui/components/ui/button';
import { ProjectSwitcher } from '@/components/projects/project-switcher';
import { AuthButtons } from '@/components/auth-buttons';
import { TryHanzoDropdown } from '@/components/try-hanzo-dropdown';
+1 -1
View File
@@ -1,5 +1,5 @@
import { source } from '@/lib/source';
import { llms } from '@hanzo/docs-core/source';
import { llms } from 'fumadocs-core/source';
export const revalidate = false;
+1 -1
View File
@@ -1,6 +1,6 @@
import { openapi, hasSpecs } from '@/lib/openapi';
import { defaultShikiOptions } from '@/lib/shiki';
import { createAPIPage } from '@hanzo/docs-openapi/ui';
import { createAPIPage } from 'fumadocs-openapi/ui';
export const APIPage = hasSpecs
? createAPIPage(openapi, {
+2 -2
View File
@@ -1,6 +1,6 @@
import * as Base from '@hanzo/docs-base-ui/components/codeblock';
import * as Base from '@fumadocs/base-ui/components/codeblock';
import { cn } from '@/lib/cn';
import { highlight } from '@hanzo/docs-core/highlight';
import { highlight } from 'fumadocs-core/highlight';
import { shikiConfig } from '@/lib/shiki';
export interface CodeBlockProps {
+4 -4
View File
@@ -1,6 +1,6 @@
'use client';
import { cn } from '@/lib/cn';
import { buttonVariants } from '@hanzo/docs-base-ui/components/ui/button';
import { buttonVariants } from '@fumadocs/base-ui/components/ui/button';
import { CornerDownRightIcon, MessageSquare, ThumbsDown, ThumbsUp } from 'lucide-react';
import {
type HTMLAttributes,
@@ -12,11 +12,11 @@ import {
useState,
useTransition,
} from 'react';
import { Collapsible, CollapsibleContent } from '@hanzo/docs-base-ui/components/ui/collapsible';
import { Collapsible, CollapsibleContent } from '@fumadocs/base-ui/components/ui/collapsible';
import { cva } from 'class-variance-authority';
import { usePathname } from 'next/navigation';
import { Popover, PopoverContent, PopoverTrigger } from '@hanzo/docs-base-ui/components/ui/popover';
import type { FeedbackBlockProps } from '@hanzo/docs-core/mdx-plugins/remark-feedback-block';
import { Popover, PopoverContent, PopoverTrigger } from '@fumadocs/base-ui/components/ui/popover';
import type { FeedbackBlockProps } from 'fumadocs-core/mdx-plugins/remark-feedback-block';
import {
actionResponse,
blockFeedback,
+1 -1
View File
@@ -1,7 +1,7 @@
'use client';
import type { ReactNode } from 'react';
import type { FeedbackBlockProps } from '@hanzo/docs-core/mdx-plugins/remark-feedback-block';
import type { FeedbackBlockProps } from 'fumadocs-core/mdx-plugins/remark-feedback-block';
import { Feedback as FeedbackInner, FeedbackBlock as FeedbackBlockInner } from './client';
import type { ActionResponse, BlockFeedback, PageFeedback } from './schema';
+3 -3
View File
@@ -5,7 +5,7 @@ import {
NavigationPanel,
NavigationPanelOverlay,
NavigationPanelProps,
} from '@hanzo/docs-base-ui/layouts/flux';
} from '@fumadocs/base-ui/layouts/flux';
import {
AISearch,
AISearchInput,
@@ -16,10 +16,10 @@ import {
useHotKey,
} from '@/components/ai/search';
import { MessageCircleIcon } from 'lucide-react';
import { buttonVariants } from '@hanzo/docs-base-ui/components/ui/button';
import { buttonVariants } from '@fumadocs/base-ui/components/ui/button';
import { cn } from '@/lib/cn';
import { AnimatePresence, motion } from 'motion/react';
import { useSidebar } from '@hanzo/docs-base-ui/components/sidebar/base';
import { useSidebar } from '@fumadocs/base-ui/components/sidebar/base';
import { useEffect, useState } from 'react';
export function LayoutClient(props: DocsLayoutProps) {
+2 -2
View File
@@ -1,10 +1,10 @@
import { baseOptions, linkItems, logo } from '@/components/layouts/shared';
import { source } from '@/lib/source';
import { getSection } from '@/lib/source/navigation';
import { getSidebarTabs } from '@hanzo/docs-base-ui/components/sidebar/tabs/index';
import { getSidebarTabs } from '@fumadocs/base-ui/components/sidebar/tabs/index';
import type { ReactNode } from 'react';
import { LayoutClient } from './client';
import { getLayoutTabs } from '@hanzo/docs-ui/layouts/shared';
import { getLayoutTabs } from 'fumadocs-ui/layouts/shared';
export function FluxLayout({ children }: { children: ReactNode }) {
const base = baseOptions();
+1 -1
View File
@@ -15,7 +15,7 @@ import {
} from '@hanzo/docs/ui/components/dialog/search';
import { useDocsSearch } from '@hanzo/docs/core/search/client';
import { useMemo, useState } from 'react';
import { Popover, PopoverContent, PopoverTrigger } from '@hanzo/docs-base-ui/components/ui/popover';
import { Popover, PopoverContent, PopoverTrigger } from '@fumadocs/base-ui/components/ui/popover';
import { ArrowRight, ChevronDown } from 'lucide-react';
import { buttonVariants } from '@hanzo/docs/ui/components/ui/button';
import { cn } from '@/lib/cn';
+5 -5
View File
@@ -1,9 +1,9 @@
import defaultMdxComponents from '@hanzo/docs-ui/mdx';
import { Files, File, Folder } from '@hanzo/docs-ui/components/files';
import { Tabs, Tab, TabsContent, TabsList, TabsTrigger } from '@hanzo/docs-ui/components/tabs';
import { Steps, Step } from '@hanzo/docs-ui/components/steps';
import defaultMdxComponents from 'fumadocs-ui/mdx';
import { Files, File, Folder } from 'fumadocs-ui/components/files';
import { Tabs, Tab, TabsContent, TabsList, TabsTrigger } from 'fumadocs-ui/components/tabs';
import { Steps, Step } from 'fumadocs-ui/components/steps';
import type { MDXComponents } from 'mdx/types';
import { Accordion, Accordions } from '@hanzo/docs-ui/components/accordion';
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import * as icons from 'lucide-react';
export function getMDXComponents(components?: MDXComponents): MDXComponents {
@@ -1,4 +1,4 @@
import { ServerCodeBlock } from '@hanzo/docs-ui/components/codeblock.rsc';
import { ServerCodeBlock } from 'fumadocs-ui/components/codeblock.rsc';
export function Customization() {
return (
@@ -1,5 +1,5 @@
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@hanzo/docs-base-ui/components/ui/tabs';
import { ServerCodeBlock } from '@hanzo/docs-ui/components/codeblock.rsc';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@fumadocs/base-ui/components/ui/tabs';
import { ServerCodeBlock } from 'fumadocs-ui/components/codeblock.rsc';
export function Installation({ name }: { name: string }) {
const tabs = [{ name: 'Hanzo Docs CLI', value: 'hanzo-docs-cli' }];
+6 -6
View File
@@ -3,20 +3,20 @@ import dynamic from 'next/dynamic';
export const DynamicCodeBlock = dynamic(() => import('./dynamic-codeblock'));
export const Banner = dynamic(() =>
import('@hanzo/docs-base-ui/components/banner').then((res) => res.Banner),
import('@fumadocs/base-ui/components/banner').then((res) => res.Banner),
);
export const InlineTOC = dynamic(() =>
import('@hanzo/docs-base-ui/components/inline-toc').then((res) => res.InlineTOC),
import('@fumadocs/base-ui/components/inline-toc').then((res) => res.InlineTOC),
);
export const File = dynamic(() => import('@hanzo/docs-base-ui/components/files').then((res) => res.File));
export const Files = dynamic(() => import('@hanzo/docs-base-ui/components/files').then((res) => res.Files));
export const File = dynamic(() => import('@fumadocs/base-ui/components/files').then((res) => res.File));
export const Files = dynamic(() => import('@fumadocs/base-ui/components/files').then((res) => res.Files));
export const Folder = dynamic(() =>
import('@hanzo/docs-base-ui/components/files').then((res) => res.Folder),
import('@fumadocs/base-ui/components/files').then((res) => res.Folder),
);
export const ImageZoom = dynamic(() =>
import('@hanzo/docs-base-ui/components/image-zoom').then((res) => res.ImageZoom),
import('@fumadocs/base-ui/components/image-zoom').then((res) => res.ImageZoom),
);
export const GraphView = dynamic(() =>
+3 -3
View File
@@ -55,7 +55,7 @@ export const registry: Registry = {
}
}
if (ref.type === 'dependency' && ref.dep === '@hanzo/docs-ui') {
if (ref.type === 'dependency' && ref.dep === 'fumadocs-ui') {
const match = /@hanzo\/docs-ui\/components\/ui\/(.*)/.exec(ref.specifier);
if (match) {
return {
@@ -220,8 +220,8 @@ export const registry: Registry = {
},
],
dependencies: {
'@hanzo/docs-core': null,
'@hanzo/docs-ui': null,
'fumadocs-core': null,
'fumadocs-ui': null,
'lucide-react': null,
next: null,
react: null,
@@ -1,12 +1,12 @@
'use client';
import type * as PageTree from '@hanzo/docs-core/page-tree';
import type * as PageTree from 'fumadocs-core/page-tree';
import { type ComponentProps, createContext, type ReactNode, use, useMemo, useState } from 'react';
import { cn } from '@/lib/cn';
import { TreeContextProvider, useTreeContext } from '@hanzo/docs-base-ui/contexts/tree';
import Link from '@hanzo/docs-core/link';
import { useSearchContext } from '@hanzo/docs-base-ui/contexts/search';
import { TreeContextProvider, useTreeContext } from '@fumadocs/base-ui/contexts/tree';
import Link from 'fumadocs-core/link';
import { useSearchContext } from '@fumadocs/base-ui/contexts/search';
import { cva } from 'class-variance-authority';
import { usePathname } from '@hanzo/docs-core/framework';
import { usePathname } from 'fumadocs-core/framework';
interface SidebarContext {
open: boolean;
@@ -1,10 +1,10 @@
'use client';
import { type ComponentProps, type ReactNode, useMemo } from 'react';
import { AnchorProvider, type TOCItemType, useActiveAnchors } from '@hanzo/docs-core/toc';
import { AnchorProvider, type TOCItemType, useActiveAnchors } from 'fumadocs-core/toc';
import { cn } from '@/lib/cn';
import { useTreeContext } from '@hanzo/docs-base-ui/contexts/tree';
import { Link, usePathname } from '@hanzo/docs-core/framework';
import type * as PageTree from '@hanzo/docs-core/page-tree';
import { useTreeContext } from '@fumadocs/base-ui/contexts/tree';
import { Link, usePathname } from 'fumadocs-core/framework';
import type * as PageTree from 'fumadocs-core/page-tree';
export interface DocsPageProps {
toc?: TOCItemType[];
@@ -9,10 +9,10 @@ import {
SearchDialogList,
SearchDialogOverlay,
type SharedProps,
} from '@hanzo/docs-ui/components/dialog/search';
import { useDocsSearch } from '@hanzo/docs-core/search/client';
import { flexsearchStaticClient } from '@hanzo/docs-core/search/client/flexsearch-static';
import { useI18n } from '@hanzo/docs-ui/contexts/i18n';
} from 'fumadocs-ui/components/dialog/search';
import { useDocsSearch } from 'fumadocs-core/search/client';
import { flexsearchStaticClient } from 'fumadocs-core/search/client/flexsearch-static';
import { useI18n } from 'fumadocs-ui/contexts/i18n';
export default function DefaultSearchDialog(props: SharedProps) {
const { locale } = useI18n(); // (optional) for i18n
@@ -11,9 +11,9 @@ import {
SearchDialogList,
SearchDialogOverlay,
type SharedProps,
} from '@hanzo/docs-ui/components/dialog/search';
import { useDocsSearch } from '@hanzo/docs-core/search/client';
import { useI18n } from '@hanzo/docs-ui/contexts/i18n';
} from 'fumadocs-ui/components/dialog/search';
import { useDocsSearch } from 'fumadocs-core/search/client';
import { useI18n } from 'fumadocs-ui/contexts/i18n';
export default function CustomSearchDialog(props: SharedProps) {
const { locale } = useI18n(); // (optional) for i18n
@@ -1,7 +1,7 @@
'use client';
import { useEffect, useState } from 'react';
import { Tab, Tabs } from '@hanzo/docs-ui/components/tabs';
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
import { cn } from '@/lib/cn';
import { buttonVariants } from '@/components/ui/button';
+9 -9
View File
@@ -1,13 +1,13 @@
import type { Accordion, Accordions } from '@hanzo/docs-ui/components/accordion';
import type { Callout } from '@hanzo/docs-ui/components/callout';
import type { File, Folder } from '@hanzo/docs-ui/components/files';
import type { InlineTOC } from '@hanzo/docs-ui/components/inline-toc';
import type { TypeTable } from '@hanzo/docs-ui/components/type-table';
import type { Card } from '@hanzo/docs-ui/components/card';
import type { DocsLayoutProps } from '@hanzo/docs-ui/layouts/docs';
import type { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
import type { Callout } from 'fumadocs-ui/components/callout';
import type { File, Folder } from 'fumadocs-ui/components/files';
import type { InlineTOC } from 'fumadocs-ui/components/inline-toc';
import type { TypeTable } from 'fumadocs-ui/components/type-table';
import type { Card } from 'fumadocs-ui/components/card';
import type { DocsLayoutProps } from 'fumadocs-ui/layouts/docs';
import type { ComponentProps, ComponentPropsWithoutRef } from 'react';
import type { AutoTypeTable } from '@hanzo/docs-typescript/ui';
import type { RootProviderProps } from '@hanzo/docs-ui/provider/base';
import type { RootProviderProps } from 'fumadocs-ui/provider/base';
export type AccordionsProps = Omit<
ComponentPropsWithoutRef<typeof Accordions>,
@@ -67,4 +67,4 @@ export type AutoTypeTableProps = Omit<
export type SearchProps = Required<RootProviderProps>['search'];
export type { BaseLayoutProps } from '@hanzo/docs-ui/layouts/shared';
export type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -7987,16 +7987,16 @@ import { frontmatter as __fd_glob_3 } from "../content/blog/hanzo-console.mdx?co
import { frontmatter as __fd_glob_2 } from "../content/blog/make-a-blog.mdx?collection=blog&only=frontmatter"
import { frontmatter as __fd_glob_1 } from "../content/blog/mdx-v14.mdx?collection=blog&only=frontmatter"
import { frontmatter as __fd_glob_0 } from "../content/blog/tokenized-treasuries.mdx?collection=blog&only=frontmatter"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+9 -9
View File
@@ -1,8 +1,8 @@
// source.config.ts
import { applyMdxPreset, defineCollections, defineConfig, defineDocs } from "@hanzo/docs-mdx/config";
import { applyMdxPreset, defineCollections, defineConfig, defineDocs } from "fumadocs-mdx/config";
import { z } from "zod";
import jsonSchema from "@hanzo/docs-mdx/plugins/json-schema";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import jsonSchema from "fumadocs-mdx/plugins/json-schema";
import lastModified from "fumadocs-mdx/plugins/last-modified";
// lib/shiki.ts
var defaultShikiOptions = {
@@ -14,7 +14,7 @@ var defaultShikiOptions = {
var shikiConfig = defaultShikiOptions;
// source.config.ts
import { metaSchema, pageSchema } from "@hanzo/docs-core/source/schema";
import { metaSchema, pageSchema } from "fumadocs-core/source/schema";
import { visit } from "unist-util-visit";
var isLint = process.env.LINT === "1";
var isExport = process.env.NEXT_EXPORT === "1";
@@ -49,9 +49,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { remarkFeedbackBlock } = await import("@hanzo/docs-core/mdx-plugins/remark-feedback-block");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
const { remarkFeedbackBlock } = await import("fumadocs-core/mdx-plugins/remark-feedback-block");
const { transformerTwoslash } = await import("@hanzo/docs-twoslash");
const { createFileSystemTypesCache } = await import("@hanzo/docs-twoslash/cache-fs");
const { default: remarkMath } = await import("remark-math");
@@ -144,8 +144,8 @@ var blog = defineCollections({
}),
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
rehypeCodeOptions: isLint ? false : {
inline: "tailing-curly-colon",
+1 -1
View File
@@ -1,3 +1,3 @@
import { defineStoryFactory } from '@fumadocs/story/next/client';
import { defineStoryFactory } from '@hanzo/docs-story/next/client';
export const { defineStory } = defineStoryFactory();
+7 -7
View File
@@ -16,7 +16,7 @@
"@ai-sdk/openai-compatible": "^2.0.48",
"@ai-sdk/react": "^3.0.193",
"@floating-ui/react-dom": "^2.1.8",
"@fumadocs/story": "workspace:*",
"@hanzo/docs-story": "workspace:*",
"@llmgateway/ai-sdk-provider": "^3.8.0",
"@mixedbread/sdk": "^0.72.0",
"@openrouter/ai-sdk-provider": "^2.9.0",
@@ -38,12 +38,12 @@
"flexsearch": "^0.8.212",
"fuma-cli": "^0.1.1",
"fumadocs-core": "workspace:*",
"fumadocs-docgen": "workspace:^",
"fumadocs-epub": "workspace:*",
"@hanzo/docs-docgen": "workspace:^",
"@hanzo/docs-epub": "workspace:*",
"fumadocs-mdx": "workspace:*",
"fumadocs-openapi": "workspace:^",
"fumadocs-twoslash": "workspace:^",
"fumadocs-typescript": "workspace:^",
"@hanzo/docs-twoslash": "workspace:^",
"@hanzo/docs-typescript": "workspace:^",
"fumadocs-ui": "workspace:*",
"hast-util-to-jsx-runtime": "^2.3.6",
"katex": "0.17.0",
@@ -71,7 +71,7 @@
"zod": "^4.4.3"
},
"devDependencies": {
"@fumadocs/cli": "workspace:*",
"@hanzo/docs-cli": "workspace:*",
"@next/bundle-analyzer": "16.2.6",
"@next/env": "16.2.6",
"@tailwindcss/postcss": "^4.3.0",
@@ -104,4 +104,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
import { type FileObject, printErrors, scanURLs, validateFiles } from 'next-validate-link';
import { InferPageType } from '@hanzo/docs-core/source';
import { InferPageType } from 'fumadocs-core/source';
import { blog, source } from '@/lib/source';
type AnySource = typeof blog | typeof source;
+1 -1
View File
@@ -1,4 +1,4 @@
import { type HanzoDocument, sync } from '@hanzo/docs-core/search/hanzo';
import { type HanzoDocument, sync } from 'fumadocs-core/search/hanzo';
import * as fs from 'node:fs/promises';
export async function updateSearchIndexes(): Promise<void> {
+9 -9
View File
@@ -1,12 +1,12 @@
import { applyMdxPreset, defineCollections, defineConfig, defineDocs } from '@hanzo/docs-mdx/config';
import { applyMdxPreset, defineCollections, defineConfig, defineDocs } from 'fumadocs-mdx/config';
import { z } from 'zod';
import type { ElementContent } from 'hast';
import jsonSchema from '@hanzo/docs-mdx/plugins/json-schema';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import jsonSchema from 'fumadocs-mdx/plugins/json-schema';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
import type { ShikiTransformer } from 'shiki';
import type { RemarkAutoTypeTableOptions } from '@hanzo/docs-typescript';
import { shikiConfig } from './lib/shiki';
import { metaSchema, pageSchema } from '@hanzo/docs-core/source/schema';
import { metaSchema, pageSchema } from 'fumadocs-core/source/schema';
import { visit } from 'unist-util-visit';
import type { Transformer } from 'unified';
import type { Root } from 'mdast';
@@ -52,10 +52,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
const { remarkFeedbackBlock } =
await import('@hanzo/docs-core/mdx-plugins/remark-feedback-block');
await import('fumadocs-core/mdx-plugins/remark-feedback-block');
const { transformerTwoslash } = await import('@hanzo/docs-twoslash');
const { createFileSystemTypesCache } = await import('@hanzo/docs-twoslash/cache-fs');
const { default: remarkMath } = await import('remark-math');
@@ -161,8 +161,8 @@ export const blog = defineCollections({
}),
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
rehypeCodeOptions: isLint
+1 -1
View File
@@ -25,4 +25,4 @@
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3"
}
}
}
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -102,16 +102,16 @@ import { default as __fd_glob_3 } from "../content/docs/intro/meta.json?collecti
import { default as __fd_glob_2 } from "../content/docs/guides/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/components/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+5 -5
View File
@@ -5,9 +5,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -19,9 +19,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]
+6 -6
View File
@@ -1,10 +1,10 @@
import type { MDXComponents } from 'mdx/types';
import defaultMdxComponents from '@hanzo/docs-base-ui/mdx';
import { Tab, Tabs as DocsTabs } from '@hanzo/docs-base-ui/components/tabs';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { Step, Steps } from '@hanzo/docs-base-ui/components/steps';
import { File, Folder, Files } from '@hanzo/docs-base-ui/components/files';
import { Accordion, Accordions } from '@hanzo/docs-base-ui/components/accordion';
import defaultMdxComponents from '@fumadocs/base-ui/mdx';
import { Tab, Tabs as DocsTabs } from '@fumadocs/base-ui/components/tabs';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { Step, Steps } from '@fumadocs/base-ui/components/steps';
import { File, Folder, Files } from '@fumadocs/base-ui/components/files';
import { Accordion, Accordions } from '@fumadocs/base-ui/components/accordion';
import type { ReactNode } from 'react';
function Notice({ children, theme }: { children: ReactNode; theme?: string }) {
+6 -7
View File
@@ -6,17 +6,17 @@
"build": "pnpm build:pre && next build --webpack && pnpm build:post",
"build:pre": "bun ./scripts/pre-build.ts",
"build:post": "bun ./scripts/post-build.ts",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit",
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit",
"clean": "rimraf .next",
"dev": "next dev --port 3007 --webpack",
"lint": "@hanzo/docs-mdx && eslint .",
"lint": "fumadocs-mdx && eslint .",
"start": "next start"
},
"dependencies": {
"@hanzo/docs": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"@hanzo/mdx-runtime": "workspace:*",
"@radix-ui/react-tooltip": "^1.2.8",
"@shikijs/rehype": "^3.21.0",
@@ -41,7 +41,6 @@
"@types/react": "^19.2.8",
"@types/react-dom": "^19.2.3",
"browserslist-config-baseline": "^0.5.0",
"eslint-config-custom": "workspace:*",
"postcss": "^8.5.6",
"rehype-raw": "^7.0.0",
"tailwindcss": "^4.1.18",
@@ -52,4 +51,4 @@
"browserslist": [
"extends browserslist-config-baseline/2024"
]
}
}
+5 -5
View File
@@ -4,9 +4,9 @@ import {
defineDocs,
frontmatterSchema,
metaSchema,
} from '@hanzo/docs-mdx/config';
} from 'fumadocs-mdx/config';
import { z } from 'zod';
import lastModified from '@hanzo/docs-mdx/plugins/last-modified';
import lastModified from 'fumadocs-mdx/plugins/last-modified';
export const docs = defineDocs({
docs: {
@@ -19,10 +19,10 @@ export const docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import('@hanzo/docs-core/mdx-plugins/rehype-code');
const { rehypeCodeDefaultOptions } = await import('fumadocs-core/mdx-plugins/rehype-code');
const { remarkStructureDefaultOptions } =
await import('@hanzo/docs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('@hanzo/docs-core/mdx-plugins/remark-steps');
await import('fumadocs-core/mdx-plugins/remark-structure');
const { remarkSteps } = await import('fumadocs-core/mdx-plugins/remark-steps');
return applyMdxPreset({
remarkStructureOptions: {
@@ -4,9 +4,9 @@ import {
DocsBody,
DocsDescription,
DocsTitle,
} from '@hanzo/docs-ui/page';
} from 'fumadocs-ui/page';
import { notFound } from 'next/navigation';
import defaultMdxComponents from '@hanzo/docs-ui/mdx';
import defaultMdxComponents from 'fumadocs-ui/mdx';
export default async function Page(props: {
params: Promise<{ slug?: string[] }>;
+1 -1
View File
@@ -1,4 +1,4 @@
import { DocsLayout } from '@hanzo/docs-ui/layouts/docs';
import { DocsLayout } from 'fumadocs-ui/layouts/docs';
import type { ReactNode } from 'react';
import { source } from '@/lib/source';
+1 -1
View File
@@ -1,7 +1,7 @@
import './global.css';
import type { Viewport } from 'next';
import { baseUrl, createMetadata } from '@/lib/metadata';
import { RootProvider } from '@hanzo/docs-base-ui/provider/next';
import { RootProvider } from '@fumadocs/base-ui/provider/next';
import type { ReactNode } from 'react';
export const metadata = createMetadata({
+2 -2
View File
@@ -1,8 +1,8 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
}
}>();
+2 -2
View File
@@ -1,8 +1,8 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
}
}>(Config, {"configPath":"source.config.ts","environment":"next","outDir":"docs"}, {"doc":{"passthroughs":["extractedReferences"]}});
+2 -2
View File
@@ -17,10 +17,10 @@ import { default as __fd_glob_3 } from "../content/docs/privacy/meta.json?collec
import { default as __fd_glob_2 } from "../content/docs/getting-started/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/api/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
}
}>({"doc":{"passthroughs":["extractedReferences"]}});
+1 -1
View File
@@ -1,5 +1,5 @@
// source.config.ts
import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from "@hanzo/docs-mdx/config";
import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from "fumadocs-mdx/config";
var docs = defineDocs({
dir: "content/docs",
docs: {
+2 -2
View File
@@ -1,6 +1,6 @@
import { docs } from '@/docs/server';
import { type InferPageType, loader } from '@hanzo/docs-core/source';
import { lucideIconsPlugin } from '@hanzo/docs-core/source/lucide-icons';
import { type InferPageType, loader } from 'fumadocs-core/source';
import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
export const source = loader({
baseUrl: '/docs',
+1 -1
View File
@@ -1,5 +1,5 @@
import type { MDXComponents } from 'mdx/types';
import defaultComponents from '@hanzo/docs-ui/mdx';
import defaultComponents from 'fumadocs-ui/mdx';
export function useMDXComponents(components: MDXComponents): MDXComponents {
return {
+1 -1
View File
@@ -1,4 +1,4 @@
import { createMDX } from '@hanzo/docs-mdx/next';
import { createMDX } from 'fumadocs-mdx/next';
const withMDX = createMDX();
+6 -6
View File
@@ -6,13 +6,13 @@
"build": "next build",
"dev": "next dev --port 3006",
"start": "next start",
"types:check": "@hanzo/docs-mdx && next typegen && tsc --noEmit"
"types:check": "fumadocs-mdx && next typegen && tsc --noEmit"
},
"dependencies": {
"@hanzo/docs-core": "workspace:*",
"@hanzo/docs-mdx": "workspace:*",
"@hanzo/docs-ui": "workspace:*",
"@hanzo/docs-base-ui": "workspace:*",
"fumadocs-core": "workspace:*",
"fumadocs-mdx": "workspace:*",
"fumadocs-ui": "workspace:*",
"@fumadocs/base-ui": "workspace:*",
"lucide-react": "^0.562.0",
"next": "16.1.6",
"react": "^19.2.3",
@@ -29,4 +29,4 @@
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3"
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from '@hanzo/docs-mdx/config';
import { defineConfig, defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
export const docs = defineDocs({
dir: 'content/docs',
+6 -6
View File
@@ -1,13 +1,13 @@
import type { Metadata } from 'next';
import { type ComponentProps, type FC, type ReactNode } from 'react';
import { Callout } from '@hanzo/docs-base-ui/components/callout';
import { TypeTable } from '@hanzo/docs-base-ui/components/type-table';
import { Callout } from '@fumadocs/base-ui/components/callout';
import { TypeTable } from '@fumadocs/base-ui/components/type-table';
import { createMetadata } from '@/lib/metadata';
import { source } from '@/lib/source';
import { Card, Cards } from '@hanzo/docs-base-ui/components/card';
import Link from '@hanzo/docs-core/link';
import { findSiblings } from '@hanzo/docs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@hanzo/docs-base-ui/layouts/docs/page';
import { Card, Cards } from '@fumadocs/base-ui/components/card';
import Link from 'fumadocs-core/link';
import { findSiblings } from 'fumadocs-core/page-tree';
import { DocsBody, DocsPage, PageLastUpdate } from '@fumadocs/base-ui/layouts/docs/page';
import { notFound } from 'next/navigation';
import { getMDXComponents } from '@/mdx-components';
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { browser } from '@hanzo/docs-mdx/runtime/browser';
import { browser } from 'fumadocs-mdx/runtime/browser';
import type * as Config from '../source.config';
const create = browser<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = browser<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -1,14 +1,14 @@
// @ts-nocheck
import { dynamic } from '@hanzo/docs-mdx/runtime/dynamic';
import { dynamic } from 'fumadocs-mdx/runtime/dynamic';
import * as Config from '../source.config';
const create = await dynamic<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = await dynamic<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+3 -3
View File
@@ -46,16 +46,16 @@ import { default as __fd_glob_3 } from "../content/docs/api/meta.json?collection
import { default as __fd_glob_2 } from "../content/docs/clusters/meta.json?collection=docs"
import { default as __fd_glob_1 } from "../content/docs/access-control/meta.json?collection=docs"
import { default as __fd_glob_0 } from "../content/docs/meta.json?collection=docs"
import { server } from '@hanzo/docs-mdx/runtime/server';
import { server } from 'fumadocs-mdx/runtime/server';
import type * as Config from '../source.config';
const create = server<typeof Config, import("@hanzo/docs-mdx/runtime/types").InternalTypeConfig & {
const create = server<typeof Config, import("fumadocs-mdx/runtime/types").InternalTypeConfig & {
DocData: {
docs: {
/**
* extracted references (e.g. hrefs, paths), useful for analyzing relationships between pages.
*/
extractedReferences: import("@hanzo/docs-mdx").ExtractedReference[];
extractedReferences: import("fumadocs-mdx").ExtractedReference[];
},
}
} & {
+6 -6
View File
@@ -5,10 +5,10 @@ import {
defineDocs,
frontmatterSchema,
metaSchema
} from "@hanzo/docs-mdx/config";
} from "fumadocs-mdx/config";
import { z } from "zod";
import jsonSchema from "@hanzo/docs-mdx/plugins/json-schema";
import lastModified from "@hanzo/docs-mdx/plugins/last-modified";
import jsonSchema from "fumadocs-mdx/plugins/json-schema";
import lastModified from "fumadocs-mdx/plugins/last-modified";
var docs = defineDocs({
docs: {
schema: frontmatterSchema.extend({
@@ -20,9 +20,9 @@ var docs = defineDocs({
},
async: true,
async mdxOptions(environment) {
const { rehypeCodeDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("@hanzo/docs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("@hanzo/docs-core/mdx-plugins/remark-steps");
const { rehypeCodeDefaultOptions } = await import("fumadocs-core/mdx-plugins/rehype-code");
const { remarkStructureDefaultOptions } = await import("fumadocs-core/mdx-plugins/remark-structure");
const { remarkSteps } = await import("fumadocs-core/mdx-plugins/remark-steps");
return applyMdxPreset({
remarkStructureOptions: {
types: [...remarkStructureDefaultOptions.types, "code"]

Some files were not shown because too many files have changed in this diff Show More