Shopify / tapioca

The swiss army knife of RBI generation
MIT License
728 stars 121 forks source link

Tapioca tries to load DSL compilers from old versions of Tapioca #1934

Open amomchilov opened 3 months ago

amomchilov commented 3 months ago

Tapioca can sometimes crash, caused by an error raised by a DSL compiler from an old/inactive version of Tapioca. For example, I was using v0.14.3, but got an errr caused by a DSL compiler from an older copy of Tapioca.

Unfortunately, I didn't capture the full stack trace, but it started with:

/Users/alex/.gem/ruby/3.3.0/gems/identity_cache-1.5.6/lib/identity_cache/railtie.rb:4:in `<module:IdentityCache>': uninitialized constant Rails::Railtie (NameError)

  class Railtie < Rails::Railtie
                       ^^^^^^^^^

I have these versions installed (from gem info tapioca):

(0.14.3): /Users/alex/.gem/ruby/3.3.0
(0.14.2): /Users/alex/.gem/ruby/3.3.0
(0.13.1): /Users/alex/.gem/ruby/3.3.0
(0.12.0): /Users/alex/.gem/ruby/3.3.0
(0.11.14): /Users/alex/.gem/ruby/3.3.0
(0.11.12): /Users/alex/.gem/ruby/3.3.0
(0.11.8): /Users/alex/.gem/ruby/3.3.0
(0.11.4): /Users/alex/.gem/ruby/3.3.0

The culprit is here:

https://github.com/Shopify/tapioca/blob/126920b3327d56a9c43d680106e1bb302ca81de3/lib/tapioca/loaders/dsl.rb#L66-L68

Perhaps surprisingly, Gem.find_files is finding files from all versions of the Tapioca gem. For example:

Output of ::Gem.find_files("tapioca/dsl/compilers/*.rb") ```ruby > ::Gem.find_files("tapioca/dsl/compilers/*.rb") [ [ 0] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/aasm.rb", [ 1] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [ 2] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/action_mailer.rb", [ 3] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/action_text.rb", [ 4] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_job.rb", [ 5] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_model_attributes.rb", [ 6] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [ 7] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [ 8] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_associations.rb", [ 9] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_columns.rb", [ 10] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [ 11] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_enum.rb", [ 12] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [ 13] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_relations.rb", [ 14] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_scope.rb", [ 15] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [ 16] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_store.rb", [ 17] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [ 18] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_resource.rb", [ 19] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_storage.rb", [ 20] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_support_concern.rb", [ 21] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [ 22] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/config.rb", [ 23] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/frozen_record.rb", [ 24] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/graphql_input_object.rb", [ 25] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/graphql_mutation.rb", [ 26] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/identity_cache.rb", [ 27] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [ 28] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/kredis.rb", [ 29] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [ 30] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/protobuf.rb", [ 31] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/rails_generators.rb", [ 32] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [ 33] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/smart_properties.rb", [ 34] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/state_machines.rb", [ 35] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.3/lib/tapioca/dsl/compilers/url_helpers.rb", [ 36] "/Users/alex/.gem/ruby/3.3.0/gems/bluejay-0.14.0-arm64-darwin/lib/tapioca/dsl/compilers/directive.rb", [ 37] "/Users/alex/.gem/ruby/3.3.0/gems/bluejay-0.14.0-arm64-darwin/lib/tapioca/dsl/compilers/input_object_type.rb", [ 38] "/Users/alex/.gem/ruby/3.3.0/gems/bluejay-0.14.0-arm64-darwin/lib/tapioca/dsl/compilers/interface_type.rb", [ 39] "/Users/alex/.gem/ruby/3.3.0/gems/bluejay-0.14.0-arm64-darwin/lib/tapioca/dsl/compilers/object_type.rb", [ 40] "/Users/alex/.gem/ruby/3.3.0/gems/bluejay-0.14.0-arm64-darwin/lib/tapioca/dsl/compilers/schema.rb", [ 41] "/Users/alex/.gem/ruby/3.3.0/gems/extensions_runtime-13.0.2/lib/tapioca/dsl/compilers/extension_implementation.rb", [ 42] "/Users/alex/.gem/ruby/3.3.0/gems/graphql-shopify-0.17.0/lib/tapioca/dsl/compilers/configure_type.rb", [ 43] "/Users/alex/.gem/ruby/3.3.0/gems/graphql-shopify-0.16.1/lib/tapioca/dsl/compilers/configure_type.rb", [ 44] "/Users/alex/.gem/ruby/3.3.0/gems/measured-3.0.0/lib/tapioca/dsl/compilers/measured_rails.rb", [ 45] "/Users/alex/.gem/ruby/3.3.0/gems/paypal_ruby-4.11.0/lib/tapioca/dsl/compilers/request_base.rb", [ 46] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/aasm.rb", [ 47] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [ 48] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/action_mailer.rb", [ 49] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/action_text.rb", [ 50] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_job.rb", [ 51] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_model_attributes.rb", [ 52] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [ 53] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [ 54] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_associations.rb", [ 55] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_columns.rb", [ 56] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [ 57] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_enum.rb", [ 58] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [ 59] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_relations.rb", [ 60] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_scope.rb", [ 61] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [ 62] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_store.rb", [ 63] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [ 64] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_resource.rb", [ 65] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_storage.rb", [ 66] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_support_concern.rb", [ 67] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [ 68] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/config.rb", [ 69] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/frozen_record.rb", [ 70] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/graphql_input_object.rb", [ 71] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/graphql_mutation.rb", [ 72] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/identity_cache.rb", [ 73] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [ 74] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/kredis.rb", [ 75] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [ 76] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/protobuf.rb", [ 77] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/rails_generators.rb", [ 78] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [ 79] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/smart_properties.rb", [ 80] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/state_machines.rb", [ 81] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.14.2/lib/tapioca/dsl/compilers/url_helpers.rb", [ 82] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/aasm.rb", [ 83] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [ 84] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/action_mailer.rb", [ 85] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/action_text.rb", [ 86] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_job.rb", [ 87] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_model_attributes.rb", [ 88] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [ 89] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [ 90] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_associations.rb", [ 91] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_columns.rb", [ 92] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [ 93] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_enum.rb", [ 94] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [ 95] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_relations.rb", [ 96] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_scope.rb", [ 97] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [ 98] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_store.rb", [ 99] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [100] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_resource.rb", [101] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_storage.rb", [102] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_support_concern.rb", [103] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [104] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/config.rb", [105] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/frozen_record.rb", [106] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/graphql_input_object.rb", [107] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/graphql_mutation.rb", [108] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/identity_cache.rb", [109] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [110] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/kredis.rb", [111] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [112] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/protobuf.rb", [113] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/rails_generators.rb", [114] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [115] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/smart_properties.rb", [116] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/state_machines.rb", [117] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.13.1/lib/tapioca/dsl/compilers/url_helpers.rb", [118] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/aasm.rb", [119] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [120] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/action_mailer.rb", [121] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/action_text.rb", [122] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_job.rb", [123] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_model_attributes.rb", [124] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [125] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [126] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_associations.rb", [127] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_columns.rb", [128] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [129] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_enum.rb", [130] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [131] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_relations.rb", [132] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_scope.rb", [133] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [134] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_store.rb", [135] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [136] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_resource.rb", [137] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_storage.rb", [138] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_support_concern.rb", [139] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [140] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/config.rb", [141] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/frozen_record.rb", [142] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/graphql_input_object.rb", [143] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/graphql_mutation.rb", [144] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/identity_cache.rb", [145] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [146] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/kredis.rb", [147] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [148] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/protobuf.rb", [149] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/rails_generators.rb", [150] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [151] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/smart_properties.rb", [152] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/state_machines.rb", [153] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.12.0/lib/tapioca/dsl/compilers/url_helpers.rb", [154] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/aasm.rb", [155] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [156] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/action_mailer.rb", [157] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_job.rb", [158] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_model_attributes.rb", [159] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [160] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [161] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_associations.rb", [162] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_columns.rb", [163] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [164] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_enum.rb", [165] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [166] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_relations.rb", [167] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_scope.rb", [168] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [169] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_store.rb", [170] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [171] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_resource.rb", [172] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_storage.rb", [173] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_support_concern.rb", [174] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [175] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/config.rb", [176] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/frozen_record.rb", [177] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/graphql_input_object.rb", [178] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/graphql_mutation.rb", [179] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/identity_cache.rb", [180] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [181] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/kredis.rb", [182] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [183] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/protobuf.rb", [184] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/rails_generators.rb", [185] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [186] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/smart_properties.rb", [187] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/state_machines.rb", [188] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.14/lib/tapioca/dsl/compilers/url_helpers.rb", [189] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/aasm.rb", [190] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [191] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/action_mailer.rb", [192] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_job.rb", [193] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_model_attributes.rb", [194] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [195] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_model_validations_confirmation.rb", [196] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_associations.rb", [197] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_columns.rb", [198] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [199] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_enum.rb", [200] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [201] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_relations.rb", [202] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_scope.rb", [203] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [204] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_store.rb", [205] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [206] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_resource.rb", [207] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_storage.rb", [208] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_support_concern.rb", [209] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [210] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/config.rb", [211] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/frozen_record.rb", [212] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/graphql_input_object.rb", [213] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/graphql_mutation.rb", [214] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/identity_cache.rb", [215] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/json_api_client_resource.rb", [216] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/kredis.rb", [217] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [218] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/protobuf.rb", [219] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/rails_generators.rb", [220] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [221] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/smart_properties.rb", [222] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/state_machines.rb", [223] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.12/lib/tapioca/dsl/compilers/url_helpers.rb", [224] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/aasm.rb", [225] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [226] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/action_mailer.rb", [227] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_job.rb", [228] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_model_attributes.rb", [229] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [230] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_associations.rb", [231] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_columns.rb", [232] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [233] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_enum.rb", [234] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [235] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_relations.rb", [236] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_scope.rb", [237] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [238] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [239] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_resource.rb", [240] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_storage.rb", [241] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_support_concern.rb", [242] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [243] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/config.rb", [244] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/frozen_record.rb", [245] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/graphql_input_object.rb", [246] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/graphql_mutation.rb", [247] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/identity_cache.rb", [248] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/kredis.rb", [249] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [250] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/protobuf.rb", [251] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/rails_generators.rb", [252] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [253] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/smart_properties.rb", [254] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/state_machines.rb", [255] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.8/lib/tapioca/dsl/compilers/url_helpers.rb", [256] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/aasm.rb", [257] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/action_controller_helpers.rb", [258] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/action_mailer.rb", [259] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_job.rb", [260] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_model_attributes.rb", [261] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_model_secure_password.rb", [262] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_associations.rb", [263] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_columns.rb", [264] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_delegated_types.rb", [265] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_enum.rb", [266] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_fixtures.rb", [267] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_relations.rb", [268] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_scope.rb", [269] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_secure_token.rb", [270] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_record_typed_store.rb", [271] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_resource.rb", [272] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_storage.rb", [273] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_support_concern.rb", [274] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/active_support_current_attributes.rb", [275] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/config.rb", [276] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/frozen_record.rb", [277] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/graphql_input_object.rb", [278] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/graphql_mutation.rb", [279] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/identity_cache.rb", [280] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/kredis.rb", [281] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/mixed_in_class_attributes.rb", [282] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/protobuf.rb", [283] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/rails_generators.rb", [284] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/sidekiq_worker.rb", [285] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/smart_properties.rb", [286] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/state_machines.rb", [287] "/Users/alex/.gem/ruby/3.3.0/gems/tapioca-0.11.4/lib/tapioca/dsl/compilers/url_helpers.rb" ] ```

We would need to tweak this, to make it only search for DSL compilers from the currently active gem version (using the Bundler API, like this.