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

Pluggable JavaScript Bug Linters

Ranking updated Jun 30, 2026

For a pluggable linter for catching bugs in JavaScript, the first results are eslint/eslint (ESLint is the leading pluggable JavaScript linter, offering a vast plugin ecosystem, custom rule creation, AST-based static analysis, auto-fix, and deep IDE integration—exactly what you need for extensible bug detection and code quality enforcement), sindresorhus/xo and standard/standard (Standard is a JavaScript linter that enforces a built-in style guide and provides auto-fix, but it is not extensible via plugins or custom rules, which is the core requirement for a pluggable linter). feross/standard and dense-analysis/ale round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Extensible static analysis tools that identify common programming errors and enforce code quality in JavaScript.

Pluggable JavaScript Bug Linters

Find the best repos with AI.We'll search the best matching repositories with AI.
  • eslint/eslinteslint avatar

    eslint/eslint

    27,349View on GitHub↗

    This project is a static analysis engine designed to identify patterns, enforce coding standards, and automate code quality improvements in software projects. By parsing source code into structured abstract syntax trees, it enables deep programmatic inspection and the automated remediation of identified programming issues. The engine functions as a pluggable linting framework, allowing developers to extend its core capabilities through a modular architecture. Users can inject custom rules, parsers, and processors to support non-standard file formats or domain-specific logic. This extensibilit

    ESLint is the leading pluggable JavaScript linter, offering a vast plugin ecosystem, custom rule creation, AST-based static analysis, auto-fix, and deep IDE integration—exactly what you need for extensible bug detection and code quality enforcement.

    JavaScriptCustom Analysis RulesShareable ConfigurationsAutomated Code Fixers
    View on GitHub↗27,349
  • sindresorhus/xosindresorhus avatar

    sindresorhus/xo

    7,977View on GitHub↗

    xo is a zero-config linting tool and ESLint wrapper that provides opinionated default rules for JavaScript and TypeScript. It functions as a static analysis tool to enforce code style and readability standards immediately upon installation without requiring manual configuration. The tool distinguishes itself by providing a zero-config development workflow that eliminates the need for complex configuration files. It supports incremental codebase cleanup by allowing users to ignore known violations through a suppressions file, facilitating the gradual adoption of strict rules in existing projec

    xo is a zero-config linting tool built on ESLint that performs AST-based static analysis and supports modern JavaScript and TypeScript, but its opinionated defaults and wrapper design may limit custom rule creation and configuration flexibility compared to a fully pluggable linter.

    TypeScriptShareable Configurations
    View on GitHub↗7,977
  • standard/standardstandard avatar

    standard/standard

    29,431View on GitHub↗

    Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi

    Standard is a JavaScript linter that enforces a built-in style guide and provides auto-fix, but it is not extensible via plugins or custom rules, which is the core requirement for a pluggable linter.

    JavaScriptModern SyntaxRule Configuration EnginesAutomated Code Fixers
    View on GitHub↗29,431
  • feross/standardfeross avatar

    feross/standard

    29,431View on GitHub↗

    Standard is a zero-configuration static analyzer, linter, and formatter for JavaScript. It functions as a style guide that enforces consistent coding rules and identifies programming errors without requiring manual configuration files. The tool distinguishes itself by providing an automatic code fixer that scans source files to correct style violations and ensure a uniform codebase. It implements a predefined rule set to eliminate the need for project-specific configuration. The project covers a broad range of static analysis capabilities, including support for experimental language syntax a

    Standard is a zero-configuration JavaScript linter and formatter with a fixed rule set and built-in auto-fix, making it good for enforcing consistency but not the extensible, plugin-based static analysis tool this search asks for—it lacks plugin support and custom rule creation.

    JavaScriptShareable ConfigurationsAutomated Code FixersEditor Integrations
    View on GitHub↗29,431
  • dense-analysis/aledense-analysis avatar

    dense-analysis/ale

    13,966View on GitHub↗

    Ale is an asynchronous code analysis tool and integrated development environment plugin designed for lightweight text editors. It functions as a language server protocol client, enabling real-time code intelligence and diagnostic feedback by running analysis tasks in the background to ensure the editor interface remains responsive during intensive operations. The plugin utilizes an event-driven architecture to monitor text buffers and trigger linting or formatting routines automatically. It distinguishes itself through a modular extensibility framework that supports a wide range of language-s

    ALE is a Vim/Neovim plugin that orchestrates external linters and language servers for real-time feedback, but it is not a standalone pluggable JavaScript linter itself—it delegates analysis to tools like ESLint rather than providing its own static analysis engine with a plugin system.

    Vim ScriptLanguage Server Protocol ClientsLanguage Server Protocols
    View on GitHub↗13,966
  • realm/swiftlintrealm avatar

    realm/SwiftLint

    19,456View on GitHub↗

    SwiftLint is a static analysis tool and code formatter designed to enforce consistent coding styles and identify semantic issues within Swift source code. It functions as a command-line utility that evaluates code against established conventions to ensure uniform structure and architectural standards across a project. The tool distinguishes itself through a custom linting engine that leverages compiler-integrated syntax analysis to perform deep inspections of code structure. Beyond simple pattern matching, it supports automated source code transformation to correct formatting violations and r

    This is a static analysis linter for Swift, not JavaScript, so it cannot detect bugs in JavaScript code or use JavaScript plugins, which is the core requirement of your search.

    SwiftAutomated Code FixersCustom Validation RulesSyntax Tree Analysis
    View on GitHub↗19,456
  • sindresorhus/eslint-plugin-unicornsindresorhus avatar

    sindresorhus/eslint-plugin-unicorn

    4,931View on GitHub↗

    eslint-plugin-unicorn is an ESLint plugin that provides a large set of opinionated lint rules for JavaScript and TypeScript projects. Its primary purpose is to enforce code quality, prevent common errors and anti-patterns, and promote a consistent coding style across a codebase. The plugin distinguishes itself by offering an opinionated preset configuration that imposes a specific coding style rather than leaving all choices to the user. Its rules are specifically designed to catch logical mistakes and code smells that go beyond standard ESLint rules. As an added capability, the plugin also e

    This is an ESLint plugin that adds opinionated lint rules, not the extensible linter itself — for a pluggable JavaScript linter, look at ESLint or similar tools that support plugins and custom rule creation.

    JavaScriptAuto-Fix EnginesAST Pattern Matching
    View on GitHub↗4,931
  • astral-sh/ruffastral-sh avatar

    astral-sh/ruff

    48,177View on GitHub↗

    Ruff is a high-performance static analysis and code formatting tool designed for Python. Built in Rust, it functions as a comprehensive engine that scans source code to detect programming errors, security vulnerabilities, and deviations from established coding standards. By parsing source code into a structured tree representation, it provides both automated linting and style enforcement across entire projects. The tool distinguishes itself through its speed and deep integration into the development lifecycle. It utilizes parallelized file processing to maximize throughput on large codebases

    Ruff is a high-performance static analysis and formatting tool for Python, not JavaScript, so it does not match the search for a JavaScript-specific linter despite being a pluggable linting tool.

    RustRule Configuration EnginesAutomated Code FixersLanguage Server Integrations
    View on GitHub↗48,177
  • stylelint/stylelintstylelint avatar

    stylelint/stylelint

    11,484View on GitHub↗

    Stylelint is a static code analysis tool and linter for CSS and style-like languages. It identifies errors, enforces coding conventions, and operates as a PostCSS plugin to validate stylesheets during build pipelines. The project distinguishes itself through support for non-standard syntaxes, including preprocessor parsing for SCSS and Less, and the ability to extract and lint embedded styles from JavaScript, HTML, and template literals. It features an automated fixing system that programmatically corrects repairable styling violations to ensure consistency. The system provides a plugin arch

    Stylelint is a fully-featured pluggable linter with AST-based analysis, custom rules, and auto-fix, but it is built for CSS and style languages, not JavaScript — the wrong domain for this search.

    JavaScriptShareable ConfigurationsAutomated Code FixersEditor Integrations
    View on GitHub↗11,484
  • neoclide/coc.nvimneoclide avatar

    neoclide/coc.nvim

    25,165View on GitHub↗

    coc.nvim is a Node.js extension host and Language Server Protocol client that transforms Vim and Neovim into a full integrated development environment. It provides a framework for executing JavaScript and TypeScript plugins within a separate process to enable advanced IDE features without blocking the editor's main thread. The project is distinguished by its ability to host extensions and language servers through a centralized JSON configuration. It supports the installation and lifecycle management of third-party extensions from registries or local files, allowing users to customize language

    coc.nvim is an LSP client and extension host for Vim/Neovim, not a dedicated static analysis tool—it can integrate JavaScript linters through language servers, but does not provide its own plugin-driven linting engine or rule creation.

    TypeScriptLanguage Server IntegrationsLanguage Server Protocol Clients
    View on GitHub↗25,165
  • lapce/lapcelapce avatar

    lapce/lapce

    38,569View on GitHub↗

    Lapce is a high-performance text editor built with Rust that utilizes hardware acceleration for fast rendering and responsiveness. It functions as a modal text editor with Vim-style keybindings to minimize hand movement, an LSP client for language intelligence, and a remote development environment for editing files and executing code on distant servers. The editor features an extensible architecture based on the WebAssembly System Interface, allowing it to execute plugins compiled to WASI for cross-language functionality. It further distinguishes itself by implementing the Debug Adapter Proto

    Lapce is a high-performance text editor with plugin extensibility via WASI and LSP-based language intelligence, but it is an editor, not a dedicated JavaScript linter with AST-based static analysis and custom rule creation as its core purpose.

    RustPlugin SystemsLanguage Server Integrations
    View on GitHub↗38,569
  • phpstan/phpstanphpstan avatar

    phpstan/phpstan

    13,999View on GitHub↗

    This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It

    This is a static analysis engine for PHP, not JavaScript; while it matches the idea of pluggable static analysis, it is built for a completely different language ecosystem, so it does not fit a search for JavaScript linting tools.

    PHPCustom Analysis RulesCustom Validation RulesAbstract Syntax Tree Tools
    View on GitHub↗13,999
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
eslint/eslint27.3KJavaScriptMITJun 16, 2026
sindresorhus/xo8KTypeScriptMITJun 17, 2026
standard/standard
29.4K
JavaScript
MIT
Jul 11, 2025
feross/standard29.4KJavaScriptMITJul 11, 2025
dense-analysis/ale14KVim Scriptbsd-2-clauseFeb 17, 2026
realm/swiftlint19.5KSwiftmitFeb 19, 2026
sindresorhus/eslint-plugin-unicorn4.9KJavaScriptmitFeb 19, 2026
astral-sh/ruff48.2KRustMITJun 23, 2026
stylelint/stylelint11.5KJavaScriptMITJun 25, 2026
neoclide/coc.nvim25.2KTypeScriptNOASSERTIONJun 22, 2026

Related searches

  • a lightweight logging library for JavaScript applications
  • a tool for automated code linting and formatting
  • a spell checker for source code and comments
  • a unit testing framework for JavaScript with snapshots
  • a fast Python linter and code formatter
  • an opinionated code formatter that supports many languages
  • Linters, formatters and type checkers
  • a Dockerfile linter