tapioca
tapioca copied to clipboard
The swiss army knife of RBI generation
Pulling this out of the Sorbet Slack space and putting it here in case people are surprised by this and can find something about it. I noticed this pattern in...
#1571 was added to handle `NonNull` types, but in #1695 we [found](https://github.com/Shopify/tapioca/pull/1695#discussion_r1362536288) that the `type_for` helper's `NonNull` branch is calling a non existing method, which indicates that the branch was...
We can merge the annotation RBIs with the gem RBI during `tapioca gem` command instead of relying on `tapioca annotations`. I think not worrying about the `annotations` command can simplify...
### Motivation I was seeing the same error as #1485. ### Implementation Added the import recommended by @tadman. ### Tests I don't think there's an easy way to test this,...
There might be a compatibility issue with Rubygems where `Gem::DefaultUserInteraction` is not automatically loaded, as in: ```shell $ tapioca dsl .../.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/tapioca-0.11.5/lib/tapioca.rb:22:in `silence_warnings': uninitialized constant Gem::DefaultUserInteraction (NameError) ``` Likely because of...
### Motivation Fixes #1634 ### Implementation The implementation isn't the most elegant, but it's a working starting point. The main point was to register our new subclass in our lookup...
# Issue Referencing a generic class inside of the `sig` of its own `.inherited` method will cause infinite recursion: `tapioca dsl --verify` crashes with a `SystemStackError` Sample abridged backtrace ```...
It can be hard to debug when one isn't familiar with the configuration of the repository. We can print the list of excluded gems during the `tapioca gem` command to...
I believe `--only` is mostly used as a debugging tool to test specific compiler output. However, its output is hard to understand since tapioca purges the files that aren't generated...
I encountered a `RuntimeError: Tapioca::Dsl::Compiler is already declared as abstract`, while setting up a local development environment. The issue first occurred while I was following Sorbet's guide and I've since...