Universal Gazelle is a collection of currated gazelle extensions.
The goal here is to create an one-stop-shop entrypoint of all gazelle extensions and ease the cost of adopting Bazel: generating and maintaining BUILD files overtime.
-
Currated all Gazelle extensions in one place. Limitted to open source, non-license restricted projects.
-
Use tree-sitter for parsing source files for different languages
-
Maintain/update the extensions overtime. Right now we are relying SourceGraph code monitoring + manual curation to copy patches over. We may consider automating this process with CopyBara in the future.
This is currently an on-going POC / personal research project of @sluongng.
If you are interested in using/developing this project further, please reach out to me [sluongng at gmail dot com]. PR contributions are always welcome.
For each extension will be copied over, then replace it's parser(native/regex...) with tree-sitter.
-
proto (source: rules_go)
- Copied over
- Use tree-sitter
-
Go (source: rules_go)
- Copied over
- Use tree-sitter
-
filegroup (source: rules_go)
- Copied over
-
bzl (source: skylib)
- Copied over
- Use tree-sitter
-
Python (source: rules_python)
- Copied over
- Use tree-sitter
-
Java (source: bazel-contrib/rules_jvm)
- Copied over
- Use tree-sitter
-
TypeScript / NodeJS (source: benchsci/bazel_rules_nodejs_contrib)
- Copied over
- Use tree-sitter
-
R (source: grailbio/rules_r)
- Copied over
- Use tree-sitter
-
(new language here)
- Copied over
- Use tree-sitter