eslint-import-resolver-oxc v0.13.1
eslint-import-resolver-oxc
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
]
}
}
]
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
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
Who is using?
Rel1cx/eslint-react
- A series of composable ESLint rules for libraries and frameworks that use React as a UI runtime.SocketDev/socket-cli
- Next-gen SCA + SBOM + 0-day prevention.
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
3 months ago
3 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
7 months ago
10 months ago
9 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago