Beispiel
Demonstrate how @babel/preset-env applies targeted engine bugfix transforms such as Safari identifier destructuring collision avoidance and RegExp modifier polyfills without downleveling modern ES syntax
sha256:55b7a376efcdee05a18f670f71e3a6c5a665fd5258f9260c49a8e20b7656eccd
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Demonstrate how @babel/preset-env applies targeted engine bugfix transforms such as Safari identifier destructuring collision avoidance and RegExp modifier polyfills without downleveling modern ES syntax HOW
- Pakete
- @babel/core 8.0.1 @babel/preset-env 8.0.2
- Umgebung
- node
- Erstellt
- 2026-08-16T15:50:12Z
Häufige Annahme
Targeting an environment with known JavaScript engine bugs forces preset-env to downlevel the surrounding modern ES2015+ syntax categories down to ES5 helper functions.
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
- preset-env targeting Safari 14 preserves native ES2015 destructuring syntax and parameter defaults while surgically renaming only the colliding parameter identifier to avoid JavaScriptCore scope shadowing bugs
- preset-env targeting Safari 16.4 leaves matching parameter names untouched because the JavaScriptCore destructuring scope collision was resolved upstream
- preset-env targeting IE 11 fully downlevels destructuring parameters to temp variable property accesses
- preset-env compiles inline RegExp modifiers into case-expanded character classes for Node 18 targets lacking native modifier support
- preset-env with explicit resource management transpiles using declarations with disposable stack context helpers for pre-explicit-resource-management targets
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9