Arquivos de configuração aninhados
O Oxlint pode usar várias configs no mesmo repositório. Detecta automaticamente .oxlintrc.json ou oxlint.config.ts e aplica a mais próxima de cada arquivo.
Útil em monorepos com pacotes com regras próprias e baseline compartilhada.
Para só excluir pastas/arquivos, prefira Ignorar arquivos.
Como funciona
Para cada arquivo lintado, vale a config mais próxima na árvore de diretórios.
my-project/
├── .oxlintrc.json
├── src/
│ ├── index.js
├── package1/
│ ├── oxlint.config.ts
│ └── index.js
└── package2/
├── .oxlintrc.json
└── index.jssrc/index.js→my-project/.oxlintrc.jsonpackage1/index.js→my-project/package1/oxlint.config.tspackage2/index.js→my-project/package2/.oxlintrc.json
O que esperar
Configs não são mescladas automaticamente: filho não altera pai.
Flags CLI sobrepõem config, venha ela de diretório pai ou filho.
-c / --config com caminho explícito desativa busca aninhada — só aquela config.
Também dá para desligar configs aninhadas com --disable-nested-config.
options.typeAware e options.typeCheck só na config raiz; se aparecerem em config aninhada, o Oxlint reporta erro.
Monorepo: baseline compartilhada com extends
Um .oxlintrc.json ou oxlint.config.ts na raiz; pacotes estendem e ajustam pouco.
{
"rules": {
"no-debugger": "error"
}
}import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"no-debugger": "error",
},
});{
"extends": ["../.oxlintrc.json"],
"rules": {
"no-console": "off"
}
}import baseConfig from "../oxlint.config.ts";
import { defineConfig } from "oxlint";
export default defineConfig({
extends: [baseConfig],
rules: {
"no-console": "off",
},
});Reutilizar arquivos com extends
Caminhos em extends são relativos ao arquivo que declara. Arquivos estendidos podem ter qualquer nome (desde JSON válido). Para oxlint.config.ts, o arquivo com extends deve se chamar oxlint.config.ts.
{
"plugins": ["typescript"],
"rules": {
"typescript/no-explicit-any": "error"
}
}import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["typescript"],
rules: {
"typescript/no-explicit-any": "error",
},
});{
"extends": ["oxlint-typescript.json"],
"rules": {
"no-unused-vars": "warn"
}
}import typescriptConfig from "./oxlint-typescript.config.ts";
import { defineConfig } from "oxlint";
export default defineConfig({
extends: [typescriptConfig],
rules: {
"no-unused-vars": "warn",
},
});Propriedades que podem ser estendidas:
rulespluginsoverrides