嵌套配置文件
Oxlint 可以在同一仓库中使用多个配置文件。它会自动检测名为 .oxlintrc.json 或 oxlint.config.ts 的配置文件,并根据文件在目录树中的位置来应用它们。
这在需要各包拥有独立设置但仍保持共享基础配置的 monorepo 场景中非常有用。
如果你只需要排除某些文件或文件夹,请改用 忽略文件。
工作原理
对于每个被检查的文件,Oxlint 会使用相对于该文件最近的配置文件(.oxlintrc.json 或 oxlint.config.ts)。
给定以下结构:
my-project/
├── .oxlintrc.json
├── src/
│ ├── index.js
├── package1/
│ ├── oxlint.config.ts
│ └── index.js
└── package2/
├── .oxlintrc.json
└── index.js配置解析方式如下:
src/index.js使用my-project/.oxlintrc.jsonpackage1/index.js使用my-project/package1/oxlint.config.tspackage2/index.js使用my-project/package2/.oxlintrc.json
期望行为
配置文件不会自动合并。子目录中的配置不会影响父目录的配置。
命令行选项会覆盖配置文件,无论这些选项来自父目录还是子目录。
使用 -c 或 --config 显式指定配置文件路径时,将禁用嵌套配置查找,Oxlint 将仅使用该单一配置文件。
你也可以通过 --disable-nested-config 标志来禁用嵌套配置。
Monorepo 模式:通过 extends 共享基础配置
在 monorepo 中,你通常希望在根目录有一个共享的基础配置,并对各个包进行少量特定调整。
你可以通过在根目录保留一个 .oxlintrc.json,然后让包级配置文件继承它来实现。
json
{
"rules": {
"no-debugger": "error"
}
}json
{
"extends": ["../.oxlintrc.json"],
"rules": {
"no-console": "off"
}
}这样可以将共享基线集中在一个位置,同时使包级配置更小且专注。
继承配置文件
配置文件可通过 extends 重用其他文件中的设置。其值是一个文件路径数组,相对于声明该字段的配置文件进行解析。
被继承的文件可以有任意名称。它们不需要命名为 .oxlintrc.json,只要它们是有效的 JSON 配置文件即可。
示例:
json
{
"plugins": ["typescript"],
"rules": {
"typescript/no-explicit-any": "error"
}
}json
{
"extends": ["oxlint-typescript.json"],
"rules": {
"no-unused-vars": "warn"
}
}只有部分属性支持继承。支持的属性包括:
rulespluginsoverrides
