From fe80b6bf40433e1126fa375e41691086797498a8 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 10 Jan 2025 16:49:18 +0000 Subject: [PATCH 1/2] fix: esbuild plugins not matching windows paths --- .changeset/thirty-donuts-buy.md | 5 +++++ packages/open-next/src/plugins/edge.ts | 6 +++--- packages/open-next/src/plugins/replacement.ts | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .changeset/thirty-donuts-buy.md diff --git a/.changeset/thirty-donuts-buy.md b/.changeset/thirty-donuts-buy.md new file mode 100644 index 000000000..ce2059e5b --- /dev/null +++ b/.changeset/thirty-donuts-buy.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +Fix esbuild edge plugins not matching Windows paths. diff --git a/packages/open-next/src/plugins/edge.ts b/packages/open-next/src/plugins/edge.ts index 325c5f896..45e3a6976 100644 --- a/packages/open-next/src/plugins/edge.ts +++ b/packages/open-next/src/plugins/edge.ts @@ -58,7 +58,7 @@ export function openNextEdgePlugins({ logger.debug(chalk.blue("OpenNext Edge plugin")); if (edgeFunctionHandlerPath) { // If we bundle the routing, we need to resolve the middleware - build.onResolve({ filter: /\.\/middleware.mjs/g }, () => { + build.onResolve({ filter: /\.(\/|\\)middleware.mjs/g }, () => { return { path: edgeFunctionHandlerPath, }; @@ -93,7 +93,7 @@ export function openNextEdgePlugins({ ); // We inject the entry files into the edgeFunctionHandler - build.onLoad({ filter: /\/edgeFunctionHandler.js/g }, async (args) => { + build.onLoad({ filter: /(\/|\\)edgeFunctionHandler.js/g }, async (args) => { let contents = readFileSync(args.path, "utf-8"); contents = ` globalThis._ENTRIES = {}; @@ -160,7 +160,7 @@ ${contents} }; }); - build.onLoad({ filter: /adapters\/config\/index/g }, async () => { + build.onLoad({ filter: /adapters(\/|\\)config(\/|\\)index/g }, async () => { const NextConfig = loadConfig(nextDir); const BuildId = loadBuildId(nextDir); const HtmlPages = loadHtmlPages(nextDir); diff --git a/packages/open-next/src/plugins/replacement.ts b/packages/open-next/src/plugins/replacement.ts index 897c1a2c5..7e6a771e9 100644 --- a/packages/open-next/src/plugins/replacement.ts +++ b/packages/open-next/src/plugins/replacement.ts @@ -18,7 +18,7 @@ const importPattern = /\/\/#import([\s\S]*?)\n\/\/#endImport/gm; /** * * openNextPlugin({ - * target: /plugins\/default\.js/g, + * target: /plugins(\/|\\)default\.js/g, * replacements: [require.resolve("./plugins/default.js")], * deletes: ["id1"], * }) From 7a62e0799a96df80175226557ad0489db1f8f862 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 10 Jan 2025 17:03:53 +0000 Subject: [PATCH 2/2] run biome --- packages/open-next/src/plugins/edge.ts | 50 ++++++++++++++------------ 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/packages/open-next/src/plugins/edge.ts b/packages/open-next/src/plugins/edge.ts index 45e3a6976..c31d970ce 100644 --- a/packages/open-next/src/plugins/edge.ts +++ b/packages/open-next/src/plugins/edge.ts @@ -93,9 +93,11 @@ export function openNextEdgePlugins({ ); // We inject the entry files into the edgeFunctionHandler - build.onLoad({ filter: /(\/|\\)edgeFunctionHandler.js/g }, async (args) => { - let contents = readFileSync(args.path, "utf-8"); - contents = ` + build.onLoad( + { filter: /(\/|\\)edgeFunctionHandler.js/g }, + async (args) => { + let contents = readFileSync(args.path, "utf-8"); + contents = ` globalThis._ENTRIES = {}; globalThis.self = globalThis; globalThis._ROUTES = ${JSON.stringify(routes)}; @@ -155,24 +157,27 @@ ${wasmFiles ${entryFiles.map((file) => `require("${file}");`).join("\n")} ${contents} `; - return { - contents, - }; - }); + return { + contents, + }; + }, + ); - build.onLoad({ filter: /adapters(\/|\\)config(\/|\\)index/g }, async () => { - const NextConfig = loadConfig(nextDir); - const BuildId = loadBuildId(nextDir); - const HtmlPages = loadHtmlPages(nextDir); - const RoutesManifest = loadRoutesManifest(nextDir); - const ConfigHeaders = loadConfigHeaders(nextDir); - const PrerenderManifest = loadPrerenderManifest(nextDir); - const AppPathsManifestKeys = loadAppPathsManifestKeys(nextDir); - const MiddlewareManifest = loadMiddlewareManifest(nextDir); - const AppPathsManifest = loadAppPathsManifest(nextDir); - const AppPathRoutesManifest = loadAppPathRoutesManifest(nextDir); - - const contents = ` + build.onLoad( + { filter: /adapters(\/|\\)config(\/|\\)index/g }, + async () => { + const NextConfig = loadConfig(nextDir); + const BuildId = loadBuildId(nextDir); + const HtmlPages = loadHtmlPages(nextDir); + const RoutesManifest = loadRoutesManifest(nextDir); + const ConfigHeaders = loadConfigHeaders(nextDir); + const PrerenderManifest = loadPrerenderManifest(nextDir); + const AppPathsManifestKeys = loadAppPathsManifestKeys(nextDir); + const MiddlewareManifest = loadMiddlewareManifest(nextDir); + const AppPathsManifest = loadAppPathsManifest(nextDir); + const AppPathRoutesManifest = loadAppPathRoutesManifest(nextDir); + + const contents = ` import path from "node:path"; import { debug } from "../logger"; @@ -198,8 +203,9 @@ ${contents} process.env.NEXT_BUILD_ID = BuildId; `; - return { contents }; - }); + return { contents }; + }, + ); }, }; }