默认加载eslint插件规则

Load eslint plugin rules by default

我创建了一个带有两个规则的 eslint 插件(即 eslint-plugin-components):no-waitno-huge-timeout。如果我像这样将这两条规则添加到 .eslintrc,eslint 将正常工作:

{
  "extends": "airbnb-base",
  "plugins": ["components"],
  "rules": {
    "components/no-wait": 2,
    "components/no-huge-timeouts": 2
  }
}

我一直在尝试做的是将它们加载到我的插件索引中,如下所示:

'use strict';

var requireIndex = require('requireindex');

module.exports.rules = requireIndex(__dirname + '/lib/rules');

module.exports.configs = {
  rules: {
    'components/no-wait': 2,
    'components/no-huge-timeouts': 2
  }
};

但是这样eslint不会加载它们。我的问题是是否可以做我想做的事,我该怎么做。

根据 documentation,您必须在 configs 中包含命名配置:

module.exports.configs = {
  some_name: {
    rules: {
      'components/no-wait': 2,
      'components/no-huge-timeouts': 2
    }
  }
};

你会 reference that named configuration 在你的 .eslintrc:

{
  "plugins": ["components"],
  "extends": [
    "airbnb-base",
    "plugin:components/some_name"
  ]
}