禁用文件夹的eslint规则

Dev*_*lae 125 eslint

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

YaT*_*ras 217

要忽略eslint规则中的某些文件夹,我们可以.eslintignore在根目录中创建该文件,并在那里添加我们想要省略的文件夹的路径(与之相同.gitignore).

用法示例

# 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
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案并未真正回答原始问题,该问题询问如何禁用特定目录的*特定*规则.在这里,您将禁用给定目录的*all*规则.更好的答案在这里:/sf/answers/2892176101/ (18认同)
  • 无论如何,是否需要在.eslintrc.json配置文件中配置要忽略的目录,因此我们不需要另一个.estlint文件,并且可以从`eslint-config-myconfig`共享配置中继承忽略值? (3认同)
  • 为了回答我一年前的评论,从 ESLint 6.7.0+ 开始,您现在可以使用顶级属性“ignorePatterns”来提供要忽略的模式数组。请在此处阅读发布公告:https://eslint.org/blog/2019/11/eslint-v6.7.0-released (3认同)
  • 摘录自[ESLint文档](https://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories)“ _除了.eslintignore文件中的任何模式之外,ESLint始终忽略/中的文件node_modules / *和/bower_components/*._”,因此无需添加`/ node_modules`,仅/ dist就足以排除这两个目录。在指定(子)目录时,也支持全局模式。 (2认同)

Gré*_*ima 61

在 ESLint 6.7.0+ 中使用“ignorePatterns”:[]。

您可以在配置文件中使用ignorePatterns告诉ESLint忽略特定文件和目录。

.eslintrc.js的示例

module.exports = {
  env: {
    // ...
  },
  extends: [
    // ...
  ],
  parserOptions: {
    // ...
  },
  plugins: [
    // ...
  ],
  rules: {
    // ...
  },
  ignorePatterns: ["src/test/*"], // <<< ignore all files in test folder
};
Run Code Online (Sandbox Code Playgroud)

或者您可以忽略具有某些扩展名的文件:

ignorePatterns: ['**/*.js']
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读用户指南文档。

https://eslint.org/docs/user-guide/configuring/ignoring-code


Alb*_*rez 19

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

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}
Run Code Online (Sandbox Code Playgroud)

  • 这是我在搜索中寻找的实际答案。 (4认同)
  • 这个答案更好,因为您可以关闭给定目录的_特定_规则。而不是仅仅关闭一个目录的所有规则。 (3认同)
  • 这最初对我不起作用。确保该文件夹中没有包含“extends: "../.eslintrc.js"”的“.eslintrc.js”! (3认同)
  • 在这种方法中,有什么解决方案可以关闭该文件夹的所有eslint吗? (3认同)