Skip to content

linter: oxlint does the follow the complete extends chain. #10760

@ValentinGurkov

Description

@ValentinGurkov

What version of Oxlint are you using?

0.16.8

What command did you run?

oxlint --fix --deny-warnings

What does your .oxlintrc.json config file look like?

// .oxlintrc.json
{
    "$schema": "./node_modules/oxlint/configuration_schema.json",
    "extends": ["./.oxlintrc.extended.json"]
}
// .oxlintrc.extended.json
{
    "$schema": "./node_modules/oxlint/configuration_schema.json",
    "extends": ["./.oxlintrc.base.json"]
}
// .oxlintrc.base.json
{
    "$schema": "./node_modules/oxlint/configuration_schema.json",
    "plugins": ["typescript", "unicorn", "perf", "oxc", "import", "promise", "node", "vitest", "jest"],
    "categories": {
        "correctness": "off",
        "suspicious": "off",
        "pedantic": "off",
        "perf": "off",
        "style": "off",
        "restriction": "off",
        "nursery": "off"
    },
    "ignorePatterns": ["**/node_modules", "pnpm-lock.yaml"],
    "rules": {
        "no-unused-vars": "off"
    }
}

What happened?

Hello,

I've found that oxlint does not go through the full chain of extends, instead it stops after the first.
I don't know if that's by design, but such a chain of extends can be common, mostly in monorepo scenarios.

I have created a minimal repository where this can be observed https://github.com/ValentinGurkov/oxlint-extends-chain

The chain of extends is as follows: .oxlintrc.json -> .oxlintrc.extended.json -> .oxlintrc.base.json and .oxlintrc.base.json disables no-unused-vars which seems to be enabled by default. The configuration from .oxlintrc.base.json does not get applied and warning is reported for no-unsed-vars on the file in the repository,

If I extend directly .oxlintrc.base.json and skip .oxlintrc.extended.json, then the rule is applied.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions