A performant, lightweight ESLint plugin for linting ES2015+ import/export syntax, forked from eslint-plugin-import.
eslint-plugin-import-x is a fork of eslint-plugin-import that provides linting rules for ES2015+ import/export syntax in JavaScript and TypeScript projects. It aims to solve performance and dependency issues in the original plugin by using lighter tools and modern resolvers, helping developers catch errors like unresolved imports or incorrect exports more efficiently.
JavaScript and TypeScript developers using ESLint for code quality, particularly those working on large codebases where linting performance and modern module resolution (like the `exports` field) are critical.
Developers choose eslint-plugin-import-x for its significantly faster performance, reduced dependency footprint, and proactive support for modern ES features like the `exports` field, which the original plugin lacks. It’s a drop-in replacement that addresses long-standing issues with breaking changes when necessary.
eslint-plugin-import-x is a fork of eslint-plugin-import that aims to provide a more performant and more lightweight version of the original plugin.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses get-tsconfig to replace heavy TypeScript dependencies and a custom Rust-based resolver (unrs-resolver), significantly speeding up linting operations in large projects.
Has only 16 dependencies compared to 117 in eslint-plugin-import, reducing bloat and potential conflicts in your ESLint setup.
Targets Node.js 18.18.0+ and ESLint 8.57.0+, with first-party support for the exports field in package.json, ensuring alignment with contemporary JavaScript standards.
Introduces import-x/resolver-next for flat configs, which shares a single resolver instance to optimize caching and memoization out-of-the-box.
The project philosophy embraces breaking changes to fix issues, which can disrupt existing configurations and require manual migration efforts from eslint-plugin-import.
As a newer fork, it has fewer community-contributed resolvers and integrations compared to the long-established eslint-plugin-import, potentially limiting third-party tool support.
Supports both legacy .eslintrc* and new eslint.config.* systems, with TypeScript setup requiring additional packages like eslint-import-resolver-typescript, adding overhead for beginners.
import-x is an open-source alternative to the following products: