示例
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