Skip to content

Use Rubydex to document symbols instead of YARD#2524

Open
Morriar wants to merge 6 commits intomainfrom
at-rubydex-graph
Open

Use Rubydex to document symbols instead of YARD#2524
Morriar wants to merge 6 commits intomainfrom
at-rubydex-graph

Conversation

@Morriar
Copy link
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
Signed-off-by: Alexandre Terrasa <alexandre.terrasa@shopify.com>
@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 3 times, most recently from a15572b to 01951e3 Compare March 6, 2026 16:50
Morriar added 4 commits March 6, 2026 12:17
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 Morriar force-pushed the at-rubydex-graph branch from 01951e3 to a7c1387 Compare March 6, 2026 18:15
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 dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants