Beispiel
Configuring treeshake.moduleSideEffects to false silently removes bare side-effect imports lacking consumed bindings, whereas setting it to 'no-external' preserves internal side-effect modules while pruning external ones.
sha256:92601fd5622eb4523c4c39713473c67395bc60dbed071830173bede138b89a13
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- node
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- node
- Sprache
- node
- Paketmanager
- npm
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- node 22
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- node 22
- Sprache
- javascript
- Paketmanager
- npm
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Fall
- Ziel
- Configuring treeshake.moduleSideEffects to false silently removes bare side-effect imports lacking consumed bindings, whereas setting it to 'no-external' preserves internal side-effect modules while pruning external ones. HOW
- Pakete
-
rollup 4.34.8
- Umgebung
- node
- Erstellt
- 2026-08-17T11:12:35Z
Häufige Annahme
A bare import with no specifiers, such as import './polyfill.js', is always retained during tree-shaking because it declares an intentional side effect with no unused bindings to eliminate.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Setting treeshake: { moduleSideEffects: false } causes Rollup to strip bare side-effect imports that have no consumed exports, whereas treeshake: { moduleSideEffects: 'no-external' } retains internal side-effect imports and strips unused external ones.
- Executing a bundle built with moduleSideEffects: false leaves global state uninitialized by the stripped polyfill, while executing a bundle built with moduleSideEffects: 'no-external' triggers the top-level side effects on module load.
- Default tree-shaking (moduleSideEffects: true) retains both internal and external side-effect imports unconditionally.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9