From e9749cafc1049e06316ba2adcb16190662a072d7 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Mon, 24 Nov 2025 16:06:17 +0100 Subject: [PATCH] Turbopack: bail instead of panic --- turbopack/crates/turbopack-ecmascript/src/lib.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/turbopack/crates/turbopack-ecmascript/src/lib.rs b/turbopack/crates/turbopack-ecmascript/src/lib.rs index 0d3e5c79f4277..205093d06661d 100644 --- a/turbopack/crates/turbopack-ecmascript/src/lib.rs +++ b/turbopack/crates/turbopack-ecmascript/src/lib.rs @@ -1316,7 +1316,8 @@ async fn merge_modules( // corresponding export in the module that exports it. if let Some(&module) = self.reverse_module_contexts.get(ctxt) { let eval_context_exports = self.export_contexts.get(&module).unwrap(); - // TODO looking up an Atom in a Map + // TODO looking up an Atom in a Map, would ideally work without creating a + // RcStr every time. let sym_rc_str: RcStr = sym.as_str().into(); let (local, local_ctxt) = if let Some((local, local_ctxt)) = eval_context_exports.get(&sym_rc_str) @@ -1329,10 +1330,11 @@ async fn merge_modules( // generating this variable. (None, SyntaxContext::empty()) } else { - panic!( + self.error = Err(anyhow::anyhow!( "Expected to find a local export for {sym} with ctxt {ctxt:#?} in \ {eval_context_exports:?}", - ); + )); + return; }; let global_ctxt = self.get_context_for(module, local_ctxt);