From 21f79fca42539cbd5724bc69f1e86bae6a2c66f7 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 3 Jul 2026 09:56:32 +0200 Subject: [PATCH] Fix --- next.config.mjs | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/next.config.mjs b/next.config.mjs index 457dcf2..3c71e75 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,10 +1,38 @@ 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(); -/** @type {import('next').NextConfig} */ const config = { reactStrictMode: true, }; -export default withMDX(config); +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;