A simply wrapped oxc-resolver
for eslint-plugin-import-x
and eslint-plugin-import
.
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.
npm install eslint-import-resolver-oxc --save-dev
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.
Default options see normalizeOptions.ts
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',
}),
]
}
}
]
The jsconfig.json
and tsconfig.json
in the root directory (cwd
) will automatically detected.
More options see oxc-resolver
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.
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.
I can't finish the project without the help of oxc-resolver
.
Thanks @Boshen for his work on oxc-resolver
.