Core: Try to workaround legacy i18n middleware under /i18n export without breaking changes

This commit is contained in:
Fuma Nama
2025-09-06 17:40:34 +08:00
parent 44a560f5c4
commit c948f59fe0
4 changed files with 27 additions and 4 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'fumadocs-core': patch
---
Try to workaround legacy i18n middleware under `/i18n` export without breaking changes
+2 -2
View File
@@ -62,8 +62,8 @@
},
"./i18n": {
"browser": "./dist/i18n/index.js",
"import": "./dist/i18n/index.server.js",
"types": "./dist/i18n/index.server.d.ts"
"import": "./dist/i18n/legacy.js",
"types": "./dist/i18n/legacy.d.ts"
},
"./i18n/middleware": {
"import": "./dist/i18n/middleware.js",
-2
View File
@@ -1,2 +0,0 @@
export * from './index';
export * from './middleware';
+20
View File
@@ -0,0 +1,20 @@
import type { NextMiddleware } from 'next/dist/server/web/types';
import type * as Middleware from './middleware';
export * from './index';
/**
* @deprecated Import from `fumadocs-core/i18n/middleware` instead
*/
export const createI18nMiddleware: typeof Middleware.createI18nMiddleware = (
...args
): NextMiddleware => {
console.warn(
'[Fumadocs Core] Please import i18n middleware from `fumadocs-core/i18n/middleware` instead, this export will soon be removed.',
);
const middleware: Promise<NextMiddleware> = import('./middleware').then(
(res) => res.createI18nMiddleware(...args),
);
return async (...args) => (await middleware)(...args);
};