logo科技微讯

Oxlint 简单调查

作者:科技微讯
日期:2025-07-12
📝 笔记

温馨提示:本文提到的各个数量是截止到 2025-07-12 的数量,后续可能有变化。

Oxlint 在不提供任何自定义配置的情况下,默认开启的规则是 87 条,其中 50 条是从 eslint 官方拿过来的规则,剩余的 37 条是从第三方的 eslint plugin 拿过来的规则,这 37 条 plugin 规则分别来自 typescript、unicorn、oxc 这三个 plugin,因为这三个 plugin 默认开启

❯ npx oxlint .
Found 0 warnings and 0 errors.
Finished in 3ms on 61 files with 87 rules using 8 threads.

创建 .oxlintrc.json 配置文件,使用 "plugins": [] 配置即可关闭所有第三方 eslint plugin 规则,此时运行 npx oxlint 就只使用 50 条来自 eslint 官方的规则。

❯ npx oxlint . -c .oxlintrc-no-plugins.json
Found 0 warnings and 0 errors.
Finished in 2ms on 61 files with 50 rules using 8 threads.

如果不想创建 .oxlintrc.json 配置文件,也可使用命令行停用默认开启的三个 plugin:

❯ npx oxlint . --disable-typescript-plugin --disable-unicorn-plugin --disable-oxc-plugin
Found 0 warnings and 0 errors.
Finished in 2ms on 61 files with 50 rules using 8 threads.

如果开启所有 plugins,则会开启 176 条规则

❯ npx oxlint . -c .oxlintrc-all-plugins.json
Found 0 warnings and 0 errors.
Finished in 27ms on 61 files with 176 rules using 8 threads.

目前 Oxlint 支持的规则有 500 多条,那为什么所有 plugin 都开启了才 176 条规则?因为各 plugin 默认只开启那些被归类为 correctness 的规则,各 plugin 所有 correctness 规则加起来就是 176 条,剩下的都是非 correctness 规则。

plugin 的非 correctness 规则可通过 .oxlintrc.json 配置文件中的 categories 字段开启,也可以使用命令行开启。例如下面这条命令同时开启了 eslint、typescript、unicorn、oxc 中那些归类为 correctnesssuspicious 的规则,开启的规则数量比只使用 correctness 的 87 条多了 19 条。

❯ npx oxlint -D correctness -W suspicious
Found 0 warnings and 0 errors.
Finished in 13ms on 61 files with 106 rules using 8 threads.

不建议使用 correctness 之外的 categories,因为 categories 是用来批量开启规则的,可能会开启很多你不需要的规则。如果想使用非 correctness 规则,建议根据实际情况通过 "rules" 字段开启你需要的某些规则。

在 vscode 下可安装 oxc 插件,有自定义配置需求的话建议使用 .oxlintrc.json 而不是命令行,这样 oxc 插件会自动应用配置对代码进行检查。建议根据项目的实际需求启用相应的 plugin,比如 node 项目可考虑启用 node 插件,nextjs 项目可考虑启用 nextjs 插件,react 项目可考虑启用 react 插件,使用 jest 进行测试的话可开启 jest 插件等等。

Oxlint 的 plugin 大多数还未完成移植,事实上只有 2 个 plugin 完成了移植,所以说虽然 Oxlint 1.0 正式版在 6 月就发布了,但其实还不够完善。你可以在 oxc 仓库issues 中查看各 plugin 的适配进度。

比如 eslint 官方规则共有 198 条,其中 61 条是 recommended 规则,这 61 条规则中还有 2 条没有移植到 Oxlint。再比如 node pluginrecommended 规则是 14 条,目前只移植了 1 条。移植第三方 plugin 时,经常会把各 plugin 的 recommended 规则分类为 correctness 规则,但不一定。

Oxlint 默认忽略 .gitignore 中的文件,如果还想忽略其他文件,可以配置 "ignorePatterns" 字段。

donation赞赏
thumbsup0
thumbsdown0
暂无评论