From 51fec997f7a8b213031d60fc15cefcbe142afb7c Mon Sep 17 00:00:00 2001 From: OJ Kwon <1210596+kwonoj@users.noreply.github.com> Date: Wed, 8 Nov 2023 22:30:37 -0800 Subject: [PATCH] refactor(next-core): apply correct url rewrite behavior (#58237) ### What Apply correct url rewrite behavior in the specific context (pages/api). This won't change anything yet, but it will prevent breaking changes when turbopack makes future changes. --- .../crates/next-core/src/next_server/context.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/next-swc/crates/next-core/src/next_server/context.rs b/packages/next-swc/crates/next-core/src/next_server/context.rs index 8a3db75b068db..00d35a8d325f6 100644 --- a/packages/next-swc/crates/next-core/src/next_server/context.rs +++ b/packages/next-swc/crates/next-core/src/next_server/context.rs @@ -17,7 +17,7 @@ use turbopack_binding::{ free_var_references, resolve::{parse::Request, pattern::Pattern}, }, - ecmascript::TransformPlugin, + ecmascript::{references::esm::UrlRewriteBehavior, TransformPlugin}, ecmascript_plugin::transform::directives::client::ClientDirectiveTransformer, node::execution_context::ExecutionContext, turbopack::{ @@ -351,8 +351,18 @@ pub async fn get_server_module_options_context( }, )); + let url_rewrite_behavior = Some( + //https://github.com/vercel/next.js/blob/bbb730e5ef10115ed76434f250379f6f53efe998/packages/next/src/build/webpack-config.ts#L1384 + if let ServerContextType::PagesApi { .. } = ty.into_value() { + UrlRewriteBehavior::Full + } else { + UrlRewriteBehavior::Relative + }, + ); + let module_options_context = ModuleOptionsContext { execution_context: Some(execution_context), + esm_url_rewrite_behavior: url_rewrite_behavior, ..Default::default() };