Skip to content

Commit c8a0d00

Browse files
committed
refactor: nested exports info data of getters part 2
1 parent 0f1a693 commit c8a0d00

File tree

6 files changed

+6
-25
lines changed

6 files changed

+6
-25
lines changed

crates/node_binding/src/exports_info.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ impl JsExportsInfo {
4444
Either::A(str) => std::iter::once(str).map(Into::into).collect(),
4545
Either::B(vec) => vec.into_iter().map(Into::into).collect(),
4646
});
47-
Ok(self.exports_info.is_used(&module_graph, runtime.as_ref()))
47+
let exports_info = ExportsInfoGetter::prefetch(&self.exports_info, &module_graph, None);
48+
Ok(ExportsInfoGetter::is_used(&exports_info, runtime.as_ref()))
4849
}
4950

5051
#[napi(ts_args_type = "runtime: string | string[] | undefined")]

crates/rspack_core/src/exports/exports_info.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -395,27 +395,6 @@ impl ExportsInfo {
395395
key
396396
}
397397

398-
pub fn is_used(&self, mg: &ModuleGraph, runtime: Option<&RuntimeSpec>) -> bool {
399-
let info = self.as_exports_info(mg);
400-
if let Some(redirect_to) = info.redirect_to {
401-
if redirect_to.is_used(mg, runtime) {
402-
return true;
403-
}
404-
} else {
405-
let other_exports_info = &info.other_exports_info;
406-
if ExportInfoGetter::get_used(other_exports_info.as_data(mg), runtime) != UsageState::Unused {
407-
return true;
408-
}
409-
}
410-
411-
for export_info in info.exports.values() {
412-
if ExportInfoGetter::get_used(export_info.as_data(mg), runtime) != UsageState::Unused {
413-
return true;
414-
}
415-
}
416-
false
417-
}
418-
419398
pub fn update_hash(
420399
&self,
421400
mg: &ModuleGraph,

crates/rspack_plugin_javascript/src/dependency/esm/esm_export_expression_dependency.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ impl DependencyTemplate for ESMExportExpressionDependencyTemplate {
164164
ExportsInfoGetter::get_used_name(
165165
&compilation
166166
.get_module_graph()
167-
.get_prefetched_exports_info(module_identifier, Some(&[name.into()])),
167+
.get_prefetched_exports_info(module_identifier, None),
168168
*runtime,
169169
&[name.into()],
170170
)

crates/rspack_plugin_javascript/src/dependency/esm/esm_export_imported_specifier_dependency.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,7 @@ impl ESMExportImportedSpecifierDependency {
139139
let parent_module = module_graph
140140
.get_parent_module(id)
141141
.expect("should have parent module");
142-
let exports_info = module_graph
143-
.get_prefetched_exports_info(parent_module, name.as_ref().map(std::slice::from_ref));
142+
let exports_info = module_graph.get_prefetched_exports_info(parent_module, None);
144143

145144
let is_name_unused = if let Some(ref name) = name {
146145
ExportsInfoGetter::get_used(&exports_info, std::slice::from_ref(name), runtime)

crates/rspack_plugin_javascript/src/plugin/flag_dependency_usage_plugin.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ enum ModuleOrAsyncDependenciesBlock {
1818
Module(ModuleIdentifier),
1919
AsyncDependenciesBlock(AsyncDependenciesBlockIdentifier),
2020
}
21+
2122
#[allow(unused)]
2223
pub struct FlagDependencyUsagePluginProxy<'a> {
2324
global: bool,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const a = 1;

0 commit comments

Comments
 (0)