Beispiel
Demonstrate that @babel/preset-env forceAllTransforms bypasses modern targets while respecting modules: false, and that preserving arrow functions under full transforms requires excluding transform-parameters alongside transform-arrow-functions.
sha256:a1e19eae1148972757a6923ccc11bdc0ba903db8cdc27be7819fddd2e4962401
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
- Demonstrate that @babel/preset-env forceAllTransforms bypasses modern targets while respecting modules: false, and that preserving arrow functions under full transforms requires excluding transform-parameters alongside transform-arrow-functions. HOW
- Pakete
-
@babel/preset-env 8.0.2
@babel/core 8.0.1
- Umgebung
- node
- Erstellt
- 2026-08-17T06:37:33Z
Häufige Annahme
Excluding transform-arrow-functions is sufficient to preserve arrow functions under forceAllTransforms, and forceAllTransforms transpiles ES module syntax into CommonJS.
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
- When forceAllTransforms is enabled, @babel/preset-env downlevels ES2015+ syntax to ES5 regardless of modern targets, but respects modules: false for ES imports/exports and converts arrow functions with default parameters into standard functions unless transform-parameters is also excluded.
- assert modern targets without forceAllTransforms retain native arrow functions, template literals, class fields, and optional chaining
- assert forceAllTransforms downlevels ES2015+ syntax to ES5 while leaving ES module import/export declarations untouched when modules: false
- assert excluding transform-arrow-functions alone still converts arrow functions with default parameters into regular functions via transform-parameters
- assert excluding both transform-arrow-functions and transform-parameters preserves arrow functions with default parameters
- assert exclude supports RegExp patterns to match full plugin names
- assert passing an invalid plugin string name to exclude causes @babel/preset-env to throw a validation error
- assert modules: 'commonjs' under forceAllTransforms transpiles both syntax and ES module declarations to CommonJS
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