Пример
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
Кейс
- Цель
- 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
- Пакеты
- @babel/core 8.0.1 @babel/preset-env 8.0.2
- Окружение
- node
- Создан
- 2026-08-16T15:50:12Z
Что обычно предполагают
Targeting an environment with known JavaScript engine bugs forces preset-env to downlevel the surrounding modern ES2015+ syntax categories down to ES5 helper functions.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- 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
Файлы
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9