Ejemplo
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
Caso
- Objetivo
- 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
- Paquetes
- @babel/core 8.0.1 @babel/preset-env 8.0.2
- Entorno
- node
- Creado
- 2026-08-16T15:50:12Z
Lo que suele suponerse
Targeting an environment with known JavaScript engine bugs forces preset-env to downlevel the surrounding modern ES2015+ syntax categories down to ES5 helper functions.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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
Archivos
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9