ESLint 在配置文件中定义文件夹。(忽略除...之外的所有内容,仅包括...)

Sil*_*uck 11 javascript eslint

如何将文件夹设置为.eslintrc.json文件中的 lint,而不是eslintpackage.json.

package.json(片段)

"scripts: {
  "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
}
Run Code Online (Sandbox Code Playgroud)

我只想要:

"scripts: {
  "lint": "eslint",
}
Run Code Online (Sandbox Code Playgroud)

并定义路径和扩展名.eslintrc.json

或者,设置.eslintignore忽略ALL但不忽略./src。我只想检查 src 文件夹。不是根。也适用eslintvscode.

我当前的解决方案:

.eslintignore

/*
!/src
Run Code Online (Sandbox Code Playgroud)

但我想知道,为什么配置文件中没有选项将文件夹设置为 lint。我正在寻找最常见和最优雅的解决方案。也许这里听起来像是重复的。但我搜索了很多主题,但没有发现任何类似的内容可以解决我的问题。

bil*_*ted 9

我已经使用该.eslintignore文件调整了您的解决方案,并将规则直接放入我的配置文件的ignorePatterns选项中(.eslintrc.cjs在我的例子中)。对我来说就像一个魅力:

module.exports = {
  ignorePatterns: ['/*', '!/src']
  [...]
}
Run Code Online (Sandbox Code Playgroud)


kei*_*kai 4

在overrides里面设置.eslintrc.json

如果您使用 CLI 指定了目录(例如 eslint lib),ESLint 会在该目录中搜索目标文件进行 lint。目标文件是 *.js 或与任何覆盖条目匹配的文件(但不包括任何以 * 结尾的文件的条目)。

{
  "rules": {
    "quotes": ["error", "double"]
  },

  "overrides": [
    {
      "files": ["bin/*.js", "lib/*.js"],
      "excludedFiles": "*.test.js",
      "rules": {
        "quotes": ["error", "single"]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

参考:配置ESLint文档