【问题标题】:Adding Sorbet RBI files to gems将 Sorbet RBI 文件添加到 gems
【发布时间】:2020-03-20 06:47:03
【问题描述】:

我正在研究如何将 Sorbet RBI 文件添加到我维护的 gem 中,并且我正在尝试找出正确的过程。不过,我不想让 Sorbet 作为 gems 的运行时依赖项,所以这意味着将所有类型信息放在单独的 RBI 文件中。

我目前对此的疑问是:

  • 我是否将自己的rbi 文件添加到./sorbet/rbi/gemname.rbi?如果我将 Sorbet 打包到已发布的 gem 文件中,那是默认情况下的样子吗?
  • 是否应该在已发布的 gem 文件中包含其他自动生成的 RBI 文件(在 ./sorbet/rbi/sorbet-typed./sorbet/rbi/hidden-definitions 中)?
  • 我是否应该在我的 gem 文件中包含 typed pragma 注释,即使类型信息被分离到一个 RBI 文件中?如果是这样,它应该反映评论所在文件中存在的类型信息,还是应该反映通过 RBI 文件可用的类型信息?

【问题讨论】:

  • 所以你是在征求意见?
  • @theTinMan Sorbet 团队指导人们在这里提出问题,特别是如果他们的文档中没有明确的问题,因此我正在这样做。我不觉得我在征求意见,而是:我应该如何做才能确保它们符合 Sorbet 团队的期望和代码。

标签: ruby rubygems sorbet


【解决方案1】:

通过阅读the custom RBI content,我的理解(我在一条类似的船上)是他们建议将定义写入 gem 根目录的 rbi 目录中。我认为他们不应该进入 sorbet 目录,因为该文件变得非常大(并且您不希望 gem 用户不得不下载重复定义的 MB)。

我一直将typed 符号放在我有定义的库文件中,并将 RBI 文件分开。 srb tc 选择定义(并酌情抱怨)。这意味着我不需要将 sorbet 添加为 gem 依赖项(开发除外)。

【讨论】:

  • 我应该注意,这似乎并没有将它们添加到测试中,这肯定会降低它的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
相关资源
最近更新 更多