eslint为什么我的插件显示未找到规则的定义?

最后发布: 2019-06-01 05:31:46


问题

我的插件

@ bluelovers / eslint-plugin https://github.com/bluelovers/ws-node-bluelovers/tree/master/packages/eslint-plugin

我的基础配置https://github.com/bluelovers/ws-node-bluelovers/blob/master/packages/eslintrc/.eslintrc.json

运行时用户配置

{
  "extends": [
    "bluelovers"
  ]
}

我可以输入用户仓库

eslint --print-config .

这可以显示配置并且没有错误,我也在列表中看到我的插件配置

   "@bluelovers/no-irregular-whitespace": [
      "error",
      {
        "skipComments": true,
        "skipStrings": false,
        "skipTemplates": false,
        "skipRegExps": false,
        "ignores": [
          " "
        ]
      }
    ],

但是当我键入eslint index.ts ,它会显示错误

   1:1   error    Definition for rule '@bluelovers/no-irregular-whitespace' was not found  @bluelovers/no-irregular-whitespace

index.ts

export const r = /[ \t\uFEFF\xA0 ]+$/;

const IRREGULAR_WHITESPACE = /[\f\v  ᠎           ​   ]+/mgu;

我怎样才能解决这个问题??

javascript node.js typescript eslint
回答

我认为关键缺失的部分是配置中没有“插件”会话。


你为什么要从“蓝调”中延伸出来? 你发布了共享配置吗? 看起来你正在开发一个插件,而不是配置。

然后你使用一个规则“@ bluelovers / no-irregular-whitespace”,带有一个领先的@。

如果你的插件发布为“@ bluelovers / eslint-plugin”,你应该尝试这样的事情:

{
    "plugins": ["@bluelovers"],
    "extends": ["@bluelovers"], // Assuming you have @bluelovers/eslint-config published, otherwise this might look different or could be skipped
    "rules": {
        "@bluelovers/no-irregular-whitespace": ["error"]
    }
}