@typescript-eslint/eslint-plugin
8.72.1 · 26 Oct 2026MIT172.4M / weekRepositoryHomepagenpmAtom feed
8.72.1 is the newest release of 8.x.
In short
21 breaking2 removed1 deprecated17 new18 fixed
- breaking
typescript-estree: split TSMappedType typeParameter into constraint and key
- breaking
parser: always enable comment, loc, range, tokens
- breaking
eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true
- breaking
typescript-estree: enable dot globs for project by default
- breaking
eslint-plugin: remove formatting/layout rules
- breaking
typescript-estree: remove slow deprecated and isolated programs
- breaking
typescript-estree: add TSEnumBody node for TSEnumDeclaration body
- breaking
typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference
Release note
For more information, please see our blog post on this release: typescript-eslint.io/blog/announcing-typescript…
Raw Changelog
Breaking Changes
- breaking
typescript-estree: split TSMappedType typeParameter into constraint and key
- breaking
parser: always enable comment, loc, range, tokens
- breaking
eslint-plugin: [prefer-nullish-coalescing] change ignoreConditionalTests default to true
- breaking
typescript-estree: enable dot globs for project by default
- deprecated
eslint-plugin: deprecate no-loss-of-precision extension rule
- breaking
eslint-plugin: remove formatting/layout rules
- breaking
typescript-estree: remove slow deprecated and isolated programs
- breaking
typescript-estree: add TSEnumBody node for TSEnumDeclaration body
- breaking
typescript-estree: rename automaticSingleRunInference to disallowAutomaticSingleRunInference
- breaking
ast-spec: remove deprecated type params
- breaking
type-utils: remove IsNullableTypeOptions interface
- breaking
eslint-plugin: [no-unused-vars] align catch behavior to ESLint 9
- breaking
utils: swap LegacyESLint out for FlatESLint as ESLint export
- breaking
eslint-plugin: split no-empty-object-type out from ban-types and no-empty-interfaces
- breaking
utils: allow specifying additional rule meta.docs in RuleCreator
- breaking
eslint-plugin: apply initial config changes for v8
- breaking
eslint-plugin: replace ban-types with no-restricted-types, no-unsafe-function-type, no-wrapper-object-types
- breaking
typescript-estree: remove EXPERIMENTAL_useSourceOfProjectReferenceRedirect
- breaking
eslint-plugin: remove no-useless-template-literals
- breaking
type-utils: remove getTokenAtPosition
- breaking
eslint-plugin: [no-floating-promises] disable checkThenables by default for v8
- breaking
rule-tester: switched to flat config
Features
Stricter parent types for the AST
Speed up non-type-aware linting with project service
v8 integration branch
- removed
eslint-plugin: remove deprecated no-throw-literal rule
eslint-plugin: [no-floating-promises] add 'allowForKnownSafeCalls' option
eslint-plugin: [no-unused-vars] add
reportUnusedIgnorePatternoptioneslint-plugin: [no-unused-vars] support
ignoreClassWithStaticInitBlockeslint-plugin: [no-unused-vars] handle comma operator for assignments, treat for-of the same as for-in
eslint-plugin: [no-unused-vars] report if var used only in typeof
eslint-plugin: [return-await] add return-await to strict-type-checked preset
eslint-plugin: [no-unnecessary-type-parameters] promote to strict
rule-tester: support multipass fixes
type-utils: support intersection types in TypeOrValueSpecifier
typescript-estree: stabilize EXPERIMENTAL_useProjectService as projectService
typescript-estree: also remove projectService in withoutProjectParserOptions
typescript-estree: exposes ProjectService logs through the plugin
utils: add Linter configType constructor option
- removed
utils: remove deprecated context helpers
Fixes
Correct eslint-plugin's peerDependency on parser@8
Bring back in allowdefaultprojectforfiles rename
Disable
projectServiceindisabled-type-checkedshared configeslint-plugin: include alpha pre-releases in parser peer dependency
eslint-plugin: correct rules.d.ts types to not rely on non-existent imports
eslint-plugin: remove duplicate import
RuleModuleWithMetaDocseslint-plugin: [no-unnecessary-template-expression] do not render escaped strings in autofixes
eslint-plugin: [no-unused-vars] incorporate upstream changes around caught errors report messages
eslint-plugin: [no-misused-promises] perf: avoid getting types of variables/functions if the annotated type is obviously not a function
rule-tester: set configType to eslintrc in Linter options
rule-tester: re-apply updates from main
rule-tester: provide Linter a cwd in its constructor
type-utils: also check declared modules for package names in TypeOrValueSpecifier
types: allow ProjectServiceOptions for projectService
typescript-estree: pass extraFileExtensions to projectService
typescript-estree: only run projectService setHostConfiguration when needed
typescript-estree: specific error for parserOptions.project not including a file
typescript-estree: adds support for project services using extended config files
typescript-estree: factor tsconfigRootDir into allowDefaultProject