我有一个带有服务器和前端的单播。我想在我的回购的前端组件中加入一组定制的eslint规则。我找不到一种方法来告诉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,但是我希望看到console语句被输出。当我的intellij尝试读取配置时,我得到了错误;
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
发布于 2019-09-30 16:24:24
不是内置到eslint中的解决方案,但是这可以用下面的eslint插件来完成;
npmjs.com/eslint-plugin-rulesdir
发布于 2019-12-04 06:04:15
如果我错了就纠正我,但这种反模式不是吗?我想你应该在每个包目录里都有秘密。
/
- package.json
/packages
/pkg-1
- .eslintrc.json
/pkg-2
- .eslintrc.json请参阅这里获得更多信息,这是一个更广泛的帖子,但应该会给您提供一些指导。
https://stackoverflow.com/questions/58167801
复制相似问题