[英]ESLint shared configuration for all rules within a plugin
我创建了一个 es lint 插件,它为我提供了一个规则,该规则检查提供的导入不在黑名单导入的动态列表中。
该列表是从 JSON 文件加载的。
目前我在规则的create
方法中加载这个文件,但是正在为每个文件重新创建规则,这反过来又使 linter 变慢。
我在 ESLint 文档中找到了以下文本,但没有提到在调用 linter 中共享某些全局对象的方法。
https://eslint.org/docs/latest/user-guide/configuring/configuration-files#adding-shared-settings
ESLint 支持将共享设置添加到配置文件中。 插件使用设置来指定应该在其所有规则之间共享的信息。 您可以将设置对象添加到 ESLint 配置文件中,它将提供给正在执行的每个规则。 如果您要添加自定义规则并希望它们能够访问相同的信息并且易于配置,这可能会很有用。
这支持吗? 我已经尝试在插件的 index.js 中导出一个设置对象,但它根本没有被拾取。
module.exports.settings = {
"sharedData": "Hello"
}
看起来我已经有了解决方法,但想知道是否有人会提出更好的解决方案。
我最后做的是将配置加载到规则本身的索引中,该索引是在 ESLint 开始时加载的。
而不是依赖于context.getCwd()
我已经退回到 _dirname。 事实证明,这对我的用例来说已经足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.