GSX uses tree-sitter API so you can grep for some JSX elements accross your project.
$ gsx 'Button' // search all <Button> in your codebase
$ gsx 'Button.variant' // search all <Button> that have variant props
$ gsx 'Button.variant,size' // search all <Button> that have variant AND size props
$ gsx 'Button.variant,^size' // search all <Button> that have variant AND not size props
GSX uses ripgrep for an initial filtering stage. This reduces the number of files requiring AST construction.
The project embeds as git submodules
$ git clone --recursive https://github.com/flocks/gsx
$ cd gsx
$ make
$ sudo make install