diff --git a/crates/node_binding/src/rsdoctor.rs b/crates/node_binding/src/rsdoctor.rs index 0d9ef029a266..25fd054b3751 100644 --- a/crates/node_binding/src/rsdoctor.rs +++ b/crates/node_binding/src/rsdoctor.rs @@ -27,7 +27,7 @@ pub struct JsRsdoctorModule { pub belong_modules: Vec, pub chunks: Vec, pub issuer_path: Vec, - pub bailout_reason: Option, + pub bailout_reason: Vec, } impl From for JsRsdoctorModule { @@ -50,7 +50,7 @@ impl From for JsRsdoctorModule { .into_iter() .filter_map(|i| i.ukey) .collect::>(), - bailout_reason: value.bailout_reason, + bailout_reason: value.bailout_reason.into_iter().collect::>(), } } } diff --git a/crates/rspack_plugin_rsdoctor/src/data.rs b/crates/rspack_plugin_rsdoctor/src/data.rs index 6f5d689fb4d7..66639927a3e7 100644 --- a/crates/rspack_plugin_rsdoctor/src/data.rs +++ b/crates/rspack_plugin_rsdoctor/src/data.rs @@ -47,7 +47,7 @@ pub struct RsdoctorModule { pub modules: HashSet, pub belong_modules: HashSet, pub issuer_path: Option>, - pub bailout_reason: Option, + pub bailout_reason: HashSet, } #[derive(Debug, Default)] diff --git a/crates/rspack_plugin_rsdoctor/src/module_graph.rs b/crates/rspack_plugin_rsdoctor/src/module_graph.rs index 02671235a16d..1602735ad409 100644 --- a/crates/rspack_plugin_rsdoctor/src/module_graph.rs +++ b/crates/rspack_plugin_rsdoctor/src/module_graph.rs @@ -72,7 +72,7 @@ pub fn collect_modules( belong_modules: HashSet::default(), chunks, issuer_path: None, - bailout_reason: None, + bailout_reason: HashSet::default(), }, ) }) diff --git a/crates/rspack_plugin_rsdoctor/src/plugin.rs b/crates/rspack_plugin_rsdoctor/src/plugin.rs index 02879000fd4f..9786e513645f 100644 --- a/crates/rspack_plugin_rsdoctor/src/plugin.rs +++ b/crates/rspack_plugin_rsdoctor/src/plugin.rs @@ -318,11 +318,9 @@ async fn optimize_chunk_modules(&self, compilation: &mut Compilation) -> Result< if let Some(rsd_module) = rsd_modules.get_mut(&module_id) { rsd_module.issuer_path = Some(issuer_path); - } - if let Some(rsd_module) = rsd_modules.get_mut(&module_id) { let (_, module) = module; let bailout_reason = module_graph.get_optimization_bailout(&module.identifier()); - rsd_module.bailout_reason = Some(bailout_reason.join(", ")); + rsd_module.bailout_reason = bailout_reason.iter().map(|s| s.to_string()).collect(); } }