refactor(api)!: rename toFumadocsSource() -> toDocsSource() (brand-neutral)

Renames the public doc-collection method across runtime, types, examples
and create-app templates so the API carries no upstream brand. The
internal helper and all call sites move together; fumadocs-core package
imports are untouched. Pairs with the .docs default outDir change.

BREAKING CHANGE: docs.toFumadocsSource() is now docs.toDocsSource().

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
zooqueen
2026-06-17 22:12:29 -07:00
co-authored by Hanzo Dev
parent 10d739c8c5
commit e6732db13a
26 changed files with 36 additions and 32 deletions
+6 -2
View File
@@ -1,5 +1,9 @@
---
"fumadocs-mdx": patch
"fumadocs-mdx": minor
"@fumadocs/content": minor
---
Default `outDir` is now `.docs` (was `docs`), matching the `collections/*` → `./.docs/*` tsconfig alias used by every template and example. This makes a fresh fork resolve `import { docs } from 'collections/server'` out of the box with no `createMDX({ outDir })` override.
Two brand-neutral / zero-config fixes:
- **Default `outDir` is now `.docs`** (was `docs`), matching the `collections/*` → `./.docs/*` tsconfig alias used by every template and example. A fresh fork now resolves `import { docs } from 'collections/server'` out of the box with no `createMDX({ outDir })` override.
- **BREAKING: the doc-collection method `toFumadocsSource()` is renamed `toDocsSource()`** to keep the public API brand-neutral. Update `lib/source.ts`: `source: docs.toDocsSource()`.
+1 -1
View File
@@ -6,7 +6,7 @@ import { docsContentRoute, docsImageRoute, docsRoute } from './shared';
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
baseUrl: docsRoute,
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
plugins: [lucideIconsPlugin()],
});
+1 -1
View File
@@ -4,6 +4,6 @@ import { docs } from 'collections/server';
export const source = loader({
baseUrl: '/docs',
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
i18n,
});
+1 -1
View File
@@ -3,5 +3,5 @@ import { loader } from '@hanzo/docs-core/source';
export const source = loader({
baseUrl: '/docs',
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
});
+1 -1
View File
@@ -3,5 +3,5 @@ import { loader } from 'fumadocs-core/source';
export const source = loader({
baseUrl: '/',
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
});
+1 -1
View File
@@ -5,7 +5,7 @@ import { docsContentRoute, docsImageRoute, docsRoute } from './shared';
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
baseUrl: docsRoute,
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
plugins: [],
});
+1 -1
View File
@@ -6,7 +6,7 @@ import { docsContentRoute, docsImageRoute, docsRoute } from './shared';
// See https://fumadocs.dev/docs/headless/source-api for more info
export const source = loader({
baseUrl: docsRoute,
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
plugins: [lucideIconsPlugin()],
});
+1 -1
View File
@@ -3,5 +3,5 @@ import { loader } from '@hanzo/docs-core/source';
export const source = loader({
baseUrl: '/docs',
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
});
+1 -1
View File
@@ -5,7 +5,7 @@ import { openapi } from './openapi';
export const source = loader(
{
docs: docs.toFumadocsSource(),
docs: docs.toDocsSource(),
openapi: await openapi.staticSource({
groupBy: 'tag',
}),
+1 -1
View File
@@ -5,5 +5,5 @@ import { loader } from '@hanzo/docs-core/source';
export const source = loader({
// it assigns a URL to your pages
baseUrl: '/docs',
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
});
+1 -1
View File
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { i18n } from '@/lib/i18n';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
i18n,
});
+1 -1
View File
@@ -2,6 +2,6 @@ import { loader } from '@hanzo/docs-core/source';
import { docs } from 'collections/server';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
});
+1 -1
View File
@@ -2,6 +2,6 @@ import { loader } from '@hanzo/docs-core/source';
import { docs } from 'collections/server';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
});
+1 -1
View File
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { docsContentRoute, docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
});
+1 -1
View File
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { docsContentRoute, docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
});
+1 -1
View File
@@ -4,7 +4,7 @@ import { docs } from 'collections/server';
import { docsContentRoute, docsImageRoute, docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
plugins: [lucideIconsPlugin()],
});
@@ -4,7 +4,7 @@ import { docs } from 'collections/server';
import { i18n } from '@/lib/i18n';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
i18n,
icon(icon) {
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { lucideIconsPlugin } from '@hanzo/docs-core/source/lucide-icons';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
plugins: [lucideIconsPlugin()],
});
@@ -6,7 +6,7 @@ import { openapi } from './openapi';
export const source = loader(
{
docs: docs.toFumadocsSource(),
docs: docs.toDocsSource(),
openapi: await openapi.staticSource({
baseDir: 'openapi',
}),
@@ -4,7 +4,7 @@ import { docs } from 'collections/server';
import { docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
plugins: [lucideIconsPlugin()],
});
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { lucideIconsPlugin } from '@hanzo/docs-core/source/lucide-icons';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
plugins: [lucideIconsPlugin()],
});
+1 -1
View File
@@ -4,7 +4,7 @@ import { lucideIconsPlugin } from 'fumadocs-core/source/lucide-icons';
import { docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
plugins: [lucideIconsPlugin()],
});
+1 -1
View File
@@ -3,7 +3,7 @@ import { docs } from 'collections/server';
import { i18n } from '@/lib/i18n';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: '/docs',
i18n,
});
+1 -1
View File
@@ -4,7 +4,7 @@ import { docs } from 'collections/server';
import { docsContentRoute, docsImageRoute, docsRoute } from './shared';
export const source = loader({
source: docs.toFumadocsSource(),
source: docs.toDocsSource(),
baseUrl: docsRoute,
plugins: [lucideIconsPlugin()],
});
+3 -3
View File
@@ -9,7 +9,7 @@ type ToPageData<T> =
? Frontmatter & T
: never;
export function toFumadocsSource<
export function toDocsSource<
Mdx extends MDXStoreData<PageData> | MDXStoreLazyData<PageData, unknown> = MDXStoreData<
PageData,
unknown
@@ -49,8 +49,8 @@ export function docsStore<
Meta extends { data: MetaData } = { data: MetaData },
>(mdxStore: FileCollectionStore<Mdx>, metaStore: FileCollectionStore<Meta>) {
return {
toFumadocsSource() {
return toFumadocsSource(mdxStore, metaStore);
toDocsSource() {
return toDocsSource(mdxStore, metaStore);
},
};
}
+4 -4
View File
@@ -208,8 +208,8 @@ export function server<Config, TC extends InternalTypeConfig>(options: ServerOpt
const entry = {
docs: await this.doc(name, base, docGlob),
meta: await this.meta(name, base, metaGlob),
toFumadocsSource(options) {
return toFumadocsSource(this.docs, this.meta, options);
toDocsSource(options) {
return toDocsSource(this.docs, this.meta, options);
},
} satisfies DocsCollectionEntry;
@@ -246,8 +246,8 @@ export function server<Config, TC extends InternalTypeConfig>(options: ServerOpt
const entry = {
docs: await this.docLazy(name, base, docHeadGlob, docBodyGlob),
meta: await this.meta(name, base, metaGlob),
toFumadocsSource(options) {
return toFumadocsSource(this.docs, this.meta, options);
toDocsSource(options) {
return toDocsSource(this.docs, this.meta, options);
},
} satisfies AsyncDocsCollectionEntry;