Replacements for eslint-plugin-import
eslint-plugin-import-x
eslint-plugin-import-x is a modern fork of eslint-plugin-import. import-x focuses on having a smaller dependency footprint and faster module resolution via a Rust-based resolver.
Flat config
import importPlugin from 'eslint-plugin-import'
import { createNodeResolver, importX } from 'eslint-plugin-import-x'
import { createTypeScriptImportResolver } from 'eslint-import-resolver-typescript'
export default [
importPlugin.flatConfigs.recommended,
importX.flatConfigs.recommended,
{
settings: {
'import/resolver': { typescript: true },
'import-x/resolver-next': [
createTypeScriptImportResolver(),
createNodeResolver()
]
},
rules: {
'import/no-unresolved': 'error',
'import-x/no-unresolved': 'error',
'import/no-nodejs-modules': 'warn',
'import-x/no-nodejs-modules': 'warn'
}
}
]Legacy config
module.exports = {
extends: [
'eslint:recommended',
'plugin:import/recommended',
'plugin:import-x/recommended',
'plugin:import/typescript',
'plugin:import-x/typescript'
],
plugins: [
'import',
'import-x'
],
settings: {
'import/resolver': { typescript: true },
'import-x/resolver': { typescript: true }
},
rules: {
'import/no-unresolved': 'error',
'import-x/no-unresolved': 'error'
}
}Oxlint
Oxlint is a high-performance linter for JavaScript and TypeScript, built on the Rust-based Oxc compiler stack. It's intended to be fully backwards-compatible with ESLint, having ported most of the ESLint rules, as well as those from popular plugins including eslint-plugin-import.
The migration process from ESLint is covered in the Oxlint documentation, and can be done automatically from an ESLint flat config using npx @oxlint/migrate.
NOTE
Oxlint is not necessarily a full drop-in replacement, as not all of the eslint-plugin-import rules have been, or will be, implemented. Check the GitHub issue to view the progress.