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-devAdd 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
8 months ago
8 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago