From d9f3bbb6d41ad972945188e086fddac169752d73 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 27 Nov 2025 15:22:33 +0100 Subject: [PATCH] Turbopack: keep sideeffectful barrel file --- .../reexport-side-effect-barrel/input/index.js | 5 +++++ .../reexport-side-effect-barrel/input/library/index.js | 1 + .../reexport-side-effect-barrel/input/library/object.js | 1 + .../reexport-side-effect-barrel/input/library/package.json | 5 +++++ .../input/library/registration.js | 3 +++ 5 files changed, 15 insertions(+) create mode 100644 turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/index.js create mode 100644 turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/index.js create mode 100644 turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/object.js create mode 100644 turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/package.json create mode 100644 turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/registration.js diff --git a/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/index.js b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/index.js new file mode 100644 index 00000000000000..97d392d04334db --- /dev/null +++ b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/index.js @@ -0,0 +1,5 @@ +import { ObjectElement } from './library' + +it('shoudl not discard side-effectful barrel files', () => { + expect(ObjectElement.foo).toBe('side-effect') +}) diff --git a/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/index.js b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/index.js new file mode 100644 index 00000000000000..35b283d499da1a --- /dev/null +++ b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/index.js @@ -0,0 +1 @@ +export { ObjectElement } from './registration' diff --git a/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/object.js b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/object.js new file mode 100644 index 00000000000000..5a1901241b1eae --- /dev/null +++ b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/object.js @@ -0,0 +1 @@ +export const ObjectElement = {} diff --git a/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/package.json b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/package.json new file mode 100644 index 00000000000000..4cfc60ea55f19c --- /dev/null +++ b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/package.json @@ -0,0 +1,5 @@ +{ + "sideEffects": [ + "./registration.js" + ] +} diff --git a/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/registration.js b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/registration.js new file mode 100644 index 00000000000000..aa6463e2a2e5fe --- /dev/null +++ b/turbopack/crates/turbopack-tests/tests/execution/turbopack/side-effects-optimization/reexport-side-effect-barrel/input/library/registration.js @@ -0,0 +1,3 @@ +import { ObjectElement } from './object' +ObjectElement.foo = 'side-effect' +export { ObjectElement }