Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ESLint
  3. import-x

import-x

MITTypeScriptv4.17.1

A performant, lightweight ESLint plugin for linting ES2015+ import/export syntax, forked from eslint-plugin-import.

Visit WebsiteGitHubGitHub
754 stars63 forks0 contributors

What is import-x?

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.

Target Audience

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.

Value Proposition

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.

Overview

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.

Use Cases

Best For

  • Linting import/export syntax in large TypeScript monorepos
  • Improving ESLint performance in projects with heavy module resolution
  • Enforcing consistent import styles and preventing path errors
  • Using modern package.json `exports` field with ESLint
  • Reducing dependency bloat in ESLint configurations
  • Migrating from eslint-plugin-import for better maintenance

Not Ideal For

  • Teams stuck on legacy Node.js versions (below 18.18.0) or older ESLint (below 8.57.0)
  • Projects heavily dependent on eslint-plugin-import's specific behavior without tolerance for breaking changes
  • Environments where maximum third-party resolver ecosystem maturity is critical
  • Simple codebases where linting performance gains are negligible and setup complexity is unwarranted

Pros & Cons

Pros

Fast Module Resolution

Uses get-tsconfig to replace heavy TypeScript dependencies and a custom Rust-based resolver (unrs-resolver), significantly speeding up linting operations in large projects.

Clean Dependency Tree

Has only 16 dependencies compared to 117 in eslint-plugin-import, reducing bloat and potential conflicts in your ESLint setup.

Modern Tooling Compatibility

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.

Improved Resolver Caching

Introduces import-x/resolver-next for flat configs, which shares a single resolver instance to optimize caching and memoization out-of-the-box.

Cons

Breaking Changes Risk

The project philosophy embraces breaking changes to fix issues, which can disrupt existing configurations and require manual migration efforts from eslint-plugin-import.

Less Mature Ecosystem

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.

Configuration Complexity

Supports both legacy .eslintrc* and new eslint.config.* systems, with TypeScript setup requiring additional packages like eslint-import-resolver-typescript, adding overhead for beginners.

Open Source Alternative To

import-x is an open-source alternative to the following products:

e
eslint-plugin-import

eslint-plugin-import is a plugin for ESLint that validates proper imports in JavaScript/TypeScript, checking for issues like missing files or incorrect module syntax.

Frequently Asked Questions

Quick Stats

Stars754
Forks63
Contributors0
Open Issues59
Last commit7 days ago
CreatedSince 2020

Tags

#hacktoberfest#developer-tools#typescript#code-quality#eslint-plugin#javascript#eslint-config#import-export#eslint#linting#static-analysis

Built With

T
TypeScript
N
Node.js
E
ESLint

Links & Resources

Website

Included in

ESLint4.7k
Auto-fetched 1 day ago

Related Projects

importimport

ESLint plugin with rules that help validate proper imports.

Stars5,940
Forks1,548
Last commit1 day ago
PromisePromise

Enforce best practices for JavaScript promises

Stars1,001
Forks103
Last commit4 days ago
functionalfunctional

ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.

Stars994
Forks34
Last commit2 days ago
fpfp

ESLint rules for functional programming

Stars969
Forks35
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub