He escrito un pequeño compilador para el mini lenguaje descrito en la última versión del libro del Dragón. He añadido una li
brería de "visitor" y quiero ahora escribir una fase que. transforme el AST con un AST compatible con el compilador de TypeScript (TS). Pienso usar ASTExplorer para familiarizarme con los ASTs de TS. ¿Existe en el ecosistema de TS algo parecido a la librería EsCodegen que me permita desde un árbol TS generar el código TS?
No — sí están en la librería typescript, pero desde TypeScript 4.x la API cambió.
Véase docs/r1.md.
Estoy implementando tu ejemplo mínimo (el primero) y obtengo error para todos los ts.create.... Como que no existen:
La propiedad "createVariableStatement" no existe en el tipo "typeof ts". ¿Quería decir "isVariableStatement"?ts(2551)
typescript.d.ts(9054, 14): "isVariableStatement" se declara aquí.
¿Están en otra librería y no en typescript?
Véase docs/r2.md.
En tu ejemplo de tsmorph obtengo este error:
El tipo '"const"' no se puede asignar al tipo 'VariableDeclarationKind'.
Véase docs/r3.md.