From 16d1d87a88532ba7623112d93fa0011c2a6028d9 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 24 Apr 2025 21:14:13 +0100 Subject: [PATCH 1/3] fix windows paths --- packages/open-next/src/plugins/edge.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/open-next/src/plugins/edge.ts b/packages/open-next/src/plugins/edge.ts index 3509fde3..907f2d09 100644 --- a/packages/open-next/src/plugins/edge.ts +++ b/packages/open-next/src/plugins/edge.ts @@ -39,7 +39,9 @@ export function openNextEdgePlugins({ isInCloudflare, }: IPluginSettings): Plugin { const entryFiles = - middlewareInfo?.files.map((file: string) => path.join(nextDir, file)) ?? []; + middlewareInfo?.files.map((file: string) => + path.join(nextDir, file).replace(/\\/g, "/"), + ) ?? []; const routes = middlewareInfo ? [ { From 9946ecfbc99f4f7b29f11f25b958538178035f36 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 27 Apr 2025 20:14:24 +0100 Subject: [PATCH 2/3] changeset --- .changeset/six-icons-knock.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/six-icons-knock.md diff --git a/.changeset/six-icons-knock.md b/.changeset/six-icons-knock.md new file mode 100644 index 00000000..bdb72004 --- /dev/null +++ b/.changeset/six-icons-knock.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix edge middleware path on windows From 6dbd719584056da785eb323a48a43c2a65df233c Mon Sep 17 00:00:00 2001 From: James Date: Mon, 28 Apr 2025 07:13:16 +0100 Subject: [PATCH 3/3] utility --- packages/open-next/src/plugins/edge.ts | 3 ++- packages/open-next/src/utils/normalize-path.ts | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 packages/open-next/src/utils/normalize-path.ts diff --git a/packages/open-next/src/plugins/edge.ts b/packages/open-next/src/plugins/edge.ts index 907f2d09..4ec38a14 100644 --- a/packages/open-next/src/plugins/edge.ts +++ b/packages/open-next/src/plugins/edge.ts @@ -19,6 +19,7 @@ import { loadRoutesManifest, } from "../adapters/config/util.js"; import logger from "../logger.js"; +import { normalizePath } from "../utils/normalize-path.js"; import { getCrossPlatformPathRegex } from "../utils/regex.js"; export interface IPluginSettings { @@ -40,7 +41,7 @@ export function openNextEdgePlugins({ }: IPluginSettings): Plugin { const entryFiles = middlewareInfo?.files.map((file: string) => - path.join(nextDir, file).replace(/\\/g, "/"), + normalizePath(path.join(nextDir, file)), ) ?? []; const routes = middlewareInfo ? [ diff --git a/packages/open-next/src/utils/normalize-path.ts b/packages/open-next/src/utils/normalize-path.ts new file mode 100644 index 00000000..020135b5 --- /dev/null +++ b/packages/open-next/src/utils/normalize-path.ts @@ -0,0 +1,3 @@ +export function normalizePath(path: string) { + return path.replace(/\\/g, "/"); +}