Skip to content

9romise/eslint-import-resolver-oxc

Repository files navigation

eslint-import-resolver-oxc

npm version npm download 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.

Usage

Installation

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

Add script for eslint.config.js

For eslint-plugin-import-x(>=4.5.0):

// eslint.config.js
export default [
  {
    settings: {
      'import-x/resolver-next': [
        createOxcImportResolver({
          // resolver options
        }),
        // other resolvers
      ]
    }
  }
]

For eslint-plugin-import-x(<4.5.0):

Note

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

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

// eslint.config.js
export default [
  {
    settings: {
      'import-x/resolver': 'oxc'
    }
  }
]

or

// eslint.config.js
export default [
  {
    settings: {
      'import-x/resolver': {
        oxc: true
        // other resolvers...
      }
    }
  }
]

or

// eslint.config.js
export default [
  {
    settings: {
      'import-x/resolver': {
        oxc: {
          // resolver options...
        },
        // other resolvers...
      }
    }
  }
]

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

Feature

The resolver will automatically detect jsconfig.json and tsconfig.json in the root (process.cwd()).

Who is using?

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