# typescript-eslint/typescript-eslint

**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/typescript-eslint-typescript-eslint).**

16,103 stars · 2,877 forks · TypeScript · mit

## Links

- GitHub: https://github.com/typescript-eslint/typescript-eslint
- Homepage: https://typescript-eslint.io
- awesome-repositories: https://awesome-repositories.com/repository/typescript-eslint-typescript-eslint.md

## Topics

`eslint` `eslint-plugin` `eslintplugin` `plugin` `tslint` `typescript`

## Description

This project is a static analysis framework and linting engine designed to inspect TypeScript codebases. It functions as a plugin suite that enables standard linting workflows to parse source code into abstract syntax trees, allowing for the automated enforcement of coding standards and the identification of potential bugs through a modular, rule-based visitor pattern.

The engine distinguishes itself by integrating directly with the TypeScript compiler to perform type-aware analysis. By accessing compiler type information, it can identify complex errors and unsafe patterns that standard syntax-only tools cannot detect. It also provides bridge-based compatibility, replacing or extending core linting rules to ensure that modern language features are inspected accurately without causing crashes or false reports.

Beyond basic linting, the project offers comprehensive capabilities for maintaining codebase integrity. It includes security-focused mechanisms to restrict unsafe type usage, govern the use of suppression directives, and enforce strict type definitions. These tools are supported by configuration-driven project discovery, which automatically maps settings to analysis rules to simplify setup across complex monorepos and multi-project environments.

## Tags

### Development Tools & Productivity

- [TypeScript Validators](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/typescript-validators.md) — Enables static analysis and linting for TypeScript codebases by leveraging the compiler type checker.
- [Code Quality and Analysis](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis.md) — Applies predefined rule sets to identify common programming errors and maintain consistent formatting through static analysis. ([source](https://typescript-eslint.io/getting-started))
- [Compiler-Level Analyzers](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-code-analyzers/source-code-analysis/compiler-level-analyzers.md) — Performs static analysis by leveraging type information from the compiler to identify complex patterns and errors. ([source](https://typescript-eslint.io/getting-started/typed-linting))
- [Static Analysis Rules](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-analysis-rules.md) — Applies modular visitor patterns to traverse syntax trees and enforce coding standards.
- [Core Rule Extensions](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-analysis-rules/framework-linting-rules/core-rule-extensions.md) — Provides language-compatible versions of standard analysis rules that replace base rules to ensure accurate inspection of modern syntax. ([source](https://typescript-eslint.io/rules))
- [Static Code Analyzers](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-code-analyzers.md) — Identifies best practice violations, potential bugs, and stylistic inconsistencies by applying static analysis rules. ([source](https://typescript-eslint.io/rules))
- [Monorepo Linting Configuration](https://awesome-repositories.com/f/development-tools-productivity/monorepo-managers/monorepo-linting-configuration.md) — Simplifies the configuration of linting rules and type-aware analysis across interconnected projects.
- [Standardized AST Transformation](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/standardized-ast-transformation.md) — Converts source code into a standardized syntax tree structure to enable consistent inspection.
- [Development Workflow Automation](https://awesome-repositories.com/f/development-tools-productivity/development-workflow-automation.md) — Integrates static analysis into development workflows to catch errors before code is committed.
- [Project Configuration Discovery](https://awesome-repositories.com/f/development-tools-productivity/project-configuration-discovery.md) — Automatically detects and maps project settings to analysis rules to simplify setup in complex environments.

### Programming Languages & Runtimes

- [Type-Aware Analysis Engines](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/type-aware-analysis-engines.md) — Leverages type information from the compiler to identify complex issues and enforce patterns that require understanding underlying data structures. ([source](https://typescript-eslint.io))
- [Type Integrity Enforcement](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety/type-integrity-enforcement.md) — Restricts unsafe types and explicit any declarations to ensure strict type integrity throughout the codebase.
- [Compiler-Integrated Analysis](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/type-systems/type-checking-disciplines/statically-typed-languages/compiler-integrated-analysis.md) — Integrates directly with the compiler to perform deep, type-aware analysis of code relationships.
- [Unsafe Type Detectors](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/language-extensions/unsafe-code/unsafe-type-detectors.md) — Flags code patterns where typed values are assigned, called, returned, or passed as arguments to prevent the spread of unsafe types. ([source](https://typescript-eslint.io/blog/avoiding-anys))
- [Type Safety](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety.md) — Identifies and flags unsafe patterns that bypass type checking to maintain strict type integrity. ([source](https://typescript-eslint.io/blog))
- [Any Type Restrictions](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-safety/explicit-variable-typing/any-type-restrictions.md) — Flags explicit any usage to encourage safer, more precise type definitions throughout the codebase. ([source](https://typescript-eslint.io/blog/avoiding-anys))
- [Function Signature Enforcement](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/functional/generic-function-definitions/function-signature-enforcement.md) — Promotes the use of explicit function signatures by identifying generic types that lack specific parameter and return information. ([source](https://typescript-eslint.io/blog/avoiding-anys))
- [Object Type Restrictions](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-definitions/type-aliases/object-aliasing/object-type-restrictions.md) — Identifies and flags the use of empty object types which often cause confusion by representing any non-nullish value. ([source](https://typescript-eslint.io/blog/revamping-the-ban-types-rule))

### Software Engineering & Architecture

- [Language Parsers](https://awesome-repositories.com/f/software-engineering-architecture/syntax-parsing-engines/language-parsers.md) — Converts source code into an abstract syntax tree that allows standard analysis tools to inspect and report on language-specific syntax. ([source](https://typescript-eslint.io))
- [Type-Aware Inspection Engines](https://awesome-repositories.com/f/software-engineering-architecture/type-systems/type-aware-inspection-engines.md) — Performs deep code inspection by accessing compiler type information to detect complex errors.
- [Coding Standards Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement.md) — Applies a comprehensive suite of rules to identify common bugs, enforce best practices, and maintain stylistic consistency. ([source](https://typescript-eslint.io))
- [Managed Code Analyzers](https://awesome-repositories.com/f/software-engineering-architecture/static-code-analyzers/managed-code-analyzers.md) — Accesses the compiler type checker to identify nuanced bugs and best practice violations that require deep understanding of code structure. ([source](https://typescript-eslint.io/blog))
- [Incompatible Rule Replacements](https://awesome-repositories.com/f/software-engineering-architecture/custom-analysis-rules/incompatible-rule-replacements.md) — Provides specialized versions of standard analysis rules that correctly parse and inspect language syntax where original core rules would crash. ([source](https://typescript-eslint.io/rules/))
- [Project Configuration Management](https://awesome-repositories.com/f/software-engineering-architecture/project-configuration-management.md) — Discovers and maps project configuration files to analysis rules automatically to eliminate manual path management. ([source](https://typescript-eslint.io/blog/))
- [Exception Type Enforcers](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/exception-logic-structures/exception-hierarchies/exception-type-enforcers.md) — Requires that caught exceptions and rejection callbacks use the unknown type instead of any to ensure safer handling. ([source](https://typescript-eslint.io/blog/avoiding-anys))
- [Compatibility Bridges](https://awesome-repositories.com/f/software-engineering-architecture/custom-analysis-rules/compatibility-bridges.md) — Wraps and extends core linting rules to ensure accurate inspection of modern language features.
- [Primitive Type Restrictions](https://awesome-repositories.com/f/software-engineering-architecture/primitive-type-schemas/primitive-type-restrictions.md) — Flags the use of uppercase wrapper object types in favor of standard lower-case primitive types. ([source](https://typescript-eslint.io/blog/revamping-the-ban-types-rule))
- [Suppression Comment Governors](https://awesome-repositories.com/f/software-engineering-architecture/warning-issuance-systems/warning-suppressions/suppression-comment-governors.md) — Enforces best practices for inline directives to prevent accidental global rule disabling and ensure justifications are provided. ([source](https://typescript-eslint.io/blog/avoiding-anys))
- [Syntax Traversal](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction/syntax-traversal.md) — Uses recursive tree-walking mechanisms to execute analysis logic at every node of the syntax tree.

### Testing & Quality Assurance

- [TypeScript Linting Plugins](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/javascript-and-typescript-toolchains/typescript-linting-plugins.md) — Provides a set of rules and parsers that enable standard linting workflows to inspect TypeScript projects.
- [Type-Aware Linting](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/formatting-and-linting-pipelines/type-aware-linting.md) — Leverages compiler type information to detect complex errors that standard syntax-only tools cannot identify.
- [Static Code Analysis Tools](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-review/code-quality-tools/static-code-analysis-tools.md) — Provides a framework for parsing source code into syntax trees to identify bugs and enforce consistency.

### DevOps & Infrastructure

- [Analysis Configuration Automators](https://awesome-repositories.com/f/devops-infrastructure/type-safe-configuration-managers/analysis-configuration-automators.md) — Automatically detects project configuration files to simplify the setup of type-aware analysis across complex repositories. ([source](https://typescript-eslint.io/blog))

### Data & Databases

- [Type Restriction Rules](https://awesome-repositories.com/f/data-databases/custom-type-converters/type-restriction-rules.md) — Defines a configurable list of specific type names to ban throughout a codebase while supporting custom error messages. ([source](https://typescript-eslint.io/blog/revamping-the-ban-types-rule))

### Security & Cryptography

- [Type Suppression Regulators](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/policy-enforcement-engines/enforcement-bypasses/type-suppression-regulators.md) — Enforces policies on the use of inline directives to ensure that type-checking bypasses are intentional, documented, and removed when unnecessary. ([source](https://typescript-eslint.io/blog/avoiding-anys))

### Operating Systems & Systems Programming

- [External File Analyzers](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-operations/automated-file-analysis/external-file-analyzers.md) — Performs type-aware analysis for files not explicitly included in project configuration files by defining glob patterns. ([source](https://typescript-eslint.io/blog/project-service))
