Skip to content

配置对象

配置文件最终导出的是一个包含一个或多个配置对象的数组,每个配置对象都包含 ESLint 在一组文件上执行所需的全部信息。配置对象由下列属性组成:

1 name

配置对象的名称。这在错误消息和配置检查器中使用,以帮助识别正在使用哪个配置对象。 (命名约定)

2 files

一组 glob 模式,指示配置对象应应用到的文件。如果未指定,则配置对象适用于与任何其他配置对象匹配的所有文件。

默认情况下,ESLint 匹配 **/*.js**/*.cjs**/*.mjs

3 ignores

一组 glob 模式,指示配置对象不应应用于的文件。如果未指定,则配置对象适用于所有与 files.

4 languageOptions

包含与如何配置 JavaScript 进行 linting 相关的设置的对象。

4.1 ecmaVersion

支持的 ECMAScript 版本。可以是任何年份(即 2022)或版本(即 5)。设置 latest 为最新支持的版本。 (默认:latest

4.2 sourceType

JavaScript 源代码的类型。可能的值 script 适用于传统脚本文件、module ECMAScript 模块 (ESM) 和 commonjs CommonJS 文件。 (默认值:module 用于.js.mjs 文件;commonjs 用于 .cjs 文件)

4.3 globals

指定在 linting 期间应添加到全局范围的其他对象的对象。如:

js
// eslint.config.mjs
import globals from 'globals'

export default [
  { languageOptions: { globals: globals.browser } },
]

globals.browser 内容:

js
{
  AbortController: false,
  AbortSignal: false,
  AbsoluteOrientationSensor: false,
  AbstractRange: false,
  Accelerometer: false,
  addEventListener: false,
  alert: false,
  //...
}

4.4 parser

包含 parse()parseForESLint() 方法的对象。(默认:espree

4.5 parserOptions

指定直接传递给解析器上的 parse()parseForESLint() 方法的附加选项的对象。可用选项取决于解析器。

5 linterOptions

包含与 linting 过程相关的设置的对象。

5.1 noInlineConfig

指示是否允许内联配置的布尔值。

5.2 reportUnusedDisableDirectives

严重性字符串,指示是否以及如何应跟踪和报告未使用的禁用和启用指令。对于旧版兼容性,true相当于"warn"和false相当于"off". (默认:“warn”)。

6 processor

包含 postprocess()postprocess() 方法的对象或指示插件内部处理器名称的字符串(即 pluginName/processorName)。

7 plugins

包含插件名称到插件对象的名称-值映射的对象。当 files 指定时,这些插件仅适用于匹配的文件。

8 rules

包含配置规则的对象。当指定 filesignores 时,这些规则配置仅适用于匹配的文件。

9 settings

包含应可用于所有规则的名称-值对信息的对象。