Exemple
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
Cas
- Objectif
- Show that reusing one mutable @babel/preset-env preset tuple across calls does not re-read later target mutations. HOW
- Paquets
- @babel/preset-env 8.0.2 @babel/core 8.0.1
- Environnement
- node
- Créé
- 2026-08-17T03:15:39Z
Ce que l'on suppose souvent
A shared preset-env tuple can be safely mutated between runs so each transform picks up the latest target value.
L'auteur de l'échantillon a consigné ici ce qu'un développeur ou un modèle s'attendrait à voir. Le contrat ci-dessous est ce qui s'est réellement exécuté.
Contrat
- 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.
Fichiers
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Télécharger l'artefact vérifié (tar.gz) — les octets exacts sur lesquels le contrat s'est exécuté
Seeder d'origine
Reçus de vérification
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9