JavaScript Ast

Open-source JavaScript projects categorized as Ast

Top 23 JavaScript Ast Projects

  • prettier

    Prettier is an opinionated code formatter.

    Project mention: 20 Best Libraries and Tools for React Developers | | 2023-01-25

    Prettier is an opinionated code formatter, it enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary. It is very useful to keep your code readable and make sure that the code format stays consistent when working in a team.

  • Acorn

    A small, fast, JavaScript-based JavaScript parser

    Project mention: Árvore de sintaxe abstrata, oque são e aonde vivem. | | 2022-12-15
  • Klotho

    AWS Cloud-aware infrastructure-from-code toolbox [NEW]. Build cloud backends with Infrastructure-from-Code (IfC), a revolutionary technique for generating and updating cloud infrastructure. Try IfC with AWS and Klotho now (Now open-source)

  • remark

    remark is a popular tool that transforms markdown with plugins. These plugins can inspect and change your markup. You can use remark on the server, the client, CLIs, deno, etc. (by remarkjs)

    Project mention: Contentlayer with next/image | | 2023-01-04

    contentlayer uses remark to parse the markdown in an mdast. We can now use remark plugins to modify the mdast. Then rehype comes into play and converts the mdast into a hast. rehype plugins can now modify the hast. Finally the hast is converted into react components.

  • astexplorer

    A web tool to explore the ASTs generated by various parsers.

    Project mention: Why different curly brace position? | | 2023-01-12

    You can explore the complexities of how braces affect the parser using something like

  • gogocode

    GoGoCode is a transformer for JavaScript/Typescript/HTML based on AST but providing a more intuitive API.

    Project mention: The last piece of the puzzle to upgrade Vue3 | | 2022-02-27

    This is the front-end team at Alimama. Before, we released a Vue conversion plug-in based on the code conversion tool GoGoCode , it can help you upgrade the Vue2 code in the project to Vue3, but we also received feedback from many friends: I used Based on Vue2's ElementUI, it doesn't support Vue3 yet. I can't run my business code after upgrading it.

  • unified

    ☔️ interface for parsing, inspecting, transforming, and serializing content through syntax trees

    Project mention: Universal compiler using WASM architecture | | 2022-09-22

    Why universal? Because a lot of languages are simillar in a bunch of ways and it might be good to reuse existing parts of the compiler to speed up the process of writing new DSLs for example. Also a pretty big use-case is not for compilers itself but just for transformers like Markdown to HTML, there are already a lot of libraries (like for ASTs and for parsing) that try achieve similar goals but they are not working together.

  • ESDoc

    ESDoc - Good Documentation for JavaScript

    Project mention: How to properly document a React/Redux application? | | 2022-04-18

    In this post, the tool react-docgen is presented, and I have stumble upon esdoc as well. Whereas esdoc does automatic generation of documentation, react-docgen extracts the information of the React components and puts it into a JSON file.

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • escodegen

    ECMAScript code generator

    Project mention: How to make your own programming language in JavaScript | | 2022-05-07

    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.

  • retext

    natural language processor powered by plugins part of the @unifiedjs collective

    Project mention: Is there a library for nodejs that can indentify if string is a question, suggestion, order, advice etc. | | 2023-01-15
  • birdseye

    Graphical Python debugger which lets you easily view the values of all evaluated expressions

    Project mention: Show HN: A 100% free and interactive Python course for coding beginners | | 2023-01-07

    > Is there any way for users to construct their own multiple stage tutorials?

    I really hope some kind of GUI to do that can exist one day, but it's definitely a complicated feature that I'd need help from contributors to build. Same for graphical output.

    > (It looks like we can do single questions)

    I think you're talking about the question wizard. That's for helping people to write good quality questions about their own struggles to post on StackOverflow and similar sites. It's not for making 'challenges' for others to solve.

    > Incredibly generous of you to make it open source!

    Thank you! I'm really trying to improve the state of education and make the world a better place. I hope that in addition to directly helping users, I can inspire other educators, raise the bar, and help them build similar products. To this end, futurecoder is powered by many open source libraries that I've created which are designed to also be useful in their own right:

    Debuggers: these are integrated in the site but also usable in any environment:


  • micromark

    the smallest commonmark (optionally gfm) compliant markdown parser that exists; new foundation for @unifiedjs (hundreds of projects w/ billions of downloads for dealing w/ content)

    Project mention: I'm a little confused on how to handle blog posts and blog post snippets | | 2023-01-17

    You mean when fetching the data on the client, you don't want it to come along with the styling? Is it in a tag?

    I just want to wrap my head around the problem more properly, and what you're trying to solve

    Also, if the blog post data was created with styling in the first place then what's the purpose for removing the styling? The only reason I can imagine is that the same blog post data would be used for two different purposes, one needing the styled version while the other would need the unstyled version. Otherwise, if the data is only ever going to be used without styles, I would just make sure they're added without styles in the first

    Also, if you want to store markdown instead of html in the database, you can parse it into HTML on the client using a library like micromark ( or similar

  • rehype

    HTML processor powered by plugins part of the @unifiedjs collective

    Project mention: Serving Docusaurus images with Cloudinary | | 2023-01-17

    Now we have our Cloudinary account set up, we can use it with Docusaurus. To do so, we need to create a rehype plugin. This is a plugin for the rehype HTML processor. It's a plugin that will transform the HTML image syntax into a Cloudinary URL.

  • astring

    🌳 Tiny and fast JavaScript code generator from an ESTree-compliant AST.

    Project mention: How do I edit an AST while parsing it? | | 2022-04-16

    and For rebuilding the tree

  • estraverse

    ECMAScript JS AST traversal functions

  • solhint

    Solhint is an open source project created by Its goal is to provide a linting utility for Solidity code.

    Project mention: Using Remix Analyzer For Solidity Syntax Analysis. | | 2023-01-10

    There are two other similar tools: slither and solhint.

  • webassemblyjs

    Toolchain for WebAssembly

    Project mention: the eye-opener commit | | 2022-09-18

    So now, to try to dig ourselves out of this fuckery we have to build emulation layers for the considered solution to run on the stupid solution.

  • esquery

    ECMAScript AST query library.

  • php-parser

    :herb: NodeJS PHP Parser - extract AST or tokens (by glayzzle)

  • putout

    🐊 Pluggable and configurable JavaScript Linter and code transformer with built-in ESLint and Babel support for js, jsx typescript, flow, markdown, yaml and json. Write declarative codemods in a simplest possible way 😏

    Project mention: Modern, faster alternatives to ESLint | | 2022-05-03

    Due to its plugin-first architecture, the initial API is kept as lean as possible, preventing unnecessary bloat and allowing the developer the choice of extension. Some plugin rules are also smaller than those available in ESLint, e.g., the debugger rule. We can also use Putout with ESLint by allowing Putout to handle code transformations while ESLint handles any formatting broken after the code transformation. We can use the plugin eslint-plugin-putout to help with this integration.

  • astq

    Abstract Syntax Tree (AST) Query Engine

    Project mention: Navigate ASTs with x-path-like queries | | 2022-06-30
  • Rocambole

    Recursively walk and transform EcmaScript AST

  • jsx-ast-utils

    AST utility module for statically analyzing JSX

  • iamfast

    AWS IAM policy generation from application code

    Project mention: iamfast | | 2023-01-24
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-25.

JavaScript Ast related posts


What are some of the best open-source Ast projects in JavaScript? This list will help you:

Project Stars
1 prettier 44,675
2 Acorn 9,082
3 remark 5,916
4 astexplorer 5,272
5 gogocode 3,986
6 unified 3,640
7 ESDoc 2,733
8 escodegen 2,479
9 retext 2,225
10 birdseye 1,530
11 micromark 1,358
12 rehype 1,184
13 astring 996
14 estraverse 893
15 solhint 843
16 webassemblyjs 715
17 esquery 649
18 php-parser 477
19 putout 441
20 astq 185
21 Rocambole 170
22 jsx-ast-utils 137
23 iamfast 133
Write Clean JavaScript Code. Always.
Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.