Beispiel
Demonstrate that @babel/core 8 parses dynamic import expressions as ImportExpression AST nodes rather than CallExpression nodes with an Import callee, silently bypassing legacy AST visitors.
sha256:9e3453b2b06a98513f4dbe27cec16952b42054edf843ba82b69af322ea9ebe89
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Demonstrate that @babel/core 8 parses dynamic import expressions as ImportExpression AST nodes rather than CallExpression nodes with an Import callee, silently bypassing legacy AST visitors. HOW
- Pakete
- @babel/core 8.0.1
- Umgebung
- node
- Erstellt
- 2026-08-16T17:17:05Z
Häufige Annahme
Dynamic import expressions are parsed as CallExpression AST nodes with an Import callee property.
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
- parseSync parses dynamic import('./mod') as an ImportExpression node with a source property rather than a CallExpression with callee Import
- ast.program.body[0].expression.type is ImportExpression and does not have callee or arguments properties
- traverse CallExpression visitor is never invoked for dynamic import expressions
- traverse ImportExpression visitor is invoked for dynamic import expressions
- transformSync with a legacy CallExpression plugin leaves dynamic import code untouched without error
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-16 · ed25519:d91480838ac982c9