代码检查器
贡献新规则
有关如何向 Oxlint 添加新规则,请参阅 添加规则 指南。
开发
创建一个 ./test.ts,然后运行:
bash
just watch "cargo run --bin oxlint -- test.ts"或者针对特定规则进行测试和过滤:
bash
just watch "cargo test -p oxc_linter -- rule-name"使用完整代码库测试 oxlint
要在一个完整的代码库上测试 oxlint,例如在大型 JavaScript/TypeScript 项目中测试你的修改,可以构建 oxlint CLI 工具,并将其应用于该代码库。
bash
# 在 oxc 仓库中构建 oxlint CLI
just oxlint-node
# 然后在你想要测试的代码库目录中,使用 node 运行 oxlint:
node <path-to-oxc-repo>/apps/oxlint/dist/cli.js
# 你也可以传入参数,例如 -D 以启用特定规则,以及 --disable-x-plugin 来禁用默认插件:
node <path-to-oxc-repo>/apps/oxlint/dist/cli.js -D rulename --disable-unicorn-plugin --disable-oxc-plugin --disable-typescript-plugin快照测试
使用 cargo insta 进行快照测试。
在运行 cargo test -p oxc_linter 后,当调用 Tester::new(RULE::NAME, pass, fail).test_and_snapshot() 时,将生成一个新的 rule.snap.new 文件。
使用 cargo insta accept 来接受所有快照更改。
规则类别
- correctness - 代码存在明显错误或无用
- suspicious - 代码很可能错误或无用
- pedantic - 检查项较为严格,偶尔会产生误报
- perf - 可以编写得更快的代码
- style - 应以更符合习惯的方式编写的代码
- restriction - 在启用前应逐条评估的检查项
- nursery - 仍在开发中的新检查项
