{"id":13492251,"url":"https://github.com/cowchimp/awesome-ast","last_synced_at":"2025-10-19T18:11:14.938Z","repository":{"id":81177431,"uuid":"54295937","full_name":"cowchimp/awesome-ast","owner":"cowchimp","description":" A curated list of awesome AST resources","archived":false,"fork":false,"pushed_at":"2020-05-18T08:00:10.000Z","size":6,"stargazers_count":223,"open_issues_count":0,"forks_count":16,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-05-18T19:46:21.511Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cowchimp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-03-20T02:00:26.000Z","updated_at":"2024-04-06T22:12:39.000Z","dependencies_parsed_at":"2023-03-08T23:31:03.581Z","dependency_job_id":null,"html_url":"https://github.com/cowchimp/awesome-ast","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowchimp%2Fawesome-ast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowchimp%2Fawesome-ast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowchimp%2Fawesome-ast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowchimp%2Fawesome-ast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cowchimp","download_url":"https://codeload.github.com/cowchimp/awesome-ast/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243803237,"owners_count":20350363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:04.404Z","updated_at":"2025-10-19T18:11:14.847Z","avatar_url":"https://github.com/cowchimp.png","language":null,"funding_links":[],"categories":["Others","Technical","Other Lists","Meta","Awesome Lists"],"sub_categories":["awesome-*","TeX Lists","Debian","ant-design"],"readme":"# Awesome AST [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\n\u003e A curated list of awesome AST resources\n\n*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing.*\n\n## JavaScript\n\n### Parsers\n\n- [ESTree spec](https://github.com/estree/estree)\n  - [Esprima](https://github.com/jquery/esprima)\n  - [Acorn](https://github.com/ternjs/acorn)\n  - [Babylon](https://github.com/babel/babylon)\n  - [Espree](https://github.com/eslint/espree)\n- Other specs\n  - [Shift](https://github.com/shapesecurity/shift-parser-js)\n\n### Traversal\n\n- [estraverse](https://github.com/estools/estraverse)\n- [esquery](https://github.com/estools/esquery)\n- [node-source-walk](https://github.com/mrjoelkemp/node-source-walk)\n- [ESLint](https://eslint.org)\n  - [Awesome ESLint](https://github.com/dustinspecker/awesome-eslint)\n  - [Writing a custom ESLint rule to spot undeclared props hiding in plain sight](http://blog.cowchimp.com/writing-a-custom-eslint-rule-to-spot-undeclared-props)\n\n### Manipulating\n\n- [falafel](https://github.com/substack/node-falafel)\n- [Babel](https://github.com/babel/babel)\n  - [Awesome Babel](https://github.com/babel/awesome-babel)\n  - [Babel Handbook](https://github.com/thejameskyle/babel-handbook)\n  - [babel-codemod](https://github.com/square/babel-codemod)\n- [jscodeshift](https://github.com/facebook/jscodeshift)\n  - [awesome jscodeshift](https://github.com/sejoker/awesome-jscodeshift)\n  - [Codemod that conservatively converts `var` to `const` or `let`](https://github.com/cpojer/js-codemod/blob/master/transforms/no-vars.js)\n\n### Code Generation\n\n- [escodegen](https://github.com/estools/escodegen)\n- [recast](https://github.com/benjamn/recast)\n\n### Editors/IDEs\n\n- [ASTExplorer.app](https://github.com/JamieMason/astexplorer.app)\n\n### Talks\n\n- [Hiking Through the JavaScript Forest](https://channel9.msdn.com/Blogs/seattlejs/2016-01-14-02) ([Slides](https://speakerdeck.com/xjamundx/hiking-through-the-javascript-forest))\n- [The hidden benefits of static analysis](https://www.youtube.com/watch?v=3ZqTvexCtZM)\n- [AST for Beginners](https://www.youtube.com/watch?v=CFQBHy8RCpg)\n- [Harnessing The Power of Abstract Syntax Trees by Jamund Ferguson](https://www.youtube.com/watch?v=8uOXIM4giH8) ([Slides](https://speakerdeck.com/xjamundx/harnessing-the-power-of-abstract-syntax-trees))\n- [Master the Art of the AST and Take Control of Your JS](https://www.youtube.com/watch?v=2W9tUnALrLg) ([Slides](https://speakerdeck.com/cowchimp/master-the-art-of-the-ast-full-stack-fest-2017))\n- [AST - The Only True Tool for Building Javascript](https://www.youtube.com/watch?v=fF_jZ7ErwUY)\n- [Evolving Complex Systems Incrementally | JSConf EU 2015](https://www.youtube.com/watch?v=d0pOgY8__JM)\n### Slides\n- [Writing custom Babel and ESLint Plugins](https://slides.com/kentcdodds/a-beginners-guide-to-asts#/)\n- [Fantastic ASTs and Where To Find Them](https://slides.com/craigspence/fantastic-asts-and-where-to-find-them#/)\n- [Javascript Tran](https://slides.com/briandipalma/javascript-tran#/)\n- [Code Transformation and Linting Workshop](https://slides.com/kentcdodds/asts-workshop#/)\n- [Hidden Gems of TypeScript Compiler](https://slides.com/vogloblinsky/hidden-gems-of-typescript-compiler#/)\n- [What the AST](https://speakerdeck.com/dkundel/sinnerschrader-tech-session-18-what-the-ast)\n- [AST: Awesome Super Tool](https://speakerdeck.com/leoasis/ast-awesome-super-tool)\n\n## Contribute\n\nContributions welcome!\n\n## License\n\n[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [cowchimp](https://github.com/cowchimp) has waived all copyright and related or neighboring rights to this work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowchimp%2Fawesome-ast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcowchimp%2Fawesome-ast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowchimp%2Fawesome-ast/lists"}