包详细信息

eslint-import-resolver-oxc

9romise18.6kMIT0.15.0

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

eslint, eslint-plugin-import, eslint-plugin-import-x, eslint-import-resolver

自述文件

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.

[!NOTE]

As of now, eslint-import-resolver-typescript has been fully optimized for performance by using unrs-resolver.

We recommend prioritizing the officially maintained resolver.

Feature

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

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
      ]
    }
  }
]
<summary>For eslint-plugin-import-x(<4.5.0):</summary> > [!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. js // eslint.config.js export default [ { settings: { 'import-x/resolver': 'oxc' } } ] or js // eslint.config.js export default [ { settings: { 'import-x/resolver': { oxc: true // other resolvers... } } } ] or js // 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

bundlerConfig (experimental, only supported in async function)

This option can be a string or an object.

String option:

the path of the bundler's config file.

Object option:

  • type: the type of the bundler.
  • path: the config of the bundler.
  • options: some special options for bundler config.

If only the type is specified, the configuration file in the root directory (cwd) will be automatically detected, similar to how tsconfig is handled.

If only the path is specified, thetype will be inferred based on the filename.

// eslint.config.js
import { createOxcImportResolver, transformViteConfig } from 'eslint-import-resolver-oxc'

export default [
  {
    settings: {
      'import-x/resolver-next': [
        await createOxcImportResolver({
          bundlerConfig: 'vite.config.ts',
        }),
      ]
    }
  }
]

others

The jsconfig.json and tsconfig.json in the root directory (cwd) will automatically detected.

More options see oxc-resolver

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

更新日志

Changelog

0.15.0 (2025-06-06)

Features

  • migrate stable-hash to stable-hash-x (0ee9d28)
  • treat oxc-resolver as peerDependency (2a396f2)

Performance

  • remove unnecessary hash cache (4cc59a0)

0.14.0 (2025-05-08)

Features

  • update oxc-resolver to ^8.0.0 (d2de3f1)

0.13.2 (2025-04-22)

Bug Fixes

  • update oxc-resolver to ^5.3.0 (a467655)

0.13.1 (2025-03-13)

Performance

  • faster hashing for config object (#73) (9f18801)

0.13.0 (2025-03-11)

Features

  • update oxc-resolver to ^5.0.0 (f3926bc)

Bug Fixes

  • export typings (862dbdb)
  • remove querystring from module id (9dac236)

0.12.0 (2025-02-19)

Features

  • update oxc-resolver to ^4.2.0 (34a5ec0)

0.11.0 (2025-02-16)

Features

  • bump oxc-resolver to ^4.1.0 (4a49f77)

Bug Fixes

  • export transformRspackConfig (68b0d11)

0.10.1 (2025-01-23)

Bug Fixes

  • respect rspack default options (97ea404)

0.10.0 (2025-01-23)

Features

  • experimental support for rspack (#60) (2ba9968)
  • update oxc-resolver to v4.0.0 (76e3ef5)

0.9.1 (2025-01-20)

Bug Fixes

  • dynamic import optional peerDependency (#59) (045970f)

0.9.0 (2025-01-18)

Features

  • experimental support for vite.config (#52) (5a8d8a9)
  • experimental support for webpack (#56) (1bc1f7c)
  • introduce createOxcImportResolverAsync (2800396)

Chores

  • separate bundler test cases (1b27e25)

0.8.0 (2025-01-02)

Features

  • bump oxc-resolver to 3.0.3 (9c26f6c)

Chores

0.7.0 (2024-12-20)

Features