【问题标题】:Make ESLint apply rules to only certain file name patterns使 ESLint 仅将规则应用于某些文件名模式
【发布时间】:2023-03-11 05:10:01
【问题描述】:

是否可以将 ESLint 配置为仅将规则应用于名称与特定模式匹配的文件?我知道目录中可以有单独的规则表,但如果结构如下:

app
|
|- module1
|     |- module1.js
|     |- module1.spec.js
|
|- module2
|     |- module2.js
|     |- module2.spec.js

我想要一个仅适用于 *.spec.js 文件的项目范围的规则。 我希望有像

这样的设置
"include-pattern": "*.spec.js"

在 .eslintrc 或任何其他类似的方式中指定特定规则应考虑哪些文件名。

【问题讨论】:

    标签: eslint


    【解决方案1】:

    更新答案:

    是的,现在有可能。在您的示例中,它可能看起来像

    {
      "rules": {
        "quotes": [ 2, "double" ]
      },
    
      "overrides": [
        {
          "files": [ "app/module1/*.js" ],
          "excludedFiles": "*.spec.js",
          "rules": {
            "quotes": [ 2, "single" ]
          }
        }
      ]
    }
    

    您可以在eslint doc page阅读更多内容。

    旧答案:

    目前不支持此功能。但对于2.0.0 版本,我们正在积极开发此功能。

    跟踪进度:https://github.com/eslint/eslint/issues/3611

    【讨论】:

      【解决方案2】:

      临时解决方法是使用 .eslintignore 文件,里面有这样的内容:

      *.js !*.spec.js

      【讨论】:

        【解决方案3】:

        只需在你的 package.json 中创建一个“lint”脚本并附加你想要的任何模式:

        "lint": "npx eslint src/**/*.ts test/**/*.ts",
        

        然后npm run lint

        我还创建了一个 bash 别名 alias n='npm run',所以 n lint 对我有用..

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-11
          • 1970-01-01
          • 1970-01-01
          • 2017-07-20
          • 1970-01-01
          • 2020-05-24
          • 1970-01-01
          • 2021-07-08
          相关资源
          最近更新 更多