escodegen
ts-lite
escodegen | ts-lite | |
---|---|---|
3 | 1 | |
2,620 | 48 | |
0.2% | - | |
1.2 | 0.0 | |
25 days ago | over 2 years ago | |
JavaScript | JavaScript | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
escodegen
-
How to make your own programming language in JavaScript
What's cool about Esprima syntax is that there are tools that generate code based on their AST. An example is escodegen which takes Esprima AST as input and outputs JavaScript code. You can think that you can use just strings to generate code, but this solution will not scale. In this tutorial, I show only a single if statement but you will run into a lot of problems if you will have more complex code.
- Show HN: Monocle – bidirectional code generation library
-
Abstract Syntax Trees: They're Actually Used Everywhere -- But What Are They?
Unparse the modified AST back into Javascript: Escodegen
ts-lite
-
Show HN: Monocle – bidirectional code generation library
This is neat! I’m curious if you see this being extended for other languages, or the concept being applied in other projects?
As for similar concepts, several projects by builder.io have some overlap. Most notably Mitosis[1], but I’d be shocked if TS-Lite[2] isn’t using similar techniques. Potentially Qwik[3] as well but I’m not sure, I would have bet that’s using Mitosis but it looks like that’s the other way around.
1: https://github.com/BuilderIO/mitosis
2: https://github.com/BuilderIO/ts-lite/tree/main/packages/core
3: https://github.com/BuilderIO/qwik
What are some alternatives?
recast - JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator
qwik - Instant-loading web apps, without effort
esprima - ECMAScript parsing infrastructure for multipurpose analysis
espree - An Esprima-compatible JavaScript parser
Monocle - Optics library for Scala
astring - 🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST.
openapi-preprocessor - An authoring tool for OpenAPI specifications
estree - The ESTree Spec
Babel (Formerly 6to5) - 🐠 Babel is a compiler for writing next generation JavaScript.
estraverse - ECMAScript JS AST traversal functions
jquery.terminal - jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands