Commit 3e459d5
authored
chore(deps): update eslint/prettier/biome (#790)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`^7.0.0` ->
`^8.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.18.0/8.31.1)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://typescript-eslint.io/packages/parser)
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`^7.0.0` ->
`^8.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.18.0/8.31.1)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://redirect.github.com/eslint/eslint)) | [`^8.53.0` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/eslint/8.57.1/9.25.1) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.31.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8311-2025-04-28)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.31.0...v8.31.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-condition] downgrade fix to
suggestion
([#​11081](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11081))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.31.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8310-2025-04-21)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.30.1...v8.31.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-type-assertion] add option to
ignore string const assertions
([#​10979](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10979))
##### ❤️ Thank You
- Nicolas Le Cam
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.30.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8301-2025-04-14)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.30.0...v8.30.1)
##### 🩹 Fixes
- **eslint-plugin:** fix mistake with eslintrc config generation
([#​11072](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11072))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.30.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8300-2025-04-14)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.29.1...v8.30.0)
##### 🚀 Features
- **eslint-plugin:** \[no-explicit-any] suggest to replace keyof any
with PropertyKey
([#​11032](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11032))
##### 🩹 Fixes
- **eslint-plugin:** \[promise-function-async] use a different error
message for functions with promise and non-promise types
([#​10950](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10950))
##### ❤️ Thank You
- Dima Barabash
[@​dbarabashh](https://redirect.github.com/dbarabashh)
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.29.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8291-2025-04-07)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.29.0...v8.29.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-deprecated] report on deprecated imported
variable used as property
([#​10998](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10998))
##### ❤️ Thank You
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.29.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8290-2025-03-31)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.28.0...v8.29.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-nullish-coalescing] create
`ignoreIfStatements` option
([#​11000](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11000))
##### 🩹 Fixes
- **eslint-plugin:** \[no-array-constructor] remove optional chaining
exemption
([#​10963](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10963))
- **eslint-plugin:** support arbitrary extensions in definition files
([#​10957](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10957))
- **eslint-plugin:** \[prefer-for-of] fix false positive when using
erasable type syntax within update expressions
([#​10981](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10981))
- **eslint-plugin:** \[use-unknown-in-catch-callback-variable] remove
fixable property
([#​10993](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10993))
- **eslint-plugin:** \[no-unnecessary-condition] don't report on
unnecessary optional array index access when `noUncheckedIndexedAccess`
is enabled
([#​10961](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10961))
##### ❤️ Thank You
- Dima Barabash
[@​dbarabashh](https://redirect.github.com/dbarabashh)
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- Olivier Zalmanski
[@​OlivierZal](https://redirect.github.com/OlivierZal)
- Ronen Amiel
- Yannick Decat [@​mho22](https://redirect.github.com/mho22)
- zyoshoka [@​zyoshoka](https://redirect.github.com/zyoshoka)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.28.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8280-2025-03-24)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.27.0...v8.28.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-nullish-coalescing] support `if` statement
assignment (`??=`) and fix several minor bugs
([#​10861](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10861))
##### 🩹 Fixes
- **eslint-plugin:** \[no-unsafe-function-type] remove fixable property
([#​10986](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10986))
##### ❤️ Thank You
- Olivier Zalmanski
[@​OlivierZal](https://redirect.github.com/OlivierZal)
- Yannick Decat [@​mho22](https://redirect.github.com/mho22)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.27.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8270-2025-03-17)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.26.1...v8.27.0)
##### 🚀 Features
- **utils:** support `DeprecatedInfo` for `rule.meta.deprecated`
([#​10932](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10932))
##### ❤️ Thank You
- ntnyq [@​ntnyq](https://redirect.github.com/ntnyq)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.26.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8261-2025-03-10)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.26.0...v8.26.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unsafe-return] handle recursive type
([#​10883](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10883))
- **eslint-plugin:** \[prefer-nullish-coalescing] treat `any`/`unknown`
as eligible for nullish coalescing
([#​10865](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10865))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.26.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8260-2025-03-03)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.25.0...v8.26.0)
##### 🚀 Features
- **eslint-plugin:** \[unified-signatures] support ignoring overload
signatures with different JSDoc comments
([#​10781](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10781))
- **eslint-plugin:** \[explicit-module-boundary-types] add an option to
ignore overload implementations
([#​10889](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10889))
- **eslint-plugin:** \[no-unused-var] handle implicit exports in
declaration files
([#​10714](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10714))
- support TypeScript 5.8
([#​10903](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10903))
- **eslint-plugin:** \[no-unnecessary-type-parameters] special case
tuples and parameter location arrays as single-use
([#​9536](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9536))
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] handle unknown
([#​10875](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10875))
- **eslint-plugin:** \[no-invalid-void-type] report `accessor`
properties with an invalid `void` type
([#​10864](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10864))
- **eslint-plugin:** \[unified-signatures] does not differentiate truly
private methods
([#​10806](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10806))
##### ❤️ Thank You
- Andrea Simone Costa
[@​jfet97](https://redirect.github.com/jfet97)
- Dirk Luijk [@​dirkluijk](https://redirect.github.com/dirkluijk)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.25.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8250-2025-02-24)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.24.1...v8.25.0)
##### 🚀 Features
- **eslint-plugin:** \[no-misused-spread] add suggestions
([#​10719](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10719))
##### 🩹 Fixes
- **eslint-plugin:** \[prefer-nullish-coalescing] report on chain
expressions in a ternary
([#​10708](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10708))
- **eslint-plugin:** \[no-deprecated] report usage of deprecated private
identifiers
([#​10844](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10844))
- **eslint-plugin:** \[unified-signatures] handle getter-setter
([#​10818](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10818))
##### ❤️ Thank You
- Olivier Zalmanski
[@​OlivierZal](https://redirect.github.com/OlivierZal)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.24.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8241-2025-02-17)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.24.0...v8.24.1)
##### 🩹 Fixes
- **eslint-plugin:** \[class-methods-use-this] check `accessor` methods
with a function initializer
([#​10796](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10796))
- **eslint-plugin:** \[no-misused-promises] don't report on `static`
`accessor` properties
([#​10814](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10814))
- **eslint-plugin:** \[no-deprecated] don't report on deprecated
`accessor` property declaration
([#​10813](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10813))
- **eslint-plugin:** \[explicit-member-accessibility] check `accessor`
class properties for missing accessibility modifier
([#​10805](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10805))
- **eslint-plugin:** \[explicit-module-boundary-types] check `accessor`
class properties with a function initializer
([#​10804](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10804))
- **eslint-plugin:** \[prefer-return-this-type] check `accessor`
properties with a function initializer
([#​10794](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10794))
- **eslint-plugin:** \[consistent-generic-constructors] check `accessor`
class properties
([#​10789](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10789))
- **eslint-plugin:** \[no-unsafe-assignment] report on an `any` value
assigned as an initializer of an `accessor` property
([#​10785](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10785))
- **eslint-plugin:** \[no-unnecessary-template-expression] ignore enum
and enum members
([#​10782](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10782))
- **eslint-plugin:** \[no-inferrable-types] handle accessor
([#​10780](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10780))
##### ❤️ Thank You
- Ronen Amiel
- YeonJuan
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.24.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8240-2025-02-10)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.23.0...v8.24.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-condition] make
`allowConstantLoopConditions` more granular
([#​10639](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10639))
##### 🩹 Fixes
- **eslint-plugin:** \[no-misused-spread] correct and elaborate string
spread report message
([#​10751](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10751))
- **eslint-plugin:** \[restrict-plus-operands] report adding bigints to
strings when `allowNumberAndString` is `false`
([#​10737](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10737))
##### ❤️ Thank You
- Josh Goldberg ✨
- noah
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.23.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8230-2025-02-03)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.22.0...v8.23.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] enforce
strictNullChecks
([#​10712](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10712))
##### 🩹 Fixes
- **eslint-plugin:** \[no-shadow] ignore declare variables in definition
files shadowing global variables
([#​10710](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10710))
- **eslint-plugin:** \[no-restricted-imports] support regex option
([#​10699](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10699))
- **eslint-plugin:** \[dot-notation] handle
noPropertyAccessFromIndexSignature true
([#​10644](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10644))
- **eslint-plugin:** \[prefer-nullish-coalescing] fix missing return
([#​10732](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10732))
- bump ts-api-utils to ^2.0.1
([#​10761](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10761))
- **eslint-plugin:** \[no-unnecessary-template-expression] allow
interpolating type parameter in type context
([#​10739](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10739))
- **eslint-plugin:** \[switch-exhaustiveness-check] suggest with
qualified name
([#​10697](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10697))
- **eslint-plugin:** \[no-unnecessary-type-assertion] should report
readonly class properties with a literal initializer
([#​10618](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10618))
##### ❤️ Thank You
- Josh Goldberg ✨
- Olivier Zalmanski
[@​OlivierZal](https://redirect.github.com/OlivierZal)
- Ryan Poon [@​sopa301](https://redirect.github.com/sopa301)
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.22.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8220-2025-01-27)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.21.0...v8.22.0)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-template-expression] handle
template literal type
([#​10612](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10612))
- **eslint-plugin:** \[prefer-readonly] autofixer doesn't add type to
property that is mutated in the constructor
([#​10552](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10552))
- **eslint-plugin:** \[no-extraneous-class] handle accessor keyword
([#​10678](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10678))
- **eslint-plugin:** \[no-shadow] don't report unnecessarily on valid
ways of using module augmentation
([#​10616](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10616))
- **eslint-plugin:** \[no-duplicate-type-constituents] handle nested
types
([#​10638](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10638))
- **eslint-plugin:** \[prefer-nullish-coalescing] doesn't report on
ternary but on equivalent ||
([#​10517](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10517))
##### ❤️ Thank You
- mdm317
- Olivier Zalmanski
[@​OlivierZal](https://redirect.github.com/OlivierZal)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.21.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8210-2025-01-20)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.20.0...v8.21.0)
##### 🩹 Fixes
- **eslint-plugin:** \[no-duplicate-enum-values] handle template literal
([#​10675](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10675))
- **eslint-plugin:** \[no-base-to-string] don't crash for recursive
array or tuple types
([#​10633](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10633))
- **eslint-plugin:** \[no-for-in-array] report on any type which may be
an array or array-like
([#​10535](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10535))
- **eslint-plugin:** check JSX spread elements for misused spread usage
([#​10653](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10653))
- **eslint-plugin:** \[no-unnecessary-type-arguments] handle type args
on jsx
([#​10630](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10630))
##### ❤️ Thank You
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.20.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8200-2025-01-13)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.1...v8.20.0)
##### 🚀 Features
- **eslint-plugin:** \[consistent-type-assertions] add
arrayLiteralTypeAssertions options
([#​10565](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10565))
- **eslint-plugin:** \[no-deprecated] add allow options
([#​10585](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10585))
- **eslint-plugin:** \[no-misused-spread] add new rule
([#​10551](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10551))
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-condition] don't flag optional
chaining for union types with an unconstrained type parameters
([#​10602](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10602))
- **eslint-plugin:** \[no-shadow] ignore ordering of type declarations
([#​10593](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10593))
##### ❤️ Thank You
- Josh Goldberg ✨
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.19.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8191-2025-01-06)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.19.0...v8.19.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] handle literal
types
([#​10523](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10523))
- **eslint-plugin:** \[no-deprecated] doesn't report on shorthand
property in an object expression
([#​10550](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10550))
- **eslint-plugin:** \[strict-boolean-expressions] remove remaining
(unsafe) autofixes
([#​10548](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10548))
- **eslint-plugin:** \[no-shadow] report correctly on parameters of
functions declared with the `declare` keyword
([#​10543](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10543))
- **eslint-plugin:** \[no-base-to-string] check array generic type
([#​10437](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10437))
##### ❤️ Thank You
- Kirk Waiblinger
- mdm317
- Ronen Amiel
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.19.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8190-2024-12-30)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.2...v8.19.0)
##### 🚀 Features
- **eslint-plugin:** \[strict-boolean-expressions] check array predicate
functions' return statements
([#​10106](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10106))
##### 🩹 Fixes
- **eslint-plugin:** \[member-ordering] ignore method overloading
([#​10536](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10536))
- **eslint-plugin:** \[consistent-indexed-object-style] don't report on
indirect circular references
([#​10537](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10537))
- **eslint-plugin:** \[array-type] autofix with conditional types needs
parentheses
([#​10522](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10522))
- **eslint-plugin:** add getConstraintInfo to handle generic constraints
better
([#​10496](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10496))
##### ❤️ Thank You
- Karl Werner
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.18.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8182-2024-12-23)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.1...v8.18.2)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-condition] handle
noUncheckedIndexedAccess true
([#​10514](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10514))
- **eslint-plugin:** \[consistent-type-assertions] allow default
assertionStyle option
([#​10512](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10512))
- **eslint-plugin:** \[no-unnecessary-type-arguments] handle type/value
context
([#​10503](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10503))
- **eslint-plugin:** \[no-unsafe-type-assertion] fix for unsafe
assertion to a constrained type parameter
([#​10461](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10461))
- **eslint-plugin:** \[consistent-indexed-object-style] use a suggestion
over an auto-fix if can't reliably determine that produced index
signature is valid
([#​10490](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10490))
- **eslint-plugin:** \[no-unnecessary-condition] don't flag values of an
unconstrained or valid type parameter
([#​10473](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10473))
- **eslint-plugin:** \[prefer-reduce-type-parameter] don't report cases
in which the fix results in a type error
([#​10494](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10494))
- **eslint-plugin:** \[no-deprecated] not reporting usages of deprecated
declared constants as object value
([#​10498](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10498))
##### ❤️ Thank You
- Luke Deen Taylor
[@​controversial](https://redirect.github.com/controversial)
- Ronen Amiel
- Scott O'Hara
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.18.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8181-2024-12-16)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.18.0...v8.18.1)
##### 🩹 Fixes
- **scope-manager:** visit params decorator before nest scope
([#​10475](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10475))
- **eslint-plugin:** \[no-unnecessary-condition] better message when
comparing between literal types
([#​10454](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10454))
- **eslint-plugin:** use consistent naming for asserting types and
casting values
([#​10472](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10472))
- **eslint-plugin:** \[no-unnecessary-boolean-literal-compare] flag
values of a type parameter with boolean type constraints
([#​10474](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10474))
- **eslint-plugin:** handle string like index type
([#​10460](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10460))
- **eslint-plugin:** \[no-unnecessary-template-expression] don't report
when an expression includes comment
([#​10444](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10444))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.18.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8180-2024-12-09)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.17.0...v8.18.0)
##### 🚀 Features
- **eslint-plugin:** \[switch-exhaustiveness-check] add support for "no
default" comment
([#​10218](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10218))
- **eslint-plugin:** \[no-deprecated] report on super call of deprecated
constructor
([#​10397](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10397))
##### 🩹 Fixes
- **eslint-plugin:** \[use-unknown-in-catch-callback-variable] only flag
function literals
([#​10436](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10436))
- **eslint-plugin:** \[no-base-to-string] handle more robustly when
multiple `toString()` declarations are present for a type
([#​10432](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10432))
- **eslint-plugin:** \[no-deprecated] check if a JSX attribute is
deprecated
([#​10374](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10374))
- typescript peer dependency
([#​10373](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10373))
##### ❤️ Thank You
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- mdm317
- rtritto
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.17.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8170-2024-12-02)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.16.0...v8.17.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-promise-reject-errors] options to allow
any and unknown
([#​10392](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10392))
##### 🩹 Fixes
- **eslint-plugin:** \[promise-function-async] handle function
overloading
([#​10304](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10304))
- **eslint-plugin:** remove references to "extendDefaults" in
no-restricted-types
([#​10401](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10401))
- **eslint-plugin:** \[no-unnecessary-template-expressions] allow
template expressions used to make trailing whitespace visible
([#​10363](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10363))
##### ❤️ Thank You
- Kim OhSeong [@​bkks1004](https://redirect.github.com/bkks1004)
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Maria José Solano
[@​MariaSolOs](https://redirect.github.com/MariaSolOs)
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.16.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8160-2024-11-25)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.15.0...v8.16.0)
##### 🚀 Features
- **eslint-plugin:** \[no-base-to-string] check Array.prototype.join
([#​10287](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10287))
- **eslint-plugin:** \[max-params] add function overload and function
type support
([#​10312](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10312))
##### ❤️ Thank You
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.15.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8150-2024-11-18)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.14.0...v8.15.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-nullish-coalescing] fix detection of
`ignoreConditionalTests` involving boolean `!` operator
([#​10299](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10299))
- **eslint-plugin:** new rule `no-unsafe-type-assertion`
([#​10051](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10051))
- **eslint-plugin:** added related-getter-setter-pairs rule
([#​10192](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10192))
##### 🩹 Fixes
- **utils:** add defaultOptions to meta in rule
([#​10339](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10339))
- **eslint-plugin:** report deprecations used in default export
([#​10330](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10330))
- **eslint-plugin:** \[explicit-module-boundary-types] and
\[explicit-function-return-type] don't report on `as const satisfies`
([#​10315](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10315))
- **eslint-plugin:** \[await-thenable, return-await] don't flag awaiting
unconstrained type parameter as unnecessary
([#​10314](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10314))
- **eslint-plugin:** \[consistent-indexed-object-style] handle circular
mapped types
([#​10301](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10301))
##### ❤️ Thank You
- Josh Goldberg ✨
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- Luis Sebastian Urrutia Fuentes
[@​LuisUrrutia](https://redirect.github.com/LuisUrrutia)
- Phillip Huang
- Ronen Amiel
- Szydlak [@​wszydlak](https://redirect.github.com/wszydlak)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.14.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8140-2024-11-11)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.13.0...v8.14.0)
##### 🚀 Features
- **eslint-plugin:** \[await-thenable] report unnecessary `await using`
statements
([#​10209](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10209))
- **eslint-plugin:** \[no-confusing-void-expression] add an option to
ignore void<->void
([#​10067](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10067))
##### 🩹 Fixes
- **scope-manager:** fix asserted increments not being marked as write
references
([#​10271](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10271))
- **eslint-plugin:** \[no-misused-promises] improve report loc for
methods
([#​10216](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10216))
- **eslint-plugin:** \[no-unnecessary-condition] improve error message
for literal comparisons
([#​10194](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10194))
##### ❤️ Thank You
- Gyumong [@​Gyumong](https://redirect.github.com/Gyumong)
- Jan Ochwat [@​janek515](https://redirect.github.com/janek515)
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Ronen Amiel
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.13.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8130-2024-11-04)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.2...v8.13.0)
##### 🚀 Features
- **eslint-plugin:** \[only-throw-error] add allow option
([#​10221](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10221))
- **eslint-plugin:** \[prefer-nullish-coalescing] add option
`ignoreBooleanCoercion`
([#​9924](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9924))
- **eslint-plugin:** disable `no-class-assign` rule in
`eslint-recommended` config
([#​10250](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10250))
##### 🩹 Fixes
- **eslint-plugin:** \[switch-exhaustiveness-check] add support for
covering a missing property with `undefined`
([#​10232](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10232))
- **eslint-plugin:** \[consistent-type-definitions] don't leave trailing
parens when fixing type to interface
([#​10235](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10235))
- **eslint-plugin:** \[no-deprecated] report when exported class
implements/extends deprecated entity
([#​10259](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10259))
- **eslint-plugin:** \[no-deprecated] report on deprecated variables
used inside dynamic imports
([#​10261](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10261))
- **eslint-plugin:** \[no-unnecessary-condition] falsey bigint should be
falsey
([#​10205](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10205))
##### ❤️ Thank You
- auvred [@​auvred](https://redirect.github.com/auvred)
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Mark de Dios
[@​peanutenthusiast](https://redirect.github.com/peanutenthusiast)
- Ronen Amiel
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.12.2`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8122-2024-10-29)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.1...v8.12.2)
##### 🩹 Fixes
- **eslint-plugin:** \[switch-exhaustiveness-check] invert
`considerDefaultExhaustiveForUnions`
([#​10223](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10223))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.12.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8121-2024-10-28)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.12.0...v8.12.1)
This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.12.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8120-2024-10-28)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.11.0...v8.12.0)
##### 🚀 Features
- **eslint-plugin:** \[no-base-to-string] handle String()
([#​10005](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10005))
- **eslint-plugin:** \[switch-exhaustiveness-check] add
allowDefaultCaseMatchUnionMember option
([#​9954](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9954))
- **eslint-plugin:** \[consistent-indexed-object-style] report mapped
types
([#​10160](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10160))
- **eslint-plugin:** \[prefer-nullish-coalescing] add support for
assignment expressions
([#​10152](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10152))
##### ❤️ Thank You
- Abraham Guo
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi)
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- YeonJuan [@​yeonjuan](https://redirect.github.com/yeonjuan)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.11.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8110-2024-10-21)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.10.0...v8.11.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-type-parameters] add suggestion
fixer
([#​10149](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10149))
- **eslint-plugin:** \[no-base-to-string] add support for catching
toLocaleString
([#​10138](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10138))
##### 🩹 Fixes
- **eslint-plugin:** \[class-literal-property-style] don't report nodes
with `override` keyword
([#​10135](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/10135))
##### ❤️ Thank You
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger)
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw)
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.10.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8100-2024-10-17)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.9.0...v8.10.0)
##### 🚀 Features
- support TypeScript 5.6
([#​9972](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/9972))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.9.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#890-2024-10-14)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.1...v8.9.0)
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-parameters] cannot assume
variables are either type or value
- **scope-manager:** \[no-use-before-define] do not treat nested
namespace aliases as variable references
- **eslint-plugin:** \[return-await] sync the behavior with
await-thenable
- **eslint-plugin:** \[prefer-literal-enum-member] report a different
error message when `allowBitwiseExpressions` is enabled
- **eslint-plugin:** \[no-loop-func] sync from upstream base rule
- **eslint-plugin:** \[no-unused-vars] never report the naming of an
enum member
- **eslint-plugin:** correct use-at-your-own-risk type definitions
- **eslint-plugin:** handle unions in await...for
##### ❤️ Thank You
- Abraham Guo
- Anna Bocharova
- Arya Emami
- auvred
- Joshua Chen
- Kirk Waiblinger
- Lotfi Meklati
- mdm317
- Ronen Amiel
- Sukka
- YeonJuan
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.8.1`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#881-2024-10-07)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.8.0...v8.8.1)
##### 🩹 Fixes
- **eslint-plugin:** stop warning on
[@​ts-nocheck](https://redirect.github.com/ts-nocheck) comments
which aren't at the beginning of the file
##### ❤️ Thank You
- Brad Zacher
- Ronen Amiel
- WhitePiano
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.8.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#880-2024-09-30)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.7.0...v8.8.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unnecessary-condition] add checkTypePredicates
- **eslint-plugin:** \[return-await] check for-await loop iteree
##### 🩹 Fixes
- remove `export type *` in d.ts to support TS<5.0
- **eslint-plugin:** \[no-unnecessary-template-expression] should
underline template syntax with squiggly lines
- **type-utils:** check for type parameters on
`isBuiltinSymbolLikeRecurser()`
- **eslint-plugin:** \[no-deprecated] max callstack exceeded when class
implements itself
- **eslint-plugin:** \[no-misused-promises] check contextual type
- **eslint-plugin:** \[prefer-literal-enum-member] allow nested bitwise
operations
##### ❤️ Thank You
- auvred
- Josh Goldberg ✨
- Kirk Waiblinger
- Ronen Amiel
- Tarun Chauhan
- YeonJuan
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.7.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#870-2024-09-23)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.6.0...v8.7.0)
##### 🚀 Features
- **eslint-plugin:** \[no-unsafe-call] check calls of Function
- **eslint-plugin:** \[consistent-type-exports] check `export *` exports
to see if all exported members are types
##### 🩹 Fixes
- **eslint-plugin:** properly coerce all types to string in
`getStaticMemberAccessValue`
- **eslint-plugin:** \[no-deprecated] report on imported deprecated
variables
- **eslint-plugin:** \[no-confusing-non-null-assertion] check !in and
!instanceof
##### ❤️ Thank You
- Abraham Guo
- auvred
- Brian Donovan
- Kirk Waiblinger
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.6.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#860-2024-09-16)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.5.0...v8.6.0)
##### 🚀 Features
- add `allow` option for `restrict-template-expressions`
- **type-utils:** isNullableType add Void logic
- **eslint-plugin:** \[no-unnecessary-condition] check switch cases
- **eslint-plugin:** \[no-misused-promises] check array predicate return
##### 🩹 Fixes
- **eslint-plugin:** \[no-deprecated] don't report recursive types in
destructuring assignment twice
- **eslint-plugin:** \[no-deprecated] report on deprecated variables
used in destructuring assignment
- **eslint-plugin:** \[no-deprecated] report on deprecated properties
with function-like types
- **eslint-plugin:** \[no-unnecessary-condition] properly reflect
multiple negations in message
##### ❤️ Thank You
- Abraham Guo
- auvred
- Josh Goldberg ✨
- Kim Sang Du
- YeonJuan
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.5.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#850-2024-09-09)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.4.0...v8.5.0)
##### 🚀 Features
- **eslint-plugin:** \[no-duplicate-type-constituents] prevent
unnecessary \`
- **eslint-plugin:** \[no-unsafe-argument] differentiate error types
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] fix
TSNonNullExpression fixer
- **eslint-plugin:** \[no-misused-promises] handle static method
- **eslint-plugin:** \[no-unnecessary-type-parameters] fix AST quick
path scope analysis
- **eslint-plugin:** \[consistent-type-assertions] access parser
services lazily
##### ❤️ Thank You
-
[`f44da95`](https://redirect.github.com/typescript-eslint/typescript-eslint/commit/f44da958e)
- Josh Goldberg ✨
- Kirk Waiblinger
- YeonJuan
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.4.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#840-2024-09-02)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.3.0...v8.4.0)
This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.3.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#830-2024-08-26)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.2.0...v8.3.0)
##### 🚀 Features
- **eslint-plugin:** \[no-deprecation] add rule
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-template-expression] add missing
parentheses in autofix
- **eslint-plugin:** \[no-unnecessary-type-parameters] check mapped
alias type arguments
- **utils:** add `TSDeclareFunction` to `functionTypeTypes`
- **ast-spec:** use `Expression` in argument of `ThrowStatement`
##### ❤️ Thank You
- Abraham Guo
- Daichi Kamiyama
- Josh Goldberg ✨
- Kim Sang Du
- Sukka
- Vida Xie
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.2.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#820-2024-08-19)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.1.0...v8.2.0)
##### 🚀 Features
- **eslint-plugin:** add suggestion to `require-await` to remove `async`
keyword
##### 🩹 Fixes
- **eslint-plugin:** \[use-unknown-in-catch-callback-variable] flag
second argument of `.then`
- **eslint-plugin:** \[no-unnecessary-type-assertion] conflict with TS
for variables used before assignment
- **eslint-plugin:** delete \[] in message if ReadOnly\<string\[]> is
detected
- **eslint-plugin:** \[no-redundant-type-constituents] differentiate a
types-error any from a true any
- **eslint-plugin:** \[no-unnecessary-type-parameters] check mapped
constraint types if necessary
- **eslint-plugin:** \[no-unsafe-enum-comparison] add logic to see
through intersections
##### ❤️ Thank You
- Abraham Guo
- Dave
- Jake Bailey
- James
- Josh Goldberg ✨
- liuxingbaoyu
- Yukihiro Hasegawa
- Yutong Zhu
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.
###
[`v8.1.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#810-2024-08-12)
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.0.1...v8.1.0)
##### 🚀 Features
- **eslint-plugin:** \[no-floating-promises] enable "add await"
suggestion if ignoreVoid is true
- **typescript-estree:** restrict variable declarator definite/init
combinations
- **eslint-plugin:** \[no-unsafe-return] check promise any
- **eslint-plugin:** \[no-misused-promises] check subtype methods
against heritage type methods
##### 🩹 Fixes
- **eslint-plugin:** \[no-unsafe-enum-comparison] typo in test
- **eslint-plugin:** \[no-unnecessary-type-parameters] skip checking
function bodies for AST references
- **eslint-plugin:** \[member-ordering] get accessor member name & take
into account `abstract` and decorator
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekday" (UTC), Automerge - At
any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/apify/apify-cli).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 9f1975d commit 3e459d5
2 files changed
+222
-181
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
0 commit comments