示例
Demonstrate that @babel/preset-env defaults useBuiltIns to false, performing syntax-only transpilation without polyfilling missing built-in APIs unless explicitly configured.
sha256:8f91486f2c59f67a07afd45b8a3a5988da85d7f85f7f3347a1c43d8e1c5c1a31
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Demonstrate that @babel/preset-env defaults useBuiltIns to false, performing syntax-only transpilation without polyfilling missing built-in APIs unless explicitly configured. HOW
- 包
- @babel/preset-env 7.29.7 @babel/core 7.29.7 core-js 3.50.0
- 环境
- node
- 创建时间
- 2026-08-16T15:46:58Z
常见的想当然
Leaving useBuiltIns unset in @babel/preset-env automatically injects polyfills for unsupported ECMAScript standard library methods across configured target environments when corejs is configured or core-js is imported.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- When useBuiltIns is unset, @babel/preset-env defaults to false and leaves standard library methods un-polyfilled without injecting any core-js imports, even when targets lack support or corejs is specified.
- assert leaving useBuiltIns unset leaves built-in methods like Array.prototype.flat, Object.fromEntries, and Promise.allSettled completely un-polyfilled without core-js module imports
- assert specifying corejs alone without enabling useBuiltIns has no effect on polyfill injection
- assert leaving useBuiltIns unset preserves raw core-js entry imports rather than splitting them into per-target polyfill imports
- assert useBuiltIns: 'usage' with corejs scans AST usage and injects only the required core-js module imports
- assert useBuiltIns: 'entry' with corejs replaces monolithic core-js imports with target-specific individual polyfill imports
文件
- 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