From f92441ba45122a9b0f7ee9ccad94b92ab30ca1a6 Mon Sep 17 00:00:00 2001 From: nilptr Date: Mon, 24 Nov 2025 23:30:43 +0800 Subject: [PATCH] fix: extra runtime global bits are lost after js hook --- crates/rspack_binding_api/src/plugins/interceptor.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/rspack_binding_api/src/plugins/interceptor.rs b/crates/rspack_binding_api/src/plugins/interceptor.rs index 4df54156cb4d..506b7c9677f3 100644 --- a/crates/rspack_binding_api/src/plugins/interceptor.rs +++ b/crates/rspack_binding_api/src/plugins/interceptor.rs @@ -1286,7 +1286,11 @@ impl CompilationAdditionalTreeRuntimeRequirements }; let result = self.function.call_with_sync(arg).await?; if let Some(result) = result { - let _ = std::mem::replace(runtime_requirements, result.as_runtime_globals()); + runtime_requirements.insert( + result + .as_runtime_globals() + .difference(*runtime_requirements), + ); } Ok(()) }