Beispiel
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
Fall
- Ziel
- Show that reusing one mutable @babel/preset-env preset tuple across calls does not re-read later target mutations. HOW
- Pakete
- @babel/preset-env 8.0.2 @babel/core 8.0.1
- Umgebung
- node
- Erstellt
- 2026-08-17T03:15:39Z
Häufige Annahme
A shared preset-env tuple can be safely mutated between runs so each transform picks up the latest target value.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- 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.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9