awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
benmosher avatar

benmosher/eslint-plugin-import

0
View on GitHub↗
5,922 stars·1,545 forks·JavaScript·MIT·9 views

Eslint Plugin Import

eslint-plugin-import is an ESLint static analysis plugin that provides a suite of rules and resolvers to validate import statements and enforce architectural constraints on how files import and export code. It functions as a module validator and resolver to ensure that import declarations point to valid files and that referenced symbols exist.

The project identifies recursive import chains to prevent circular dependencies and utilizes a configurable resolution system to map aliases and non-standard file paths. It can also distinguish between internal project files and external library dependencies through path and folder pattern matching.

The plugin covers broader code quality areas including import style enforcement for ordering and grouping, the restriction of specific module systems, and the verification of export availability to prevent runtime errors. It can further limit import sources based on folder location or prohibit specific path types.

Features

  • ESLint Import Plugins - Provides an ESLint plugin that validates import names, paths, and styles using custom resolvers.
  • Import Style Enforcers - Enforces consistent import ordering, grouping, and style across the codebase.
  • Export Name Validators - Verifies that named imports match the actual exported symbols of the target module to prevent runtime errors.
  • Existence Verifications - Provides static analysis to verify that every import statement points to a file or module physically present on the filesystem.
  • JavaScript Module Validation - Checks that import paths are correct and named exports exist to prevent runtime errors in JavaScript projects.
  • Module Resolvers - Resolves module paths and maps aliases to verify that import declarations are valid.
  • Named Import Export Matchers - Matches named and default imports against actual exports of the target module to ensure availability.
  • Custom Module System Resolvers - Provides a pluggable system of resolvers to map import paths using various module system semantics.
  • Import Statement Validators - Validates that import declarations point to existing files and follow structural requirements.
  • Import Style Transformations - Enforces import ordering and grouping by transforming the abstract syntax tree based on configuration.
  • Path-Based Restrictions - Enforces architectural constraints by limiting which files can be imported based on folder location or prohibiting specific path types.
  • Circular Dependency Detectors - Scans for recursive import loops in module graphs to identify circular dependencies.
  • Module Dependency Graphs - Builds module dependency graphs to detect and prevent circular import loops.
  • Module System Restrictions - Forbids the use of specific module systems like CommonJS or AMD to maintain a consistent architectural pattern.
  • Module System Restrictions - Restricts the use of specific module formats like CommonJS to ensure a consistent architectural pattern.
  • Static Analysis AST Parsing - Parses source code into abstract syntax trees to validate the structure of import and export declarations.
  • Architecture and Style Plugins - Manages ES2015+ import/export syntax and paths.

Star history

Star history chart for benmosher/eslint-plugin-importStar history chart for benmosher/eslint-plugin-import

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Eslint Plugin Import

Similar open-source projects, ranked by how many features they share with Eslint Plugin Import.
  • import-js/eslint-plugin-importimport-js avatar

    import-js/eslint-plugin-import

    5,875View on GitHub↗

    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 plu

    JavaScriptcode-qualityeslinteslint-plugin
    View on GitHub↗5,875
  • luals/lua-language-serverLuaLS avatar

    LuaLS/lua-language-server

    4,298View on GitHub↗

    lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto

    Luahacktoberfestlanguage-serverlpeg
    View on GitHub↗4,298
  • react/metroreact avatar

    react/metro

    5,608View on GitHub↗

    Metro is a JavaScript bundler designed for React Native environments. It functions as a system for resolving dependencies, transforming source code, and packaging JavaScript and assets into bundles for execution. The project includes a development bundler server that hosts assets via HTTP and provides hot module replacement. It features a module resolver that handles platform-specific file extensions and a source code transformer that converts code into tree structures for optimization and minification. The toolset covers programmatic bundle generation, source map creation, and file system c

    JavaScriptbundlerjavascriptreact-native
    View on GitHub↗5,608
  • pahen/madgepahen avatar

    pahen/madge

    10,117View on GitHub↗

    Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs and diagrams of module relationships, supporting CommonJS, AMD, and ES6 standards. The tool functions as a circular dependency detector to identify recursive import loops and a dependency graph generator that exports relationship maps into image and vector formats. It provides utilities for auditing project structure, including the identification of orphaned modules and leaf modules. Its broader capabilities include dead code identification, module impact analysis through depe

    JavaScriptamdcommonjsdependencies
    View on GitHub↗10,117
See all 30 alternatives to Eslint Plugin Import→

Frequently asked questions

What does benmosher/eslint-plugin-import do?

eslint-plugin-import is an ESLint static analysis plugin that provides a suite of rules and resolvers to validate import statements and enforce architectural constraints on how files import and export code. It functions as a module validator and resolver to ensure that import declarations point to valid files and that referenced symbols exist.

What are the main features of benmosher/eslint-plugin-import?

The main features of benmosher/eslint-plugin-import are: ESLint Import Plugins, Import Style Enforcers, Export Name Validators, Existence Verifications, JavaScript Module Validation, Module Resolvers, Named Import Export Matchers, Custom Module System Resolvers.

What are some open-source alternatives to benmosher/eslint-plugin-import?

Open-source alternatives to benmosher/eslint-plugin-import include: import-js/eslint-plugin-import — eslint-plugin-import is an ESLint plugin that validates import statements by parsing source code into an abstract… react/metro — Metro is a JavaScript bundler designed for React Native environments. It functions as a system for resolving… luals/lua-language-server — lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language… pahen/madge — Madge is a JavaScript module dependency visualizer and architecture mapper. It analyzes source code to create graphs… chai2010/go-ast-book — go-ast-book is a collection of educational and technical resources focused on abstract syntax tree analysis, compiler… sverweij/dependency-cruiser — Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static…