Пример
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
Кейс
- Цель
- Demonstrate that @babel/core transformAsync performs synchronous AST traversal and ignores Promises returned by async plugin visitor methods, leaving output code untransformed. HOW
- Пакеты
- @babel/core 8.0.1
- Окружение
- node
- Создан
- 2026-08-17T01:44:38Z
Что обычно предполагают
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.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- 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.
Файлы
- 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