TypeScript ESLint Language Service Plugin

5.0.5 · active · verified Sun Apr 19

typescript-eslint-language-service is a TypeScript language service plugin designed to integrate ESLint functionality directly into TypeScript-aware IDEs. It reports ESLint errors as TypeScript semantic diagnostics and offers code-fixes for applicable ESLint issues, providing a unified linting experience. The current stable version is 5.0.5, with releases typically driven by bug fixes and updates to its peer dependencies, notably `eslint` and `@typescript-eslint/parser`. Key differentiators include its seamless integration into the TypeScript language service, allowing real-time feedback and quick fixes for ESLint rule violations without needing separate build steps or processes for linting, treating lint errors as native compiler errors within the IDE. It relies on peer dependencies `typescript`, `@typescript-eslint/parser`, and `eslint` for its operation.

Common errors

Warnings

Install

Imports

Quickstart

This `tsconfig.json` snippet demonstrates how to activate the TypeScript ESLint language service plugin in your project, enabling real-time ESLint feedback and auto-fixes directly within your IDE.

{
  "compilerOptions": {
    "target": "es2020",
    "module": "esnext",
    "lib": ["es2020", "dom"],
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "jsx": "react-jsx",
    "moduleResolution": "node",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    },
    // Configure the TypeScript ESLint Language Service plugin
    // This enables ESLint errors and fixes to appear directly in your IDE
    "plugins": [
      {
        "name": "typescript-eslint-language-service",
        // Optionally, specify additional directories to watch for ESLint config changes.
        // By default, only .eslintrc.* files in the project root are watched.
        // Example: "watchDirs": ["config", "eslint-rules"]
      }
    ]
  },
  "include": ["src/**/*.ts", "src/**/*.tsx", ".eslintrc.js"],
  "exclude": ["node_modules", "dist"]
}

view raw JSON →