Skip to content

Oxlint v0.10 迁移指南

本迁移指南适用于 Oxlint 较旧版本。 如需了解最新稳定版 v1.0 的信息,请参阅 Oxlint v1.0 稳定版公告

Oxlint v0.10.0 正式发布!此版本包含多项令人兴奋的新功能,特别是对配置文件的诸多改进。

新特性

新规则

此版本新增了以下规则:

  • promise/no-callback-in-promise
  • react/iframe-missing-sandbox
  • node/no-new-require

并为以下规则增加了自动修复/建议功能:

  • eslint/no-plusplus

按类别启用/禁用规则

现在您可以在配置文件中使用 categories 字段来整体启用或禁用规则类别。

现在,无需再运行如下命令:

sh
oxlint -D correctness -W suspicious -c oxlint.json

而是可以直接在 oxlint.json 中添加 categories 字段:

jsonc
{
  "categories": {
    "correctness": "deny", 
    "suspicious": "warn", 
  }, 
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

并移除 -D-W 标志。

配置文件中已支持 plugins

配置文件现在支持 ESLint v8 配置中的 plugins 数组。这使得您无需通过 CLI 参数即可启用插件,从而可在 VSCode 中使用插件。

jsonc
{
  "plugins": ["import"], 
  "categories": {
    "correctness": "deny",
    "suspicious": "warn",
  },
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
  },
}

该功能与 categories 完美兼容,因为启用/禁用的类别同样会影响插件。

jsonc
{
  "plugins": ["import"],
  // `categories` 会影响所有已启用的插件
  "categories": {
    "correctness": "allow",
    "suspicious": "warn",
  },
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

重大变更与迁移指南

CLI 与配置文件的规则优先级

此前,配置文件会覆盖在 CLI 参数中设置的规则。例如,执行以下命令:

sh
oxlint -A correctness -c oxlintrc.json

搭配此配置文件

jsonc
{
  "rules": {
    "no-const-assign": "error",
  },
}

将导致仅 no-const-assign 规则以错误级别启用,其余所有规则均被禁用(即设为“允许”)。

现在,CLI 参数将覆盖配置文件。相同的命令搭配相同的配置文件,结果将是所有规则均被禁用。若希望获得与之前相同的行为,应在配置文件中通过启用/禁用类别来控制,而非使用 CLI 参数。

sh
oxlint -c oxlint.json
jsonc
{
  "categories": {
    "correctness": "allow", 
  }, 
  "rules": {
    "no-const-assign": "error",
  },
}