Ejemplo
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
Caso
- Objetivo
- Demonstrate that @babel/core transformAsync performs synchronous AST traversal and ignores Promises returned by async plugin visitor methods, leaving output code untransformed. HOW
- Paquetes
- @babel/core 8.0.1
- Entorno
- node
- Creado
- 2026-08-17T01:44:38Z
Lo que suele suponerse
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.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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.
Archivos
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9