如何禁用“未找到规则‘自定义规则’的定义”错误?

Kev*_*vez 6 eslint

由于我无法控制的原因,我维护的代码库在两个不同的环境中使用两个不同的规则集进行了检查。其中一种环境有规则,而另一种则没有。第二个构建由于 "definition for rule '{custom_rule}' was not found"错误而失败。

同样,由于我无法控制的原因,我无法合并规则集。如何在 ESLint 上禁用这些“未找到定义”错误,以便我的构建成功?

编辑:为了澄清,我有这样的事情:

11 ...
12 // eslint-disable-next-line custom-rule
13 var thing = new Thing();
14 ...
Run Code Online (Sandbox Code Playgroud)

错误类似于以下内容:

12:3 error  Definition for rule 'custom-rule' was not found  fb-www/extra-arrow-initializer
Run Code Online (Sandbox Code Playgroud)

Kev*_*vez 4

我在 ESLint Discord 服务器上询问了这个问题,并从 Nicholas Zakas 那里得到了答案。我假设这是最终的答案,因为作为原始作者和主要贡献者,如果有替代方案,我想尼古拉斯会知道。

\n

他建议我为这些规则名称创建虚拟规则;

\n
\n

@keved我\xe2\x80\x99m不确定还有\xe2\x80\x99还有很多其他事情要做。您\xe2\x80\x99 正在引用不\xe2\x80\x99 存在的规则,这是一个错误。我唯一能想到的另一件事是在您的存储库中创建一个虚拟插件,该插件仅在 Travis 构建期间引用。只要存在具有给定名称的规则,您\xe2\x80\x99 就可以避免该错误。该规则实际上不需要执行任何操作,因此您可以只拥有一个虚拟规则并将其分配给每个规则名称。

\n
\n

不和谐答案的屏幕截图

\n