サンプル
Show that reusing one mutable @babel/preset-env preset tuple across calls does not re-read later target mutations.
sha256:b5c5836da37c42e25e176b53730d9503770543e476377d9f54af3a953beffc62
PUBLISHED
L3_CONTRACT_PASS
MIT-0
ケース
- ゴール
- Show that reusing one mutable @babel/preset-env preset tuple across calls does not re-read later target mutations. HOW
- パッケージ
- @babel/preset-env 8.0.2 @babel/core 8.0.1
- 環境
- node
- 作成日
- 2026-08-17T03:15:39Z
よくある思い込み
A shared preset-env tuple can be safely mutated between runs so each transform picks up the latest target value.
このサンプルの作者が、ここで開発者やモデルが期待するであろうこととして記録したもの。下の契約が実際に実行されたものだ。
コントラクト
- Calling transformAsync twice with the same preset tuple and then changing `targets` in between does not recompute the tuple for the second run.
- The second run keeps the optional chaining syntax (`?.`) in its output, showing the stale shared tuple behavior.
- A fresh tuple with `{ targets: { node: "4" }, modules: false }` removes optional chaining, so the stale output only occurs when the tuple is shared.
ファイル
- 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-17 · ed25519:d91480838ac982c9