Skip to content

Command-line Interface

使用方法

oxlint [-c=<./.oxlintrc.json>] [PATH]...

基本配置

  • -c, --config=<./.oxlintrc.json> — Oxlint 配置文件
  • 支持所有运行时中的 .json.jsonc 配置文件

  • JavaScript/TypeScript 配置文件是实验性的,需要通过 Node.js 运行

  • 你可以在配置文件中使用注释。

  • 尝试与 ESLint v8 的格式兼容

    如果未提供,Oxlint 将在当前工作目录中查找 .oxlintrc.json.oxlintrc.jsoncoxlint.config.ts 文件。

  • --tsconfig=<./tsconfig.json> — 覆盖用于导入解析的 TypeScript 配置。Oxlint 会自动为每个文件发现相关的 tsconfig.json。仅当你的项目使用非标准的 tsconfig 名称或位置时才使用此选项。

    避免使用此选项。它可能导致导入解析和类型感知检查之间的差异。类型感知检查支持此选项,将始终自动为每个文件发现适当的 tsconfig.json。 :::

  • --init — 使用默认值初始化 oxlint 配置

允许/禁止多个检查

在命令行上从左到右累积规则和类别。

例如 -D correctness -A no-debugger-A all -D no-debugger。 类别包括:

  • correctness - 完全错误或无用的代码(默认)
  • suspicious - 很可能错误或无用的代码
  • pedantic - 相当严格或偶尔有误报的检查
  • perf - 可以用更高性能方式编写的代码
  • style - 应该用更地道方式编写的代码
  • restriction - 阻止使用语言和库功能的检查
  • nursery - 仍在开发中的新检查
  • all - 除 nursery 外上述所有类别。不会自动启用插件。

参数:

  • -A, --allow=NAME — 允许规则或类别(禁止检查)
  • -W, --warn=NAME — 禁止规则或类别(发出警告)
  • -D, --deny=NAME — 禁止规则或类别(发出错误)

启用/禁用插件

  • --disable-unicorn-plugin — 禁用 unicorn 插件,该插件默认开启
  • --disable-oxc-plugin — 禁用 oxc 独有规则,该插件默认开启
  • --disable-typescript-plugin — 禁用 TypeScript 插件,该插件默认开启
  • --import-plugin — 启用 import 插件并检测 ESM 问题。
  • --react-plugin — 启用 react 插件,该插件默认关闭
  • --jsdoc-plugin — 启用 jsdoc 插件并检测 JSDoc 问题
  • --jest-plugin — 启用 Jest 插件并检测测试问题
  • --vitest-plugin — 启用 Vitest 插件并检测测试问题
  • --jsx-a11y-plugin — 启用 JSX-a11y 插件并检测可访问性问题
  • --nextjs-plugin — 启用 Next.js 插件并检测 Next.js 问题
  • --react-perf-plugin — 启用 React 性能插件并检测渲染性能问题
  • --promise-plugin — 启用 promise 插件并检测 promise 使用问题
  • --node-plugin — 启用 node 插件并检测 node 使用问题
  • --vue-plugin — 启用 vue 插件并检测 vue 使用问题

修复问题

  • --fix — 尽可能修复问题。输出中只报告未修复的问题。
  • --fix-suggestions — 应用可自动修复的建议。可能会改变程序行为。
  • --fix-dangerously — 应用危险的修复和建议

忽略文件

  • --ignore-path=PATH — 指定用作 .eslintignore 的文件

  • --ignore-pattern=PAT — 指定要忽略的文件模式(除了 .eslintignore 中的模式)

    支持的语法与 .eslintignore.gitignore 文件相同。你应该引用你的模式以避免 shell 解释 glob 模式。

  • --no-ignore — 禁用从 .eslintignore 文件、--ignore-path 标志和 --ignore-pattern 标志中排除文件

处理警告

  • --quiet — 禁用警告报告,只报告错误
  • --deny-warnings — 确保警告产生非零退出码
  • --max-warnings=INT — 指定警告阈值,可用于在项目中警告级别规则违规过多时强制以错误状态退出

输出

  • -f, --format=ARG — 使用特定的输出格式。可选值:checkstyledefaultgithubgitlabjsonjunitstylishunix

其他

  • --silent — 不显示任何诊断信息
  • --no-error-on-unmatched-pattern — 当没有文件被选中进行检查时(例如,应用忽略模式后),不退出并报错
  • --threads=INT — 使用的线程数。设为 1 表示仅使用 1 个 CPU 核心。
  • --print-config — 此选项输出将使用的配置。存在时,不执行检查,只有配置相关的选项有效。

内联配置注释

  • --report-unused-disable-directives — 报告像 // oxlint-disable-line 这样的指令注释,当该行本来不会报告任何错误时
  • --report-unused-disable-directives-severity=SEVERITY — 与 --report-unused-disable-directives 相同,但允许指定报告错误的严重级别。一次只能使用这两个选项中的一个。

可用的位置参数:

  • PATH — 单个文件、单个路径或路径列表

可用选项:

  • --rules — 列出当前已注册的所有规则
  • --lsp — 启动语言服务器
  • --disable-nested-config — 禁用嵌套配置文件的自动加载
  • --type-aware — 启用需要类型信息的规则
  • --type-check — 启用实验性类型检查(包括 TypeScript 编译器诊断)
  • -h, --help — 打印帮助信息
  • -V, --version — 打印版本信息