禁用文件夹的夹板规则


181

有没有办法禁用文件夹的特定规则?例如,我不想为文件test夹中的所有测试文件都需要JSDoc注释。有没有办法做到这一点?


eslint-babel似乎忽略了所有.eslint-ignore文件和设置。
ivanixmobile '18年

Answers:


301

要忽略eslint规则中的某些文件夹,我们可以.eslintignore在根目录中创建文件,然后在其中添加要忽略的文件夹的路径(与相同的方法.gitignore)。

这是ESLint文档中有关忽略文件和目录的示例:

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

34
该解决方案并没有真正回答最初的问题,该问题询问如何针对特定目录禁用特定规则。在这里,您将禁用给定目录的所有规则。更好的答案在这里:stackoverflow.com/a/41316801/882638
ericgio '18

3
ESLint文档的摘录“ 除了.eslintignore文件中的任何模式之外,ESLint始终忽略/ node_modules / *和/ bower_components / *中的文件。 ”因此,无需添加/node_modules仅需/dist排除两个目录就足够了。在指定(子)目录时也支持全局模式。
ozanmuyes

有办法用vue.config.js或package.json做到吗?
Serge

3
无论如何,是否需要在.eslintrc.json配置文件本身中配置要忽略的目录,因此我们不需要另一个.estlint文件,并且可以从eslint-config-myconfig共享配置中继承忽略值?
约书亚·品特

1
关于此有多个类似的帖子。我需要:--ignore-path和/或--ignore-pattern,我认为这也可以准确回答这个问题。
尼尔·盖·林德伯格

50

先前的答案是正确的,但是完整的答案将是“ 仅对一组文件禁用规则”,您将在其中找到禁用/启用某些文件夹的规则所需的文档(因为在某些情况下,您不会不想忽略整个事情,只禁用某些规则)。例:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}

2
这个答案更好,因为您可以关闭给定目录的特定规则。而不是仅关闭目录的所有规则。
Storm Muller

1
最初这对我不起作用。确保您的.eslintrc.js文件夹中没有带extends: "../.eslintrc.js"!的文件夹。
Florian Wendelborn

2

YAML版本:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

摩卡测试的特定规则示例:

您还可以为文件夹设置特定的环境,如下所示:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

此配置将仅针对您的测试文件夹修复有关describeit未定义)的错误消息:

/myproject/test/init-tests.js
6:1 错误 'describe'未定义no-undef
9:3 错误 'it'未定义no-undef

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.