【发布时间】:2020-01-29 17:49:53
【问题描述】:
我有一个带有服务器和前端的 monorepo。我想将一组自定义 eslint 规则合并到我的 repo 的前端组件中。我找不到告诉 eslint 在我的前端目录中的特定文件夹中有自定义规则的方法。我不想创建新的外部存储库并发布它以导入规则。到目前为止,我认为做我想做的事情的方法是在主仓库中创建一个子包(使用它自己的 package.json)。
在我的根 package.json 我有 "eslint-plugin-atlas": "file:./src/main/javascript/build/eslint",
在我的根 .eslintrc 我有 "plugin:atlas/recommended"
在 package.json 中指定的目录中,在 index.js 中,我有以下代码;
'use strict';
module.exports = {
rules: {
'tsx-qualified-class-state-definition': {
meta: {
docs: {
description: 'A test rule',
category: 'Best Practices',
recommended: true,
},
},
create: function(context) {
console.log(context, 'THIS HAS BEEN HIT');
return {};
},
},
},
configs: {
recommended: {
rules: {
'tsx-qualified-class-state-definition': 'error',
},
},
},
};
显然,上述 lint 规则不会产生正确的 linting,但我希望看到控制台语句被输出。当我的 intellij IDE 尝试读取配置时出现错误;
Error: Failed to load config "plugin:atlas/recommended" to extend from.
Referenced from: F:\dev\workspace\lepton\src\main\javascript\build\.eslintrc.json
at configMissingError (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:233:9)
at ConfigArrayFactory._loadExtendedPluginConfig (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:674:31)
at ConfigArrayFactory._loadExtends (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:607:29)
at ConfigArrayFactory._normalizeObjectConfigDataBody (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:545:25)
at _normalizeObjectConfigDataBody.next (<anonymous>)
at ConfigArrayFactory._normalizeObjectConfigData (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:491:20)
at _normalizeObjectConfigData.next (<anonymous>)
at createConfigArray (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:307:25)
at ConfigArrayFactory.loadFile (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\config-array-factory.js:382:16)
at createCLIConfigArray (F:\dev\workspace\lepton\node_modules\eslint\lib\cli-engine\cascading-config-array-factory.js:140:35)
当我运行 eslint 时出现错误 Definition for rule 'tsx-qualified-class-state-definition' was not found tsx-qualified-class-state-definition
【问题讨论】:
标签: javascript eslint