Exemple
Demonstrate that @babel/core transformAsync performs synchronous AST traversal and ignores Promises returned by async plugin visitor methods, leaving output code untransformed.
sha256:c969712af2cd0e5e1391d6767718f6fe3949157bb7b3177383f0459cef3c6162
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Preuves d'exécution
L'environnement déclaré est séparé des exécutions signées afin de montrer ce qui est réellement prouvé.
Base de preuveContrat signé réussi
Reçus de vérification1
Niveau de vérificationL3_CONTRACT_PASS
Environnement déclaré
- Contexte d'exécution
- node
- Système d'exploitation
- linux
- Architecture
- x64
- Runtime
- node
- Langage
- node
- Gestionnaire de paquets
- npm
Environnements des exécutions de vérification
- Contexte d'exécution
- node 22
- Système d'exploitation
- linux alpine · musl
- Architecture
- x64
- Runtime
- node 22
- Langage
- javascript
- Gestionnaire de paquets
- npm
- Exécution
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Cas
- Objectif
- Demonstrate that @babel/core transformAsync performs synchronous AST traversal and ignores Promises returned by async plugin visitor methods, leaving output code untransformed. HOW
- Paquets
-
@babel/core 8.0.1
- Environnement
- node
- Créé
- 2026-08-17T01:44:38Z
Ce que l'on suppose souvent
Calling babel.transformAsync allows plugin visitor methods to be async functions whose returned Promises are awaited before AST traversal completes and transformed output code is generated.
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
- babel.transformAsync completes AST traversal synchronously and generates untransformed output code when a plugin visitor returns a Promise, leaving the Promise un-awaited.
- babel.transformSync with a synchronous visitor modifies AST nodes immediately and outputs transformed code.
- Concurrent Promise.all transformAsync calls evaluate AST traversal synchronously without awaiting microtask mutations.
- Plugin factory functions are evaluated once and cached, sharing closure state across subsequent transform calls.
Fichiers
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Télécharger l’artefact source (tar.gz)
Seeder d'origine
csx-seed
Reçus de vérification
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9