davidbonnet / astring

🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST.
https://david.bonnet.cc/astring/demo/
MIT License
1.17k stars 57 forks source link

Generating a typescript file #701

Open yxshv opened 9 months ago

yxshv commented 9 months ago

I generated the ast of a typescript react code using acorn and acorn-ts plugin... But i am not sure how to generate a tsx code, and not sure if its possible with astring

ayoreis commented 8 months ago

Did you find anything?

wooorm commented 8 months ago

how do you get types in the estree AST anyway?

yxshv commented 8 months ago

how do you get types in the estree AST anyway?

using acorn-ts

wooorm commented 8 months ago

why use a package name that doesn’t exist 🤷‍♂️ that’s called acorn-typescript.

It will help you to parse typescript script into typeScript AST

A TypeScript AST sounds like it’s not estree.

yxshv commented 8 months ago

A TypeScript AST sounds like it’s not estree.

yeah thats why I closed this issue...

you will probably have to write your own generator, if you want to use it

davidbonnet commented 8 months ago

Thanks for raising that up @yxshv. Being able to generate TypeScript annotations is indeed a useful feature to add. Astring being ESTree-based, it should use an extension of it, such as the one produced by Eslint's TypeScript parser, which adds typeAnnotation properties to existing ESTree node types, and extra nodes for type references and declarations.