Skip to content

Explore RBS Migration Strategies #2488

@jesse-shopify

Description

@jesse-shopify

I've been experimenting with the workflow and wanted to document a few issues that have come up already.

Cases not handled by spoom

  1. abstract and interface - spoom does not convert these signatures. There are not usually a lot of these. They can be converted manually. However, in the essentials migration we sometimes found these annotations were not accurate. This may be fixed at this point in sorbet, but these will be worth watching.
    • it has been suggested that we delay these until after we have a better solution for abstract methods, however, that appears to be a significant blocked.
  2. RBS does not have support for singleton class type: https://github.com/Shopify/team-ruby-dx/issues/1460

Other considerations

  1. RuboCop and styling - There may be style failures that are unrelated to the code being changed. When checking styles with --include-branch-commits this may be checking files that have not been checked recently and style rules have changed.
    • Should we style with the RBS changes or cleanup styles separately, possibly before-hand?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions