使用 bundler 和 dependabot 生成 Sorbet RBI 文件

Generate Sorbet RBI files with bundler and dependabot

我正在尝试将 Sorbet 添加到由 20 位工程师维护的 Rails 代码库中。我们使用 dependabot 非常频繁地更新 gems,我宁愿不必在每个版本升级时手动 运行 srb rbi update。有没有办法在每次 bundle install 为 运行 时自动 运行 srb rbi update,并且只更新已更改的宝石(因此不需要 5 分钟) ?

您需要 运行 来自每个 gem 的每一段代码,以便 Sorbet 创建准确的类型信息,不幸的是,因此仅更新特定的 gem 是不可能的。

理论上你可以编写一个脚本,运行使用 srb rbi update 命令,然后生成一个 git 补丁文件并自动打开一个 PR/MR,但我没有真的不知道有什么工具可以做到这一点。

我将 Dependabot 用于我的 Rails 应用程序,到目前为止,我一直在做的只是 运行 每隔一段时间更新一次命令。大多数时候,稍微过时的方法定义不会导致新版本的类型错误,除非 gem 的代码库完全改变。