跳至内容

Oxlint 设定文件

该设定与 ESLint v8 的设定架构(eslintrc.json)保持一致。

用法:oxlint -c oxlintrc.json --import-plugin

注意

仅支持 .json 格式。您可以在设定文件中使用批注。

示例

.oxlintrc.json

json
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "plugins": ["import", "unicorn"],
  "env": {
    "browser": true
  },
  "globals": {
    "foo": "readonly"
  },
  "settings": {},
  "rules": {
    "eqeqeq": "warn",
    "import/no-cycle": "error"
  }
}

categories

类型:object

一次设定整类的规则。

通过这种方式启用的或禁用的规则会被 rules 字段中的各个规则覆盖。

示例

json
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "categories": {
    "correctness": "warn"
  },
  "rules": {
    "eslint/no-unused-vars": "error"
  }
}

categories.correctness

categories.nursery

categories.pedantic

categories.perf

categories.restriction

categories.style

categories.suspicious

env

类型:Record<string, boolean>

预定义全局变量。

环境指定预定义哪些全局变量。请参阅 ESLint 环境列表,了解哪些环境可用以及每个环境提供的内容。

globals

类型:Record<string, string>

添加或移除全局变量。

对于每个全局变量,设置相应的值等于 "writable" 以允许覆盖变量,或 "readonly" 以禁止覆盖。

可以将全局变量禁用,方式是将其值设为 "off"。例如,在绝大多数 Es2015 全局变量可用但 Promise 不可用时,你可以使用以下配置

json
{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "env": {
    "es6": true
  },
  "globals": {
    "Promise": "off"
  }
}

你也可以使用 "readable"false 来表示 "readonly",或 "writeable"true 来表示 "writable"

plugins

类型:string[]

默认值:["react", "unicorn", "typescript", "oxc"]

rules

类型:object

请参阅 Oxlint 规则

settings

类型:object

用于插件的共享设置

settings.jsdoc

类型:object

settings.jsdoc.augmentsExtendsReplacesDocs

类型:boolean

默认值:false

仅适用于 require-(yields|returns|description|example|param|throws) 规则

settings.jsdoc.exemptDestructuredRootsFromChecks

类型:boolean

默认值:false

仅适用于 require-param-typerequire-param-description 规则

settings.jsdoc.ignoreInternal

类型:boolean

默认值:false

用于所有规则,但 NOT 适用于 empty-tags 规则

settings.jsdoc.ignorePrivate

类型:boolean

默认值:false

用于所有规则,但 NOT 适用于 check-accessempty-tags 规则

settings.jsdoc.ignoreReplacesDocs

类型:boolean

默认值:true

仅适用于 require-(yields|returns|description|example|param|throws) 规则

settings.jsdoc.implementsReplacesDocs

类型:boolean

默认值:false

仅适用于 require-(yields|returns|description|example|param|throws) 规则

settings.jsdoc.overrideReplacesDocs

类型:boolean

默认值:true

仅适用于 require-(yields|returns|description|example|param|throws) 规则

settings.jsdoc.tagNamePreference

类型:object

默认值:{}

settings.jsx-a11y

类型:object

settings.jsx-a11y.components

类型:Record<string, string>

默认值:{}

settings.jsx-a11y.polymorphicPropName

类型:[ string, null ]

settings.next

类型:object

settings.next.rootDir

settings.react

类型:object

settings.react.formComponents

类型:array

默认值:[]

settings.react.formComponents[n]

settings.react.linkComponents

类型:array

默认值:[]

settings.react.linkComponents[n]

在 MIT 许可下发布。