From 9fcc4fd0b52fc032f92e6f81d72ab750960f0dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=9C=EB=AA=85=EC=84=9D=28MS=20Seo=29?= Date: Thu, 19 Feb 2026 10:45:48 +0900 Subject: [PATCH] fix(build): add empty loader for .node files in esbuild Prevents esbuild from crashing with "No loader is configured for .node files" when native binary imports are encountered during bundling. --- .changeset/esbuild-node-loader.md | 5 +++++ packages/open-next/src/build/helper.ts | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/esbuild-node-loader.md diff --git a/.changeset/esbuild-node-loader.md b/.changeset/esbuild-node-loader.md new file mode 100644 index 000000000..404acf7e1 --- /dev/null +++ b/.changeset/esbuild-node-loader.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix(build): add empty loader for .node files in esbuild to prevent build crashes diff --git a/packages/open-next/src/build/helper.ts b/packages/open-next/src/build/helper.ts index fffc65b1a..6520664a7 100644 --- a/packages/open-next/src/build/helper.ts +++ b/packages/open-next/src/build/helper.ts @@ -124,6 +124,7 @@ export function esbuildSync( sourcemap: debug ? "inline" : false, sourcesContent: false, ...esbuildOptions, + loader: { ".node": "empty", ...esbuildOptions.loader }, external: ["./open-next.config.mjs", ...(esbuildOptions.external ?? [])], banner: { ...esbuildOptions.banner, @@ -163,6 +164,7 @@ export async function esbuildAsync( sourcemap: debug ? "inline" : false, sourcesContent: false, ...esbuildOptions, + loader: { ".node": "empty", ...esbuildOptions.loader }, external: [ ...(esbuildOptions.external ?? []), "next",