As explained in the Getting Started guide:

  • parser: '@typescript-eslint/parser' tells ESLint to use the @typescript-eslint/parser package you installed to parse your source files.

    • This is required, or else ESLint will throw errors as it tries to parse TypeScript code as if it were regular JavaScript.
  • plugins: ['@typescript-eslint'] tells ESLint to load the @typescript-eslint/eslint-plugin package as a plugin.

    • This allows you to use typescript-eslint's rules within your codebase.

In short: the eslint-plugin package contains the actual lint rules, and the parser plugin adds support for parsing TypeScript files (ESLint on its own does not support TypeScript — it used to, but that project evolved into typescript-eslint).

Answer from jtbandes on Stack Overflow
🌐
npm
npmjs.com › package › @typescript-eslint › parser
@typescript-eslint/parser - npm
3 weeks ago - An ESLint parser which leverages TypeScript ESTree to allow for ESLint to lint TypeScript source code.
🌐
TypeScript ESlint
typescript-eslint.io › packages › parser
@typescript-eslint/parser | typescript-eslint
An ESLint parser used to parse TypeScript code into ESLint-compatible nodes, as well as provide backing TypeScript programs. ✨
Discussions

typescript - How do you configure ESLint's parser and plug-ins using ESLint's flat configuration? - Stack Overflow
I want to configure ESLint using the new configuration available for it, "flat config" (i.e. eslint.config.js file). I am currently working on a TypeScript project for a client, and ESLin... More on stackoverflow.com
🌐 stackoverflow.com
Do you guys use eslint on your typescript projects?

Yeah we use it and it's really useful. Particularly when combined with Prettier.

More on reddit.com
🌐 r/typescript
45
33
August 16, 2018
Why is @typescript-eslint/parser including files outside of those configured in my tsconfig.json?
I'm not sure but "/src/**/*.ts" looks off. Paths starting with / would usually be absolute paths so that would refer to the directly src in the root of your filesystem. I don't know what exactly that does in tsconfig.json though. More on reddit.com
🌐 r/learnjavascript
4
1
April 7, 2020
Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.json': EN0ENT: no such file or directory
You mentioned installing eslint but not typescript and @typescript-eslint/parser. Are they also installed and up to date? More on reddit.com
🌐 r/neovim
2
3
September 5, 2021
🌐
TypeScript ESlint
typescript-eslint.io › users › dependency-versions
Dependency Versions | typescript-eslint
If you use a non-supported version of TypeScript, the parser will log a warning to the console. If you want to disable this warning, you can configure this in your parserOptions.
🌐
ESLint
eslint.org › docs › latest › use › configure › parser
Configure a Parser - ESLint - Pluggable JavaScript Linter
The following third-party parsers are known to be compatible with ESLint: ... @typescript-eslint/parser - A parser that converts TypeScript into an ESTree-compatible form so it can be used in ESLint.
🌐
GitHub
github.com › eslint › typescript-eslint-parser
GitHub - eslint/typescript-eslint-parser: An ESLint custom parser which leverages TypeScript ESTree to allow for ESLint to lint TypeScript source code. · GitHub
January 19, 2019 - An ESLint custom parser which leverages TypeScript ESTree to allow for ESLint to lint TypeScript source code. - eslint/typescript-eslint-parser
Starred by 914 users
Forked by 73 users
Languages   JavaScript 89.6% | Dockerfile 5.5% | HTML 3.4% | TypeScript 1.5%
🌐
ESLint
eslint.org › blog › 2019 › 01 › future-typescript-eslint
The future of TypeScript on ESLint
January 18, 2019 - James Henry, who has long been the driving force behind TypeScript compatibility for ESLint, has started the typescript-eslint project as a centralized repository for all things related to TypeScript ESLint compatibility. This will be the new home of the TypeScript parser, eslint-plugin-typescript, and any other utilities that will make the TypeScript ESLint experience as seamless as possible.
Find elsewhere
🌐
TypeScript ESlint
typescript-eslint.io › getting-started
Getting Started | typescript-eslint
ESLint will lint all TypeScript compatible files within the current folder, and will output the results to your terminal.
🌐
TypeScript ESlint
typescript-eslint.io › packages
Packages | typescript-eslint
@typescript-eslint/parser: An ESLint parser which allows for ESLint to lint TypeScript source code.
🌐
TypeScript ESlint
typescript-eslint.io › packages › typescript-eslint
typescript-eslint | typescript-eslint
You can declare our plugin and parser in your config via this package, for example: ... // @ts-check import eslint from '@eslint/js'; import { defineConfig } from 'eslint/config'; import jestPlugin from 'eslint-plugin-jest'; import tseslint from 'typescript-eslint'; export default defineConfig({ plugins: { '@typescript-eslint': tseslint.plugin, }, languageOptions: { parser: tseslint.parser, parserOptions: { projectService: true, }, }, rules: { '@typescript-eslint/no-floating-promises': 'error', // ...
🌐
TypeScript ESlint
typescript-eslint.io › blog › announcing-typescript-eslint-v7
Announcing typescript-eslint v7 | typescript-eslint
February 12, 2024 - For example this config would enable our plugin, our parser, and type-aware linting with a few of our popular type-aware rules: ... // @ts-check import tseslint from 'typescript-eslint'; export default tseslint.config({ plugins: { '@typescript-eslint': tseslint.plugin, }, languageOptions: { parser: tseslint.parser, parserOptions: { project: true, }, }, rules: { '@typescript-eslint/no-unsafe-argument': 'error', '@typescript-eslint/no-unsafe-assignment': 'error', '@typescript-eslint/no-unsafe-call': 'error', '@typescript-eslint/no-unsafe-member-access': 'error', '@typescript-eslint/no-unsafe-return': 'error', }, });
🌐
TypeScript ESlint
typescript-eslint.io › packages › typescript-estree
@typescript-eslint/typescript-estree | typescript-eslint
This parser is designed to be generic and robust. It can be used to power any use-case which requires taking TypeScript source code and producing an ESTree-compatible AST. It is most known for use within these hyper-popular open-source projects to power their TypeScript support: ESLint, the pluggable linting utility for JavaScript and JSX
🌐
GitHub
github.com › typescript-eslint › typescript-eslint
GitHub - typescript-eslint/typescript-eslint: :sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript · GitHub
:sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript - typescript-eslint/typescript-eslint
Starred by 16.2K users
Forked by 2.9K users
Languages   TypeScript 90.9% | MDX 7.8%
🌐
GitHub
github.com › typescript-eslint › typescript-eslint › releases
Releases · typescript-eslint/typescript-eslint
eslint-plugin-internal: add prefer-tsutils-methods rule (#11974, #11625) scope-manager: support ScopeManager#addGlobals (#11914) typescript-estree: add shortcut methods to ParserServicesWithTypeInformation (#11965, #11955) eslint-plugin: [no-unused-private-class-members] private destructured class member is defined but used (#11785) eslint-plugin: [no-unnecessary-type-assertion] check both base constraint and actual type for non-null assertions (#11967, #11559) scope-manager: fix catch clause scopes def.name (#11982) scope-manager: prevent misidentification of "use strict" directives (#11995) utils: handle missing FlatESLint and LegacyESLint (#11958) Brad Zacher @bradzacher ·
Author   typescript-eslint
🌐
npm
npmjs.com › package › @typescript-eslint › eslint-plugin
@typescript-eslint/eslint-plugin - npm
1 week ago - An ESLint plugin which provides lint rules for TypeScript codebases.
🌐
TypeScript ESlint
typescript-eslint.io
typescript-eslint
The parser and services for linting TypeScript code with ESLint, as well as how tools such as Prettier read TypeScript code.