ast-grep(sg) is a fast and polyglot tool for code searching, linting, and rewriting at large scale. Think it as a hybrid of grep, eslint, and codemod. But for all programming languages with super fast running speed!
Hi everyone, I’m the maker of ast-grep, a polyglot tool for code searching, linting, and rewriting at large scale. ast-grep is fast and easy to use. You can write patterns as if you are writing ordinary code, and use them to search, lint, or rewrite code across thousands of files. You can also use YAML configuration to write custom rules for your own needs. ast-grep supports multiple languages and has a beautiful command line interface. It is written in Rust and powered by tree-sitter. ast-grep also has a fancy playground where you can try out the tool and write rules online. You can find it here: https://ast-grep.github.io/playg.... I hope you find ast-grep useful and fun to use. I would love to hear your feedback and questions. Thank you for checking out my project!
I'm using ast-grep for Vue Vine and some other projects, it's super efficient for AST node searching, and I really love the rules mechanism, it indeed provides a much more easy, intuitive and declarative way for describing my requirements, I don't need to write a lot of `walk` methods or write very imperative visitors.
For today's JavaScript ecosystem, ast-grep is really a good choice to do tasks like "Code search and analysis", "Code rewrite/refactor", "Lint for specific expressions or statements".
It's definitely worth a try!
ast-grep
MoneyVision
ast-grep