Skip to content

Commit a03e275

Browse files
authored
Turbopack: keep side-effect-full imports (#76545)
This was already fixed by #77640 in the meantime Adds a test for #76464 ```js // Inside a sideEffect: free module, ... // ...imports without any bindings are completely dropped, even // if they reference modules which have `sideEffects: true` import "./this-module-has-sideEffects"; ```
1 parent c41b72b commit a03e275

File tree

7 files changed

+28
-0
lines changed

7 files changed

+28
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { Parent } from './ui/src/index'
2+
3+
it("should retain side effect-full imports", () => {
4+
expect(Parent()).toBe("Parent Child")
5+
expect(globalThis.sideEffectExecuted).toBe(true)
6+
});
7+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"sideEffects": [
3+
"./src/side-effect.js"
4+
]
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import './side-effect.js'
2+
3+
export function Child() {
4+
return "Child"
5+
}
6+
export { Three } from './test'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { Child } from './Child'
2+
3+
export function Parent() {
4+
return "Parent " + Child();
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
globalThis.sideEffectExecuted = true;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const Three = 3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"treeShakingMode": "reexports-only"
3+
}

0 commit comments

Comments
 (0)