mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-26 23:49:51 +00:00
MDX: only provide CJS fallback for Next.js
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'fumadocs-mdx': patch
|
||||
---
|
||||
|
||||
Use `remarkStructure().exportAs` option to export `structuredData`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'fumadocs-mdx': patch
|
||||
---
|
||||
|
||||
only provide CJS fallback for Next.js
|
||||
@@ -45,13 +45,9 @@ export interface LoaderOptions<
|
||||
/**
|
||||
* Additional options for page tree builder
|
||||
*/
|
||||
pageTree?: PageTreeOptions<S['pageData'], S['metaData']>;
|
||||
pageTree?: PageTreeOptions<S>;
|
||||
|
||||
plugins?: (
|
||||
| LoaderPlugin<S['pageData'], S['metaData']>
|
||||
| LoaderPlugin<S['pageData'], S['metaData']>[]
|
||||
| undefined
|
||||
)[];
|
||||
plugins?: (LoaderPlugin<S> | LoaderPlugin<S>[] | undefined)[];
|
||||
|
||||
icon?: IconResolver;
|
||||
slugs?: (info: { path: string }) => string[];
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type * as PageTree from '@/page-tree/definitions';
|
||||
import type { MetaData, PageData, UrlFn } from '@/source';
|
||||
import type { MetaData, PageData, SourceConfig, UrlFn } from '@/source';
|
||||
import type { ContentStorage } from '@/source/storage/content';
|
||||
import { basename, extname, joinPath } from '@/source/path';
|
||||
import { transformerFallback } from '@/source/page-tree/transformer-fallback';
|
||||
@@ -47,10 +47,7 @@ export interface PageTreeTransformer<
|
||||
) => PageTree.Root;
|
||||
}
|
||||
|
||||
export interface PageTreeOptions<
|
||||
Page extends PageData = PageData,
|
||||
Meta extends MetaData = MetaData,
|
||||
> {
|
||||
export interface PageTreeOptions<Config extends SourceConfig = SourceConfig> {
|
||||
id?: string;
|
||||
/**
|
||||
* Remove references to the file path of original nodes (`$ref`)
|
||||
@@ -68,7 +65,7 @@ export interface PageTreeOptions<
|
||||
/**
|
||||
* Additional page tree transformers to apply
|
||||
*/
|
||||
transformers?: PageTreeTransformer<Page, Meta>[];
|
||||
transformers?: PageTreeTransformer<Config['pageData'], Config['metaData']>[];
|
||||
}
|
||||
|
||||
export interface PageTreeBuilder {
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
import type { ContentStorage } from '@/source/storage/content';
|
||||
import type { PageTreeTransformer } from '@/source/page-tree/builder';
|
||||
import type { MetaData, PageData } from '@/source/types';
|
||||
import type { ResolvedLoaderConfig } from '@/source/loader';
|
||||
import type { ResolvedLoaderConfig, SourceConfig } from '@/source/loader';
|
||||
|
||||
export interface LoaderPlugin<
|
||||
Page extends PageData = PageData,
|
||||
Meta extends MetaData = MetaData,
|
||||
> {
|
||||
export interface LoaderPlugin<Config extends SourceConfig = SourceConfig> {
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
@@ -26,12 +22,17 @@ export interface LoaderPlugin<
|
||||
/**
|
||||
* transform the storage after loading
|
||||
*/
|
||||
transformStorage?: (context: { storage: ContentStorage<Page, Meta> }) => void;
|
||||
transformStorage?: (context: {
|
||||
storage: ContentStorage<Config['pageData'], Config['metaData']>;
|
||||
}) => void;
|
||||
|
||||
/**
|
||||
* transform the generated page tree
|
||||
*/
|
||||
transformPageTree?: PageTreeTransformer<Page, Meta>;
|
||||
transformPageTree?: PageTreeTransformer<
|
||||
Config['pageData'],
|
||||
Config['metaData']
|
||||
>;
|
||||
}
|
||||
|
||||
const priorityMap = {
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
"./loader-meta": "./loader-meta.cjs",
|
||||
"./config": {
|
||||
"import": "./dist/config/index.js",
|
||||
"types": "./dist/config/index.d.ts",
|
||||
"require": "./dist/config/index.cjs"
|
||||
"types": "./dist/config/index.d.ts"
|
||||
},
|
||||
"./next": {
|
||||
"import": "./dist/next/index.js",
|
||||
@@ -26,8 +25,7 @@
|
||||
},
|
||||
"./vite": {
|
||||
"import": "./dist/vite/index.js",
|
||||
"types": "./dist/vite/index.d.ts",
|
||||
"require": "./dist/vite/index.cjs"
|
||||
"types": "./dist/vite/index.d.ts"
|
||||
},
|
||||
".": {
|
||||
"import": "./dist/index.js",
|
||||
|
||||
+27
-14
@@ -1,16 +1,29 @@
|
||||
import { defineConfig } from 'tsup';
|
||||
|
||||
export default defineConfig({
|
||||
entry: [
|
||||
'./src/{index,bin}.ts',
|
||||
'./src/{config,next,vite,bun}/index.ts',
|
||||
'./src/webpack/{mdx,meta}.ts',
|
||||
'./src/node/loader.ts',
|
||||
'./src/runtime/*.ts',
|
||||
'./src/plugins/*.ts',
|
||||
],
|
||||
format: ['esm', 'cjs'],
|
||||
external: ['next', 'typescript', 'bun'],
|
||||
dts: true,
|
||||
target: 'node18',
|
||||
});
|
||||
export default defineConfig([
|
||||
{
|
||||
entry: [
|
||||
'./src/{index,bin}.ts',
|
||||
'./src/{config,next,vite,bun}/index.ts',
|
||||
'./src/webpack/{mdx,meta}.ts',
|
||||
'./src/node/loader.ts',
|
||||
'./src/runtime/*.ts',
|
||||
'./src/plugins/*.ts',
|
||||
],
|
||||
format: 'esm',
|
||||
external: ['next', 'typescript', 'bun'],
|
||||
dts: true,
|
||||
target: 'node22',
|
||||
},
|
||||
{
|
||||
entry: {
|
||||
// ensure Next.js CJS config compatibility
|
||||
// because next.config.ts by default uses CJS
|
||||
'./next/index': './src/next/index.ts',
|
||||
},
|
||||
format: 'cjs',
|
||||
external: ['next', 'typescript', 'bun'],
|
||||
dts: false,
|
||||
target: 'node22',
|
||||
},
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user