Skip to content

Use Rubydex to document symbols instead of YARD#2524

Merged
Morriar merged 5 commits intomainfrom
at-rubydex-graph
Mar 25, 2026
Merged

Use Rubydex to document symbols instead of YARD#2524
Morriar merged 5 commits intomainfrom
at-rubydex-graph

Conversation

@Morriar
Copy link
Copy Markdown
Contributor

@Morriar Morriar commented Mar 5, 2026

This PR replaces YARD/yard-sorbet with Rubydex for generating documentation in RBI files.

  • Add rubydex gem dependency and use its graph to bootstrap gem symbols (replacing the previous YARD-based approach)
  • Replace the YardDoc listener with a new Documentation listener backed by Rubydex's static index
  • Remove yard-sorbet and yard dependencies

The impact on performance is pretty nice. tapioca gems --all on Tapioca itself is now 10x faster and requires 4x less memory.

image

@Morriar Morriar requested a review from a team as a code owner March 5, 2026 21:20
@Morriar Morriar force-pushed the at-rubydex-graph branch from 0de8ab8 to d977e25 Compare March 5, 2026 21:23
@Morriar Morriar added enhancement New feature or request dependencies Pull requests that update a dependency file breaking-change Non-backward compatible change labels Mar 5, 2026
@Morriar Morriar force-pushed the at-rubydex-graph branch from d977e25 to f783982 Compare March 5, 2026 21:26
@Morriar Morriar force-pushed the at-rubydex-graph branch 4 times, most recently from 01951e3 to a7c1387 Compare March 6, 2026 18:15
@vinistock vinistock force-pushed the at-rubydex-graph branch 2 times, most recently from 45291c0 to e4d855e Compare March 18, 2026 14:48
Morriar added 3 commits March 25, 2026 14:06
Signed-off-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>
Use Rubydex to build a graph of declarations from gem files, which will be
used for documentation generation. Symbol collection for bootstrapping
continues to use the existing Sorbet-based approach.
Morriar added 2 commits March 25, 2026 14:17
Signed-off-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>
@Morriar Morriar merged commit dd09cae into main Mar 25, 2026
19 checks passed
@Morriar Morriar deleted the at-rubydex-graph branch March 25, 2026 19:49
@paracycle paracycle removed the dependencies Pull requests that update a dependency file label Mar 31, 2026
@dduugg
Copy link
Copy Markdown
Contributor

dduugg commented Apr 2, 2026

yard-sorbet author/maintainer here, nice work! i'm proud to have served you this long, i'm glad you've implemented a more performant alternative. 📉

@Morriar
Copy link
Copy Markdown
Contributor Author

Morriar commented Apr 2, 2026

yard-sorbet author/maintainer here, nice work! i'm proud to have served you this long, i'm glad you've implemented a more performant alternative. 📉

Hey @dduugg, thanks! Just to be clear: the issue wasn't with yard-sorbet but strictly with yard that was way too slow :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Non-backward compatible change enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants