From 35be04f6aa540c9171bec23f6dfa66beb08b9f8d Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 7 Feb 2025 17:42:40 +0000 Subject: [PATCH] fix: make `patchAsyncStorage` work with non-mutable `node:module` modules --- .changeset/seven-mirrors-sleep.md | 5 +++++ packages/open-next/src/core/patchAsyncStorage.ts | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/seven-mirrors-sleep.md diff --git a/.changeset/seven-mirrors-sleep.md b/.changeset/seven-mirrors-sleep.md new file mode 100644 index 000000000..088675e88 --- /dev/null +++ b/.changeset/seven-mirrors-sleep.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix: make `patchAsyncStorage` work with non-mutable `node:module` modules diff --git a/packages/open-next/src/core/patchAsyncStorage.ts b/packages/open-next/src/core/patchAsyncStorage.ts index 040fa8ebc..32cb3250e 100644 --- a/packages/open-next/src/core/patchAsyncStorage.ts +++ b/packages/open-next/src/core/patchAsyncStorage.ts @@ -1,9 +1,9 @@ -const mod = require("node:module"); +let mod = require("node:module"); const resolveFilename = mod._resolveFilename; export function patchAsyncStorage() { - mod._resolveFilename = (( + const _resolveFilename = (( originalResolveFilename: typeof resolveFilename, request: string, parent: any, @@ -29,4 +29,8 @@ export function patchAsyncStorage() { // We use `bind` here to avoid referencing outside variables to create potential memory leaks. }).bind(null, resolveFilename); + mod = { + ...mod, + _resolveFilename, + }; }