我理解你的感受,而且我发现这是“将插件与核心捆绑”带来的最具影响力的技术难题之一。我们有一些分叉的插件,在不移除捆绑插件的情况下,让它们正常工作非常复杂。
我不认为 Jay 是那个意思。一个插件也可以覆盖另一个插件非常特定的部分。
最好的方法是说服团队你的代码值得合并到官方插件中。如果你的修改是通用的或足够灵活,这将是可行的。我看到你已经创建了一个分叉,而且你的修改/添加非常干净。也许硬编码的“Flagged”字符串可以放在翻译文件中,如果你让 :flagged 默认为 false,那么你就无需用额外的参数修改原始事件处理程序,但除此之外,它看起来是值得的。如果我是你,我会让它保持最新,打开一个 PR 并在插件主题中讨论此事。
如果这条路走不通,你可以简单地构建一个覆盖你更改的这三个函数,并添加 on(:reviewable_created) 处理程序的插件。