From 0cc8976359f3c985b79e2bda6d65a74df83f6cb0 Mon Sep 17 00:00:00 2001 From: LingyuCoder Date: Wed, 17 Sep 2025 15:58:01 +0800 Subject: [PATCH] perf: improve get mode --- .../esm/esm_export_imported_specifier_dependency.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/esm_export_imported_specifier_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/esm_export_imported_specifier_dependency.rs index 58cdeea22963..ca2a17bf207e 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/esm_export_imported_specifier_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/esm_export_imported_specifier_dependency.rs @@ -1459,8 +1459,14 @@ fn determine_export_assignments( let mut dependency_indices = Vec::with_capacity(dependencies.len() + usize::from(additional_dependency.is_some())); + let mut handled_modules = IdentifierSet::default(); + for dependency in dependencies.iter().chain(additional_dependency.iter()) { if let Some(module_identifier) = module_graph.module_identifier_by_dependency_id(dependency) { + if !handled_modules.insert(*module_identifier) { + dependency_indices.push(names.len()); + continue; + } let exports_info = module_graph .get_exports_info(module_identifier) .as_data(module_graph);