From a4b7d9692c03c54d0b2524a0b2d38ded3a0bb1f6 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Tue, 23 Jan 2024 11:12:10 +0100 Subject: [PATCH 1/3] Add client_root for edge --- crates/turbopack-dev/src/chunking_context.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/crates/turbopack-dev/src/chunking_context.rs b/crates/turbopack-dev/src/chunking_context.rs index 539097230a05b..ecee70730ca39 100644 --- a/crates/turbopack-dev/src/chunking_context.rs +++ b/crates/turbopack-dev/src/chunking_context.rs @@ -77,8 +77,10 @@ pub struct DevChunkingContext { /// This path get stripped off of chunk paths before generating output asset /// paths. context_path: Vc, - /// This path is used to compute the url to request chunks or assets from + /// This path is used to compute the url to request chunks from output_root: Vc, + /// This path is used to compute the url to request assets from + client_root: Vc, /// Chunks are placed at this path chunk_root_path: Vc, /// Chunks reference source maps assets @@ -105,6 +107,7 @@ impl DevChunkingContext { pub fn builder( context_path: Vc, output_root: Vc, + client_root: Vc, chunk_root_path: Vc, asset_root_path: Vc, environment: Vc, @@ -113,6 +116,7 @@ impl DevChunkingContext { chunking_context: DevChunkingContext { context_path, output_root, + client_root, chunk_root_path, reference_chunk_source_maps: true, reference_css_chunk_source_maps: true, @@ -235,8 +239,8 @@ impl ChunkingContext for DevChunkingContext { let this = self.await?; let asset_path = ident.path().await?.to_string(); let asset_path = asset_path - .strip_prefix(&format!("{}/", this.output_root.await?.path)) - .context("expected output_root to contain asset path")?; + .strip_prefix(&format!("{}/", this.client_root.await?.path)) + .context("expected asset_path to contain client_root")?; Ok(Vc::cell(format!( "{}{}", From bc6ac9d4acc08a5d83b6ad1d91b852fd6b1e704b Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 23 Jan 2024 10:25:50 +0000 Subject: [PATCH 2/3] update usage of DevChunkingContext::builder --- crates/turbopack-cli/src/dev/mod.rs | 1 + crates/turbopack-cli/src/dev/web_entry_source.rs | 1 + crates/turbopack-tests/tests/execution.rs | 3 ++- crates/turbopack-tests/tests/snapshot.rs | 13 ++++++++++--- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/crates/turbopack-cli/src/dev/mod.rs b/crates/turbopack-cli/src/dev/mod.rs index ae1af46e74978..c6c1fb678754f 100644 --- a/crates/turbopack-cli/src/dev/mod.rs +++ b/crates/turbopack-cli/src/dev/mod.rs @@ -252,6 +252,7 @@ async fn source( let build_chunking_context = DevChunkingContext::builder( project_path, build_output_root, + build_output_root, build_output_root.join("chunks".to_string()), build_output_root.join("assets".to_string()), node_build_environment(), diff --git a/crates/turbopack-cli/src/dev/web_entry_source.rs b/crates/turbopack-cli/src/dev/web_entry_source.rs index 2e1d6e4d8a1b8..60a1082e41d1f 100644 --- a/crates/turbopack-cli/src/dev/web_entry_source.rs +++ b/crates/turbopack-cli/src/dev/web_entry_source.rs @@ -39,6 +39,7 @@ pub fn get_client_chunking_context( DevChunkingContext::builder( project_path, server_root, + server_root, server_root.join("/_chunks".to_string()), server_root.join("/_assets".to_string()), environment, diff --git a/crates/turbopack-tests/tests/execution.rs b/crates/turbopack-tests/tests/execution.rs index 46f5ca41f5fb8..67e9af7034cdc 100644 --- a/crates/turbopack-tests/tests/execution.rs +++ b/crates/turbopack-tests/tests/execution.rs @@ -292,7 +292,8 @@ async fn run_test(prepared_test: Vc) -> Result> let chunking_context = DevChunkingContext::builder( project_root, - chunk_root_path, + path, + path, chunk_root_path, static_root_path, env, diff --git a/crates/turbopack-tests/tests/snapshot.rs b/crates/turbopack-tests/tests/snapshot.rs index ef2c3b2633f09..50eb9d35f1350 100644 --- a/crates/turbopack-tests/tests/snapshot.rs +++ b/crates/turbopack-tests/tests/snapshot.rs @@ -292,9 +292,16 @@ async fn run_test(resource: String) -> Result> { let chunking_context: Vc> = match options.runtime { Runtime::Dev => Vc::upcast( - DevChunkingContext::builder(project_root, path, chunk_root_path, static_root_path, env) - .runtime_type(options.runtime_type) - .build(), + DevChunkingContext::builder( + project_root, + path, + path, + chunk_root_path, + static_root_path, + env, + ) + .runtime_type(options.runtime_type) + .build(), ), Runtime::Build => Vc::upcast( BuildChunkingContext::builder( From 57dad186e483389f72def65b4402b9da2f322388 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Tue, 23 Jan 2024 11:02:57 +0000 Subject: [PATCH 3/3] fixup test path --- crates/turbopack-tests/tests/execution.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/turbopack-tests/tests/execution.rs b/crates/turbopack-tests/tests/execution.rs index 67e9af7034cdc..ad4ef70c6f827 100644 --- a/crates/turbopack-tests/tests/execution.rs +++ b/crates/turbopack-tests/tests/execution.rs @@ -292,8 +292,8 @@ async fn run_test(prepared_test: Vc) -> Result> let chunking_context = DevChunkingContext::builder( project_root, - path, - path, + chunk_root_path, + static_root_path, chunk_root_path, static_root_path, env,