From 8d8d651a2df1a003d6bc80a22aa337627a436923 Mon Sep 17 00:00:00 2001 From: psyrenpark Date: Tue, 15 Jul 2025 14:59:07 +0900 Subject: [PATCH 1/4] fix: correct edgeFunctions bundle path to server-functions directory Update bundle path from .open-next/functions to .open-next/server-functions to match the actual build output location for edge functions --- packages/open-next/src/build/generateOutput.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/open-next/src/build/generateOutput.ts b/packages/open-next/src/build/generateOutput.ts index 7d3b995e5..682fd23b0 100644 --- a/packages/open-next/src/build/generateOutput.ts +++ b/packages/open-next/src/build/generateOutput.ts @@ -181,7 +181,7 @@ export async function generateOutput(options: BuildOptions) { Object.entries(config.functions ?? {}).forEach(async ([key, value]) => { if (value.placement === "global") { edgeFunctions[key] = { - bundle: `.open-next/functions/${key}`, + bundle: `.open-next/server-functions/${key}`, handler: indexHandler, ...(await extractOverrideFn(value.override)), }; From 9edeca2dd6ca3d4e219c33afd9ade88e4858130a Mon Sep 17 00:00:00 2001 From: psyrenpark Date: Tue, 15 Jul 2025 15:09:06 +0900 Subject: [PATCH 2/4] feat: add additionalInject option support Add additionalInject: fnOptions.additionalInject for injecting code directly into the banner section during esbuild. Use with caution. --- packages/open-next/src/build/edge/createEdgeBundle.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/open-next/src/build/edge/createEdgeBundle.ts b/packages/open-next/src/build/edge/createEdgeBundle.ts index 2ca114c24..a9ba66261 100644 --- a/packages/open-next/src/build/edge/createEdgeBundle.ts +++ b/packages/open-next/src/build/edge/createEdgeBundle.ts @@ -220,6 +220,7 @@ export async function generateEdgeBundle( additionalExternals: options.config.edgeExternals, name, additionalPlugins, + additionalInject: fnOptions.additionalInject, }); } From 7abfa28a77f9dbecf4121a10ac39aa06608c224f Mon Sep 17 00:00:00 2001 From: psyrenpark Date: Tue, 15 Jul 2025 15:14:42 +0900 Subject: [PATCH 3/4] docs: update additionalInject option documentation Improve JSDoc comment to clarify usage for esbuild banner injection and add caution note for safe usage --- packages/open-next/src/types/open-next.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/open-next/src/types/open-next.ts b/packages/open-next/src/types/open-next.ts index 210803468..b38a2df5c 100644 --- a/packages/open-next/src/types/open-next.ts +++ b/packages/open-next/src/types/open-next.ts @@ -361,6 +361,15 @@ export interface SplittedFunctionOptions extends FunctionOptions { * @default [] */ patterns: string[]; + + + /** + * Additional inject code for the function. + * This is used to inject code into the function. + * Used when code needs to be directly injected into the banner section during esbuild. Should be used with caution. + * @default undefined + */ + additionalInject?: string; } /** From fba7bab03dcb0a8ded6c4f5f4cd346a4ccd88bc8 Mon Sep 17 00:00:00 2001 From: Nicolas Dorseuil Date: Sun, 3 Aug 2025 11:18:59 +0200 Subject: [PATCH 4/4] changeset and remove additional inject --- .changeset/five-parrots-eat.md | 5 +++++ packages/open-next/src/build/edge/createEdgeBundle.ts | 1 - packages/open-next/src/types/open-next.ts | 9 --------- 3 files changed, 5 insertions(+), 10 deletions(-) create mode 100644 .changeset/five-parrots-eat.md diff --git a/.changeset/five-parrots-eat.md b/.changeset/five-parrots-eat.md new file mode 100644 index 000000000..e3975b721 --- /dev/null +++ b/.changeset/five-parrots-eat.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +Fix output for edge-functions diff --git a/packages/open-next/src/build/edge/createEdgeBundle.ts b/packages/open-next/src/build/edge/createEdgeBundle.ts index a9ba66261..2ca114c24 100644 --- a/packages/open-next/src/build/edge/createEdgeBundle.ts +++ b/packages/open-next/src/build/edge/createEdgeBundle.ts @@ -220,7 +220,6 @@ export async function generateEdgeBundle( additionalExternals: options.config.edgeExternals, name, additionalPlugins, - additionalInject: fnOptions.additionalInject, }); } diff --git a/packages/open-next/src/types/open-next.ts b/packages/open-next/src/types/open-next.ts index b38a2df5c..210803468 100644 --- a/packages/open-next/src/types/open-next.ts +++ b/packages/open-next/src/types/open-next.ts @@ -361,15 +361,6 @@ export interface SplittedFunctionOptions extends FunctionOptions { * @default [] */ patterns: string[]; - - - /** - * Additional inject code for the function. - * This is used to inject code into the function. - * Used when code needs to be directly injected into the banner section during esbuild. Should be used with caution. - * @default undefined - */ - additionalInject?: string; } /**