Skip to content

9romise/eslint-import-resolver-oxc

Repository files navigation

eslint-import-resolver-oxc

npm version npm bundle size License

A simply wrapped oxc-resolver for eslint-plugin-import-x and eslint-plugin-import.

Feature

A good replacement for eslint-import-resolver-node and eslint-import-resolver-typescript.

You can get more info about resolver in the README of eslint-plugin-import-x.

Installation

npm install eslint-import-resolver-oxc --save-dev

Usage

Pass the resolver to eslint-plugin-import-x or eslint-plugin-import in your eslint.config.js.

Important

Accroding to https://github.com/un-ts/eslint-plugin-import-x/blob/master/src/utils/resolve.ts#L183

The settings prefix is hard coded as import-x/ even with flat config.

For eslint-plugin-import-x:

{
  "settings": {
    "import-x/resolver": "oxc"
  }
}

or

{
  "settings": {
    "import-x/resolver": {
      "oxc": true
      // other resolvers...
    }
  }
}

or

{
  "settings": {
    "import-x/resolver": {
      "oxc": {
        // resolver options...
      }
    }
  }
}

For eslint-plugin-import:

Replace import-x/resolver with import/resolver in the object above.

Options

Default options see normalizeOptions.ts

More info see oxc-resolver

If you use TypeScript, you can set tsconfig.configFile to specify the path of tsconfig.json. If there is a tsconfig.json in the root of your workspace, it will be set automatically by default.

Who is using?

  • Rel1cx/eslint-react - A series of composable ESLint rules for libraries and frameworks that use React as a UI runtime.

Motivation

Eslint is a bit slow in large projects. While I track the performance of the rules, I found that eslint-plugin-import-x took a lot of time. I thought change a resolver might bring some improvements.

Credit

I can't finish the project without the help of oxc-resolver.

Thanks @Boshen for his work on oxc-resolver.

License

MIT License © 2024-PRESENT Vida Xie