Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/9romise/eslint-import-resolver-oxc
A simply wrapped oxc-resolver for eslint-plugin-import-x
https://github.com/9romise/eslint-import-resolver-oxc
eslint eslint-import-resolver eslint-plugin-import oxc
Last synced: 3 months ago
JSON representation
A simply wrapped oxc-resolver for eslint-plugin-import-x
- Host: GitHub
- URL: https://github.com/9romise/eslint-import-resolver-oxc
- Owner: 9romise
- License: mit
- Created: 2024-06-29T07:44:19.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-07T01:20:52.000Z (4 months ago)
- Last Synced: 2024-10-12T17:34:24.458Z (3 months ago)
- Topics: eslint, eslint-import-resolver, eslint-plugin-import, oxc
- Language: TypeScript
- Homepage:
- Size: 337 KB
- Stars: 19
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eslint-import-resolver-oxc
[![npm version][npm-version-src]][npm-version-href]
[![npm bundle size][npm-bundle-size-src]][npm-bundle-size-href]
[![License][license-src]][license-href]A simply wrapped [`oxc-resolver`](https://github.com/oxc-project/oxc-resolver) for [`eslint-plugin-import-x`](https://github.com/un-ts/eslint-plugin-import-x) and [`eslint-plugin-import`](https://github.com/import-js/eslint-plugin-import).
## Feature
A good replacement for [`eslint-import-resolver-node`](https://github.com/import-js/eslint-plugin-import/tree/main/resolvers/node#readme) and [`eslint-import-resolver-typescript`](https://github.com/import-js/eslint-import-resolver-typescript).
You can get more info about _resolver_ in [the README of eslint-plugin-import-x](https://github.com/un-ts/eslint-plugin-import-x?tab=readme-ov-file#resolvers).
## Installation
```bash
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]
>
> 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.For `eslint-plugin-import-x`:
```json
{
"settings": {
"import-x/resolver": "oxc"
}
}
```
or
```json
{
"settings": {
"import-x/resolver": {
"oxc": true
// other resolvers...
}
}
}
```
or
```json
{
"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](./src/normalizeOptions.ts)
More info see [oxc-resolver](https://github.com/oxc-project/oxc-resolver?tab=readme-ov-file#options)
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`](https://github.com/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](https://eslint.org/docs/latest/extend/custom-rules#profile-rule-performance), 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`](https://github.com/oxc-project/oxc-resolver).
Thanks [@Boshen](https://github.com/Boshen) for his work on [`oxc-resolver`](https://github.com/oxc-project/oxc-resolver).
## License
[MIT](./LICENSE) License © 2024-PRESENT [Vida Xie](https://github.com/9romise)
[npm-version-src]: https://img.shields.io/npm/v/eslint-import-resolver-oxc?color=91ede9
[npm-version-href]: https://npmjs.com/package/eslint-import-resolver-oxc
[npm-bundle-size-src]: https://img.shields.io/npm/unpacked-size/eslint-import-resolver-oxc?color=91ede9
[npm-bundle-size-href]: https://npmjs.com/package/eslint-import-resolver-oxc
[license-src]: https://img.shields.io/npm/l/eslint-import-resolver-oxc?color=91ede9
[license-href]: https://opensource.org/licenses/MIT
[oxc-resolver-link]: [`oxc-resolver`](https://github.com/oxc-project/oxc-resolver)