# import-js/eslint-plugin-import

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/import-js-eslint-plugin-import).**

5,875 stars · 1,538 forks · JavaScript · mit

## Links

- GitHub: https://github.com/import-js/eslint-plugin-import
- awesome-repositories: https://awesome-repositories.com/repository/import-js-eslint-plugin-import.md

## Topics

`code-quality` `eslint` `eslint-plugin` `hacktoberfest` `import` `javascript` `lint` `linting`

## Description

eslint-plugin-import is an ESLint plugin that validates import statements by parsing source code into an abstract syntax tree and applying configurable rules. It verifies that named imports match the actual exports of target modules and checks that import paths reference existing files on disk, catching typos and broken references before runtime.

The plugin enforces consistent import style through rules for ordering, duplicate detection, and unused import removal. It extends beyond the default Node resolver by supporting custom module systems like Webpack, TypeScript, and Meteor through a plugin-architecture resolver that delegates resolution to external plugins.

The tool processes imports through a pipeline of user-configurable rules that can be enabled, disabled, or customized, and matches named imports against module exports by analyzing export declarations. It resolves import paths by checking actual file existence on disk using configurable resolvers.

## Tags

### Development Tools & Productivity

- [ESLint Import Plugins](https://awesome-repositories.com/f/development-tools-productivity/configuration-importers/plugin-importers/eslint-import-plugins.md) — Ships an ESLint plugin that enforces import style rules, validates import names and paths, and resolves imports with custom module systems.
- [Import Style Enforcers](https://awesome-repositories.com/f/development-tools-productivity/configuration-importing/import-blocklists/import-style-restrictions/import-style-enforcers.md) — Enforces consistent import ordering, grouping, and removal of unused or duplicate imports across JavaScript or TypeScript codebases.
- [Import Style Linters](https://awesome-repositories.com/f/development-tools-productivity/import-organizers/import-style-linters.md) — Enforces configurable rules for import ordering, duplicate detection, and unused import removal to maintain consistent style. ([source](https://github.com/import-js/eslint-plugin-import/tree/main/docs/))

### Education & Learning Resources

- [Export Name Validators](https://awesome-repositories.com/f/education-learning-resources/import-conventions/import-naming-conventions/export-name-validators.md) — Verifies that named imports match the actual exports of target modules, catching typos and mismatches before runtime. ([source](https://github.com/import-js/eslint-plugin-import/tree/main/docs/))

### Programming Languages & Runtimes

- [Named Import Export Matchers](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-systems/synchronous-module-loaders/module-interface-exports/named-import-export-matchers.md) — Matches named imports against target module exports by analyzing export declarations to catch typos and mismatches.
- [File Existence Checkers](https://awesome-repositories.com/f/programming-languages-runtimes/module-path-resolution/import-path-resolution/file-existence-checkers.md) — Checks that every import path references an actual file on disk, preventing broken module references before runtime.
- [Non-Node](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-resolution/module-resolvers/non-node.md) — Resolves import paths using Webpack, TypeScript, and Meteor module systems instead of the default Node resolver.
- [Custom Module System Resolvers](https://awesome-repositories.com/f/programming-languages-runtimes/module-path-resolution/import-path-resolution/custom-module-system-resolvers.md) — Resolves import paths using Webpack, TypeScript, and Meteor module systems instead of the default Node resolver. ([source](https://github.com/import-js/eslint-plugin-import/wiki/Resolvers))

### Software Engineering & Architecture

- [Import Statement Validators](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-parsing/import-statement-validators.md) — Parses JavaScript source into ASTs to validate that import names match module exports and paths reference existing files.
- [File Path Existence Validators](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/import-failure-loggers/import-validation-utilities/file-path-existence-validators.md) — Checks that every import statement references a file that exists on disk, preventing broken module references. ([source](https://github.com/import-js/eslint-plugin-import/tree/main/docs/))
- [Import Name and Path Validators](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/import-failure-loggers/import-validation-utilities/import-name-and-path-validators.md) — Verifies that named imports match exported names and checks that import paths reference existing files on disk.
- [Import Lint Rule Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/rule-configuration-engines/import-lint-rule-pipelines.md) — Processes import statements through a configurable pipeline of lint rules that users can enable, disable, or customize.
- [Import Lint Rule Engines](https://awesome-repositories.com/f/software-engineering-architecture/static-analysis-rule-engines/import-lint-rule-engines.md) — Applies configurable lint rules to import statements by parsing and analyzing the abstract syntax tree.
- [Module Resolution Delegators](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/plugin-based-architectures/module-resolution-delegators.md) — Delegates module resolution to external plugins like Webpack, TypeScript, and Meteor for custom import path handling.
