Skip to content

Commit 673bfd6

Browse files
authored
fix: preserve star export from external module (#8217)
* fix: preserve star export from external module * replace dep in modern-module
1 parent d41f03d commit 673bfd6

File tree

29 files changed

+374
-17
lines changed

29 files changed

+374
-17
lines changed

crates/rspack_core/src/compiler/make/cutout/has_module_graph_change.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,10 @@ mod t {
232232
self.deps.push(dependency);
233233
}
234234

235+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
236+
self.deps.retain(|dep| dep != &dependency);
237+
}
238+
235239
fn get_dependencies(&self) -> &[DependencyId] {
236240
&self.deps
237241
}

crates/rspack_core/src/concatenated_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,10 @@ impl DependenciesBlock for ConcatenatedModule {
450450
self.dependencies.push(dependency)
451451
}
452452

453+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
454+
self.dependencies.retain(|d| d != &dependency)
455+
}
456+
453457
fn get_dependencies(&self) -> &[DependencyId] {
454458
&self.dependencies
455459
}

crates/rspack_core/src/context_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,10 @@ impl DependenciesBlock for ContextModule {
817817
self.dependencies.push(dependency)
818818
}
819819

820+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
821+
self.dependencies.retain(|d| d != &dependency)
822+
}
823+
820824
fn get_dependencies(&self) -> &[DependencyId] {
821825
&self.dependencies
822826
}

crates/rspack_core/src/dependencies_block.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ pub trait DependenciesBlock {
1919

2020
fn add_dependency_id(&mut self, dependency: DependencyId);
2121

22+
fn remove_dependency_id(&mut self, _dependency: DependencyId);
23+
2224
fn get_dependencies(&self) -> &[DependencyId];
2325
}
2426

@@ -194,14 +196,12 @@ impl DependenciesBlock for AsyncDependenciesBlock {
194196
self.dependency_ids.push(dependency)
195197
}
196198

197-
fn get_dependencies(&self) -> &[DependencyId] {
198-
&self.dependency_ids
199+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
200+
self.dependency_ids.retain(|dep| dep != &dependency);
199201
}
200-
}
201202

202-
impl AsyncDependenciesBlock {
203-
pub fn remove_dependency_id(&mut self, dependency: DependencyId) {
204-
self.dependency_ids.retain(|dep| dep != &dependency);
203+
fn get_dependencies(&self) -> &[DependencyId] {
204+
&self.dependency_ids
205205
}
206206
}
207207

crates/rspack_core/src/external_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,10 @@ impl DependenciesBlock for ExternalModule {
398398
self.dependencies.push(dependency)
399399
}
400400

401+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
402+
self.dependencies.retain(|d| d != &dependency)
403+
}
404+
401405
fn get_dependencies(&self) -> &[DependencyId] {
402406
&self.dependencies
403407
}

crates/rspack_core/src/module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,10 @@ mod test {
646646
unreachable!()
647647
}
648648

649+
fn remove_dependency_id(&mut self, _: DependencyId) {
650+
unreachable!()
651+
}
652+
649653
fn get_dependencies(&self) -> &[DependencyId] {
650654
unreachable!()
651655
}

crates/rspack_core/src/normal_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,10 @@ impl DependenciesBlock for NormalModule {
339339
self.dependencies.push(dependency)
340340
}
341341

342+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
343+
self.dependencies.retain(|d| d != &dependency)
344+
}
345+
342346
fn get_dependencies(&self) -> &[DependencyId] {
343347
&self.dependencies
344348
}

crates/rspack_core/src/raw_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ impl DependenciesBlock for RawModule {
7171
self.dependencies.push(dependency)
7272
}
7373

74+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
75+
self.dependencies.retain(|d| d != &dependency)
76+
}
77+
7478
fn get_dependencies(&self) -> &[DependencyId] {
7579
&self.dependencies
7680
}

crates/rspack_core/src/self_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ impl DependenciesBlock for SelfModule {
6161
self.dependencies.push(dependency)
6262
}
6363

64+
fn remove_dependency_id(&mut self, dependency: DependencyId) {
65+
self.dependencies.retain(|d| d != &dependency)
66+
}
67+
6468
fn get_dependencies(&self) -> &[DependencyId] {
6569
&self.dependencies
6670
}

crates/rspack_macros/src/runtime_module.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ pub fn impl_runtime_module(
100100
unreachable!()
101101
}
102102

103+
fn remove_dependency_id(&mut self, _: ::rspack_core::DependencyId) {
104+
unreachable!()
105+
}
106+
103107
fn get_dependencies(&self) -> &[::rspack_core::DependencyId] {
104108
unreachable!()
105109
}

0 commit comments

Comments
 (0)