diff --git a/.changeset/fast-goats-fix.md b/.changeset/fast-goats-fix.md new file mode 100644 index 00000000..6e534f41 --- /dev/null +++ b/.changeset/fast-goats-fix.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/cloudflare": patch +--- + +Log exceptions in `requirePage` and `NodeModuleLoader` when `OPEN_NEXT_DEBUG=1` diff --git a/packages/cloudflare/src/cli/build/patches/plugins/dynamic-requires.ts b/packages/cloudflare/src/cli/build/patches/plugins/dynamic-requires.ts index 310140fd..05d1e87d 100644 --- a/packages/cloudflare/src/cli/build/patches/plugins/dynamic-requires.ts +++ b/packages/cloudflare/src/cli/build/patches/plugins/dynamic-requires.ts @@ -94,7 +94,16 @@ rule: regex: ^NodeModuleLoader$ fix: | async load($ID) { - ${getRequires("$ID", files, serverDir)} + ${ + buildOpts.debug + ? ` try { + ${getRequires("$ID", files, serverDir)} + } catch (e) { + console.error('Exception in NodeModuleLoader', e); + throw e; + }` + : getRequires("$ID", files, serverDir) + } }`; } @@ -135,7 +144,16 @@ function requirePage($PAGE, $DIST_DIR, $IS_APP_PATH) { process.env.__NEXT_PRIVATE_RUNTIME_TYPE = $IS_APP_PATH ? 'app' : 'pages'; try { ${getRequires("pagePath", jsFiles, serverDir)} - } finally { + } ${ + buildOpts.debug + ? ` + catch (e) { + console.error("Exception in requirePage", e); + throw e; + }` + : `` + } + finally { process.env.__NEXT_PRIVATE_RUNTIME_TYPE = ''; } }`,