39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import { createMDX } from 'fumadocs-mdx/next';
|
|
import path from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
const withMDX = createMDX();
|
|
|
|
const config = {
|
|
reactStrictMode: true,
|
|
};
|
|
|
|
const nextConfig = withMDX(config);
|
|
|
|
const mdxLoaderPath = path.resolve(__dirname, 'loaders/fumadocs-mdx-loader.cjs');
|
|
const metaLoaderPath = path.resolve(__dirname, 'loaders/fumadocs-meta-loader.cjs');
|
|
|
|
if (nextConfig.turbopack?.rules) {
|
|
for (const rule of Object.values(nextConfig.turbopack.rules)) {
|
|
if (rule.loaders) {
|
|
for (const l of rule.loaders) {
|
|
if (l.loader === 'fumadocs-mdx/webpack/mdx') l.loader = mdxLoaderPath;
|
|
if (l.loader === 'fumadocs-mdx/webpack/meta') l.loader = metaLoaderPath;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const origWebpack = nextConfig.webpack;
|
|
nextConfig.webpack = (config, options) => {
|
|
config.resolveLoader ??= {};
|
|
config.resolveLoader.alias ??= {};
|
|
config.resolveLoader.alias['fumadocs-mdx/webpack/mdx'] = mdxLoaderPath;
|
|
config.resolveLoader.alias['fumadocs-mdx/webpack/meta'] = metaLoaderPath;
|
|
return origWebpack?.(config, options) ?? config;
|
|
};
|
|
|
|
export default nextConfig;
|