Skip to content
Snippets Groups Projects
Unverified Commit d17450fd authored by Thuc Pham's avatar Thuc Pham Committed by GitHub
Browse files

fix: next.js 15 compatibility (#1474)


Co-authored-by: default avatarAlex Yang <himself65@outlook.com>
parent 805d2b0d
No related branches found
No related tags found
No related merge requests found
---
"llamaindex": patch
---
fix: rename from serverComponentsExternalPackages to serverExternalPackages
...@@ -125,6 +125,16 @@ ...@@ -125,6 +125,16 @@
"default": "./dist/cjs/index.js" "default": "./dist/cjs/index.js"
} }
}, },
"./next": {
"import": {
"types": "./dist/type/next.d.ts",
"default": "./dist/next.js"
},
"require": {
"types": "./dist/type/next.d.ts",
"default": "./dist/cjs/next.js"
}
},
"./register": "./register.js", "./register": "./register.js",
"./internal/*": { "./internal/*": {
"import": "./dist/not-allow.js", "import": "./dist/not-allow.js",
......
...@@ -15,15 +15,28 @@ ...@@ -15,15 +15,28 @@
* *
* @module * @module
*/ */
import { createRequire } from "node:module";
const require = createRequire(import.meta.url);
const nextJsVersion: string = require("next/package.json").version;
const is14OrLower =
nextJsVersion.startsWith("14.") || nextJsVersion.startsWith("13.");
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
export default function withLlamaIndex(config: any) { export default function withLlamaIndex(config: any) {
config.experimental = config.experimental ?? {};
// needed for transformers, see https://huggingface.co/docs/transformers.js/en/tutorials/next#step-2-install-and-configure-transformersjs // needed for transformers, see https://huggingface.co/docs/transformers.js/en/tutorials/next#step-2-install-and-configure-transformersjs
config.experimental.serverComponentsExternalPackages = if (is14OrLower) {
config.experimental.serverComponentsExternalPackages ?? []; config.experimental.serverComponentsExternalPackages =
config.experimental.serverComponentsExternalPackages.push( config.experimental.serverComponentsExternalPackages ?? [];
"@huggingface/transformers", config.experimental.serverComponentsExternalPackages.push(
); "@huggingface/transformers",
);
} else {
config.serverExternalPackages = config.serverExternalPackages ?? [];
config.serverExternalPackages.push("@huggingface/transformers");
}
const userWebpack = config.webpack; const userWebpack = config.webpack;
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
config.webpack = function (webpackConfig: any, options: any) { config.webpack = function (webpackConfig: any, options: any) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment