Skip to content

Commit

Permalink
Update Linting (major) (#263)
Browse files Browse the repository at this point in the history
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
| [`^5.47.0` ->
`^6.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.56.0/6.11.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/5.56.0/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/5.56.0/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
| [`^5.47.0` ->
`^6.0.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.56.0/6.11.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/5.56.0/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/5.56.0/6.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-config-prettier](https://togithub.com/prettier/eslint-config-prettier)
| [`^8.5.0` ->
`^9.0.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/8.8.0/9.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-prettier/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-prettier/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-prettier/8.8.0/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-prettier/8.8.0/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-plugin-prettier](https://togithub.com/prettier/eslint-plugin-prettier)
| [`^4.2.1` ->
`^5.0.0`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/4.2.1/5.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-prettier/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-prettier/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-prettier/4.2.1/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-prettier/4.2.1/5.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v6.11.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6110-2023-11-13)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.10.0...v6.11.0)

##### Bug Fixes

- **eslint-plugin:** \[explicit-function-return-type] support JSX
attributes in `allowTypedFunctionExpressions`
([#&#8203;7553](https://togithub.com/typescript-eslint/typescript-eslint/issues/7553))
([be2777c](https://togithub.com/typescript-eslint/typescript-eslint/commit/be2777c5338669836d786f9a7806f499fd566dcd))
- **eslint-plugin:** \[no-unnecessary-qualifier] handle nested namespace
id
([#&#8203;7883](https://togithub.com/typescript-eslint/typescript-eslint/issues/7883))
([a668f5b](https://togithub.com/typescript-eslint/typescript-eslint/commit/a668f5b10e7b1570c732312ad9ccab3431459c1b))

##### Features

- add `no-unsafe-unary-minus` rule
([#&#8203;7390](https://togithub.com/typescript-eslint/typescript-eslint/issues/7390))
([c4709c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/c4709c2861f8ea4e18c289218a75224d6bb76193))
- add types for flat config files
([#&#8203;7273](https://togithub.com/typescript-eslint/typescript-eslint/issues/7273))
([66cd0c0](https://togithub.com/typescript-eslint/typescript-eslint/commit/66cd0c0535e5de1b46ba337919a9a92748d2b0a6))
- allow [email protected] as devDependency
([#&#8203;7821](https://togithub.com/typescript-eslint/typescript-eslint/issues/7821))
([b6c40b4](https://togithub.com/typescript-eslint/typescript-eslint/commit/b6c40b42b68d5567c7468030ee45b9b84bec4c4d))
- **eslint-plugin:** no-unsafe-enum-comparison handles switch cases
([#&#8203;7898](https://togithub.com/typescript-eslint/typescript-eslint/issues/7898))
([72cb9e4](https://togithub.com/typescript-eslint/typescript-eslint/commit/72cb9e4ed397d35a8d8838d27dedbace6122179c))
- **utils:** add ESLint `CodePath` selector types
([#&#8203;7551](https://togithub.com/typescript-eslint/typescript-eslint/issues/7551))
([99a026f](https://togithub.com/typescript-eslint/typescript-eslint/commit/99a026fe41b4b169914352fe66e7d5d687b300bf))

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.

###
[`v6.10.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6100-2023-11-06)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.9.1...v6.10.0)

##### Bug Fixes

- **eslint-plugin:** \[no-unused-vars] handle logical assignment
([#&#8203;7854](https://togithub.com/typescript-eslint/typescript-eslint/issues/7854))
([11e57c5](https://togithub.com/typescript-eslint/typescript-eslint/commit/11e57c5937cc2ad2e6b035f8d3fb25a918490960))
- **eslint-plugin:** \[require-await] add support for "await using"
([#&#8203;7866](https://togithub.com/typescript-eslint/typescript-eslint/issues/7866))
([855abea](https://togithub.com/typescript-eslint/typescript-eslint/commit/855abea2d7ba0235e61430f9481117af5f8f1bf7))

##### Features

- **eslint-plugin:** \[ban-ts-comments] suggest ts-expect-error over
ts-ignore
([#&#8203;7849](https://togithub.com/typescript-eslint/typescript-eslint/issues/7849))
([5e73a48](https://togithub.com/typescript-eslint/typescript-eslint/commit/5e73a4810add09470426129bc6b267cfaa42c378))

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.

####
[6.9.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.9.0...v6.9.1)
(2023-10-30)

##### Bug Fixes

- **eslint-plugin:** \[naming-convention] allow PascalCase for imports
([#&#8203;7841](https://togithub.com/typescript-eslint/typescript-eslint/issues/7841))
([7ad86ee](https://togithub.com/typescript-eslint/typescript-eslint/commit/7ad86eead76fa9e96573ac011376c1cb8c009cee))
- **eslint-plugin:** \[no-unused-expressions] handle
TSInstantiationExpression expression
([#&#8203;7831](https://togithub.com/typescript-eslint/typescript-eslint/issues/7831))
([31988e0](https://togithub.com/typescript-eslint/typescript-eslint/commit/31988e0d2e6cf5e6bb9bb287958b1f03ca084259))

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.

###
[`v6.9.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#691-2023-10-30)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.9.0...v6.9.1)

##### Bug Fixes

- **eslint-plugin:** \[naming-convention] allow PascalCase for imports
([#&#8203;7841](https://togithub.com/typescript-eslint/typescript-eslint/issues/7841))
([7ad86ee](https://togithub.com/typescript-eslint/typescript-eslint/commit/7ad86eead76fa9e96573ac011376c1cb8c009cee))
- **eslint-plugin:** \[no-unused-expressions] handle
TSInstantiationExpression expression
([#&#8203;7831](https://togithub.com/typescript-eslint/typescript-eslint/issues/7831))
([31988e0](https://togithub.com/typescript-eslint/typescript-eslint/commit/31988e0d2e6cf5e6bb9bb287958b1f03ca084259))

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.

###
[`v6.9.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#690-2023-10-23)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.8.0...v6.9.0)

##### Bug Fixes

- **eslint-plugin:** \[no-confusing-void-expression] handle unfixable
cases
([#&#8203;7674](https://togithub.com/typescript-eslint/typescript-eslint/issues/7674))
([7e52f27](https://togithub.com/typescript-eslint/typescript-eslint/commit/7e52f276ed5b8b2c0b76be02cb2e8a77892c10f2))
- **eslint-plugin:** \[no-unsafe-return] allow returning anything if
explicitly returning any
([#&#8203;7708](https://togithub.com/typescript-eslint/typescript-eslint/issues/7708))
([c6124b2](https://togithub.com/typescript-eslint/typescript-eslint/commit/c6124b2c93a53f11471cce8054388dec7a58f90b))

##### Features

- **eslint-plugin:** \[max-params] don't count `this: void` parameter
([#&#8203;7696](https://togithub.com/typescript-eslint/typescript-eslint/issues/7696))
([6398d3f](https://togithub.com/typescript-eslint/typescript-eslint/commit/6398d3fd0a576d8cdc957ec1b57929acacc60ba0)),
closes
[#&#8203;7538](https://togithub.com/typescript-eslint/typescript-eslint/issues/7538)
- **eslint-plugin:** \[naming-convention] add support for default and
namespace imports
([#&#8203;7269](https://togithub.com/typescript-eslint/typescript-eslint/issues/7269))
([bb15aae](https://togithub.com/typescript-eslint/typescript-eslint/commit/bb15aae877ae260f59aa5e6cfc338b1eefc6d85c))
- **eslint-plugin:** \[no-restricted-imports] support import = require
([#&#8203;7709](https://togithub.com/typescript-eslint/typescript-eslint/issues/7709))
([4c8edcf](https://togithub.com/typescript-eslint/typescript-eslint/commit/4c8edcfb7d3cc02d07d2329c87da4377c1cbf969))
- **eslint-plugin:** \[no-unsafe-enum-comparison] add switch suggestion
([#&#8203;7691](https://togithub.com/typescript-eslint/typescript-eslint/issues/7691))
([53d5263](https://togithub.com/typescript-eslint/typescript-eslint/commit/53d5263cee8e0b5ddc5de3321d27559c196e5b58)),
closes
[#&#8203;7643](https://togithub.com/typescript-eslint/typescript-eslint/issues/7643)
- **eslint-plugin:** \[prefer-readonly] private fields support
([#&#8203;7686](https://togithub.com/typescript-eslint/typescript-eslint/issues/7686))
([0e875bf](https://togithub.com/typescript-eslint/typescript-eslint/commit/0e875bf77a9d94dc74924245fabc36c0ae780977))

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.

###
[`v6.8.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#680-2023-10-16)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.5...v6.8.0)

##### Bug Fixes

- **eslint-plugin:** \[consistent-type-imports] import assertion checks
added
([#&#8203;7722](https://togithub.com/typescript-eslint/typescript-eslint/issues/7722))
([afdae37](https://togithub.com/typescript-eslint/typescript-eslint/commit/afdae3739c68469a488277eb7b7f56f679d6eb20))
- **eslint-plugin:** \[no-shadow] fix static class generics for class
expressions
([#&#8203;7724](https://togithub.com/typescript-eslint/typescript-eslint/issues/7724))
([e5ea1d0](https://togithub.com/typescript-eslint/typescript-eslint/commit/e5ea1d05603e6212093de541e5da49f139571454))
- **eslint-plugin:** \[no-unsafe-member-access] report on only the
accessed property
([#&#8203;7717](https://togithub.com/typescript-eslint/typescript-eslint/issues/7717))
([f81a2da](https://togithub.com/typescript-eslint/typescript-eslint/commit/f81a2da13529e77d039c5b31b4313a6984ceb964))
- **eslint-plugin:** \[no-useless-empty-export] exempt .d.ts
([#&#8203;7718](https://togithub.com/typescript-eslint/typescript-eslint/issues/7718))
([ac397f1](https://togithub.com/typescript-eslint/typescript-eslint/commit/ac397f18176a9defd8c189b5b6b4e5d0b7582210))

##### Features

- **eslint-plugin:** add new extended rule `prefer-destructuring`
([#&#8203;7117](https://togithub.com/typescript-eslint/typescript-eslint/issues/7117))
([3c6379b](https://togithub.com/typescript-eslint/typescript-eslint/commit/3c6379b7678bcb190ae70d211cb3930c942d17a0))

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.

####
[6.7.5](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.4...v6.7.5)
(2023-10-09)

##### Bug Fixes

- **eslint-plugin:** \[prefer-string-starts-ends-with] only report
slice/substring with correct range
([#&#8203;7712](https://togithub.com/typescript-eslint/typescript-eslint/issues/7712))
([db40a0a](https://togithub.com/typescript-eslint/typescript-eslint/commit/db40a0a83abf14237a7a9b3f75d869da26512292))

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.

####
[6.7.4](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.3...v6.7.4)
(2023-10-02)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

####
[6.7.3](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.2...v6.7.3)
(2023-09-25)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

####
[6.7.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.1...v6.7.2)
(2023-09-18)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

####
[6.7.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.0...v6.7.1)
(2023-09-18)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v6.7.5`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#675-2023-10-09)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.4...v6.7.5)

##### Bug Fixes

- **eslint-plugin:** \[prefer-string-starts-ends-with] only report
slice/substring with correct range
([#&#8203;7712](https://togithub.com/typescript-eslint/typescript-eslint/issues/7712))
([db40a0a](https://togithub.com/typescript-eslint/typescript-eslint/commit/db40a0a83abf14237a7a9b3f75d869da26512292))

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.

###
[`v6.7.4`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#674-2023-10-02)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.3...v6.7.4)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v6.7.3`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#673-2023-09-25)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.2...v6.7.3)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v6.7.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#672-2023-09-18)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.7.0...v6.7.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v6.7.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#670-2023-09-11)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.6.0...v6.7.0)

##### Bug Fixes

- **eslint-plugin:** \[no-restricted-imports] disallow side effect
imports when allowTypeImports is enabled
([#&#8203;7560](https://togithub.com/typescript-eslint/typescript-eslint/issues/7560))
([4908905](https://togithub.com/typescript-eslint/typescript-eslint/commit/4908905e4ee2b533504fcba0c671aa869668df25))

##### Features

- **eslint-plugin:** \[await-thenable] added suggestion fixer
([#&#8203;7437](https://togithub.com/typescript-eslint/typescript-eslint/issues/7437))
([b284370](https://togithub.com/typescript-eslint/typescript-eslint/commit/b284370e1e95493764d2806cd45975201e02f374))

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.

###
[`v6.6.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#660-2023-09-04)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.5.0...v6.6.0)

##### Bug Fixes

- **eslint-plugin:** \[key-spacing] consider properties with parens and
comments
([#&#8203;7525](https://togithub.com/typescript-eslint/typescript-eslint/issues/7525))
([7012279](https://togithub.com/typescript-eslint/typescript-eslint/commit/7012279b8510f9fcaee64b610d0a66e8e90f0865))

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.

###
[`v6.5.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#650-2023-08-28)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.4.1...v6.5.0)

##### Bug Fixes

- **eslint-plugin:** \[consistent-type-assertions] wrap object return
value with parentheses
([#&#8203;6885](https://togithub.com/typescript-eslint/typescript-eslint/issues/6885))
([23ac499](https://togithub.com/typescript-eslint/typescript-eslint/commit/23ac49944e4f4067f89123fddd4a80c629270b4c))

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.

####
[6.4.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.4.0...v6.4.1)
(2023-08-21)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-condition] false positives with
branded types
([#&#8203;7466](https://togithub.com/typescript-eslint/typescript-eslint/issues/7466))
([b52658f](https://togithub.com/typescript-eslint/typescript-eslint/commit/b52658fbb6f5cf2085c94926872e6d39efaa3b01)),
closes
[#&#8203;7293](https://togithub.com/typescript-eslint/typescript-eslint/issues/7293)

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.

###
[`v6.4.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#641-2023-08-21)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.4.0...v6.4.1)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-condition] false positives with
branded types
([#&#8203;7466](https://togithub.com/typescript-eslint/typescript-eslint/issues/7466))
([b52658f](https://togithub.com/typescript-eslint/typescript-eslint/commit/b52658fbb6f5cf2085c94926872e6d39efaa3b01)),
closes
[#&#8203;7293](https://togithub.com/typescript-eslint/typescript-eslint/issues/7293)

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.

###
[`v6.4.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#640-2023-08-14)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.3.0...v6.4.0)

##### Bug Fixes

- **eslint-plugin:** \[non-nullable-type-assertion-style] consider
operator precedence when fixing
([#&#8203;7289](https://togithub.com/typescript-eslint/typescript-eslint/issues/7289))
([bad37a2](https://togithub.com/typescript-eslint/typescript-eslint/commit/bad37a22025b718a10e70cc84b9847eb41f723d0))
- **eslint-plugin:** \[strict-boolean-expressions] replace dangerous
fixer with suggestions
([#&#8203;7394](https://togithub.com/typescript-eslint/typescript-eslint/issues/7394))
([ad8401a](https://togithub.com/typescript-eslint/typescript-eslint/commit/ad8401a5970441258cc4440a01a3acf35d861171))

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.

###
[`v6.3.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#630-2023-08-07)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.1...v6.3.0)

##### Bug Fixes

- **eslint-plugin:** \[no-extra-parens] keep parens around call
expression arguments when type arguments contain parens
([#&#8203;7375](https://togithub.com/typescript-eslint/typescript-eslint/issues/7375))
([38e5e4e](https://togithub.com/typescript-eslint/typescript-eslint/commit/38e5e4eb8624649a2b66e19a303383bebbda1e2e))
- **eslint-plugin:** \[no-restricted-imports] allow inline type
qualifiers when `allowTypeImports` enabled
([#&#8203;7379](https://togithub.com/typescript-eslint/typescript-eslint/issues/7379))
([cc9a46d](https://togithub.com/typescript-eslint/typescript-eslint/commit/cc9a46d01bce4282ff841d5ccef5445984aff8f6))

##### Features

- **eslint-plugin:** \[prefer-nullish-coalescing] allow
`ignorePrimitives` option to be `true`
([#&#8203;7331](https://togithub.com/typescript-eslint/typescript-eslint/issues/7331))
([dfcafae](https://togithub.com/typescript-eslint/typescript-eslint/commit/dfcafae515e7f4d1ae69387eb163200e455dd0ce))

##### Reverts

- Revert "chore(deps): update dependency marked to v6"
([#&#8203;7429](https://togithub.com/typescript-eslint/typescript-eslint/issues/7429))
([7891a06](https://togithub.com/typescript-eslint/typescript-eslint/commit/7891a06892445a30c90c882d7e2f17fdf9da5601)),
closes
[#&#8203;7429](https://togithub.com/typescript-eslint/typescript-eslint/issues/7429)
[#&#8203;7422](https://togithub.com/typescript-eslint/typescript-eslint/issues/7422)

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.

####
[6.2.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)
(2023-07-31)

##### Bug Fixes

- **eslint-plugin:** \[no-inferrable-types] apply also for parameter
properties
([#&#8203;7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288))
([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44))
- **scope-manager:** correct decorators(.length) check in ClassVisitor
for methods
([#&#8203;7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334))
([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7))

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.

###
[`v6.2.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#621-2023-07-31)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.2.0...v6.2.1)

##### Bug Fixes

- **eslint-plugin:** \[no-inferrable-types] apply also for parameter
properties
([#&#8203;7288](https://togithub.com/typescript-eslint/typescript-eslint/issues/7288))
([67f93b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/67f93b19f2e481a4e441635d72e81de9d5d7ad44))
- **scope-manager:** correct decorators(.length) check in ClassVisitor
for methods
([#&#8203;7334](https://togithub.com/typescript-eslint/typescript-eslint/issues/7334))
([abbb6c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/abbb6c2c6d2bc1f8d4defd2060dbc473735b2cc7))

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.

###
[`v6.2.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#620-2023-07-24)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.1.0...v6.2.0)

##### Bug Fixes

- **eslint-plugin:** \[member-ordering] account for repeated names
([#&#8203;6864](https://togithub.com/typescript-eslint/typescript-eslint/issues/6864))
([d207b59](https://togithub.com/typescript-eslint/typescript-eslint/commit/d207b59e24acb9377a7a55104d082bd91fbb664e))
- **eslint-plugin:** \[no-unsafe-enum-comparison] exempt bit shift
operators
([#&#8203;7074](https://togithub.com/typescript-eslint/typescript-eslint/issues/7074))
([b3e0e75](https://togithub.com/typescript-eslint/typescript-eslint/commit/b3e0e7571f1abb5dae347d3701844324232b1431))
- **eslint-plugin:** \[prefer-nullish-coalescing] handle case when type
of left side is null or undefined
([#&#8203;7225](https://togithub.com/typescript-eslint/typescript-eslint/issues/7225))
([b62affe](https://togithub.com/typescript-eslint/typescript-eslint/commit/b62affe8ddac7c0af22bf74f22503d0cda92f4c0))
- **eslint-plugin:** use a default export for the rules type
([#&#8203;7266](https://togithub.com/typescript-eslint/typescript-eslint/issues/7266))
([af77a1d](https://togithub.com/typescript-eslint/typescript-eslint/commit/af77a1d33f0853d2ab0f61e4ac04dec47cd7ba18))

##### Features

- **eslint-plugin:** \[class-methods-use-this] add extension rule
([#&#8203;6457](https://togithub.com/typescript-eslint/typescript-eslint/issues/6457))
([18ea3b1](https://togithub.com/typescript-eslint/typescript-eslint/commit/18ea3b1f8938e25053f89b7e4ec8dcc6c453118a))
- **eslint-plugin:** sync getFunctionHeadLoc implementation with
upstream
([#&#8203;7260](https://togithub.com/typescript-eslint/typescript-eslint/issues/7260))
([f813147](https://togithub.com/typescript-eslint/typescript-eslint/commit/f81314731cccb779423e2580a805eff3efff8564))

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.

###
[`v6.1.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#610-2023-07-17)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.0.0...v6.1.0)

##### Bug Fixes

- **eslint-plugin:** \[comma-dangle] fixed crash from undefined
predicate.ignore
([#&#8203;7223](https://togithub.com/typescript-eslint/typescript-eslint/issues/7223))
([d368164](https://togithub.com/typescript-eslint/typescript-eslint/commit/d368164478a8b141ad6b1c4ea5088fdc639ccafe))
- **eslint-plugin:** \[no-floating-promises] false negative calling
.then with second argument undefined
([#&#8203;6881](https://togithub.com/typescript-eslint/typescript-eslint/issues/6881))
([606a52c](https://togithub.com/typescript-eslint/typescript-eslint/commit/606a52cefcecd594df6edc359bff291b835169f2)),
closes
[#&#8203;6850](https://togithub.com/typescript-eslint/typescript-eslint/issues/6850)
- **eslint-plugin:** \[no-floating-promises] finally should be
transparent to unhandled promises
([#&#8203;7092](https://togithub.com/typescript-eslint/typescript-eslint/issues/7092))
([2a4421c](https://togithub.com/typescript-eslint/typescript-eslint/commit/2a4421ccf072f866bb6c2dadab967aa69ac9bf4a))
- **eslint-plugin:** \[no-unnecessary-type-constraint] correctly fix in
cts/mts files
([#&#8203;6795](https://togithub.com/typescript-eslint/typescript-eslint/issues/6795))
([1404796](https://togithub.com/typescript-eslint/typescript-eslint/commit/14047963d79e4d4a783854e2826a30004fa34570))
- **eslint-plugin:** \[no-unused-vars] check if any variable definition
is exported
([#&#8203;6873](https://togithub.com/typescript-eslint/typescript-eslint/issues/6873))
([587ac30](https://togithub.com/typescript-eslint/typescript-eslint/commit/587ac306d9e53736ebe799f5b9edcb7dd030eed6)),
closes
[#&#8203;6188](https://togithub.com/typescript-eslint/typescript-eslint/issues/6188)
- **eslint-plugin:** fix schemas across several rules and add schema
tests
([#&#8203;6947](https://togithub.com/typescript-eslint/typescript-eslint/issues/6947))
([dd31bed](https://togithub.com/typescript-eslint/typescript-eslint/commit/dd31bed1e921531abe039180c9aeccbd56934601))
- **eslint-plugin:** include the rules types in the package
([#&#8203;7215](https://togithub.com/typescript-eslint/typescript-eslint/issues/7215))
([a3da11d](https://togithub.com/typescript-eslint/typescript-eslint/commit/a3da11d09b1d119fd5bc4cd776474e2520d7fefd))

##### Features

- **typescript-estree:** add EXPERIMENTAL_useProjectService option to
use TypeScript project service
([#&#8203;6754](https://togithub.com/typescript-eslint/typescript-eslint/issues/6754))
([6d3d162](https://togithub.com/typescript-eslint/typescript-eslint/commit/6d3d162ce032ebcf5f892a4edfb897797fc96191))

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.

###
[`v6.0.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#600-2023-07-10)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.62.0...v6.0.0)

##### Bug Fixes

- bumped ts-api-utils to 0.0.39
([#&#8203;6497](https://togithub.com/typescript-eslint/typescript-eslint/issues/6497))
([217c710](https://togithub.com/typescript-eslint/typescript-eslint/commit/217c710d99445994b9c8db7b9bee9b9cc63bc4cb))
- correct handling of additionalProperties in object schemas
([#&#8203;6939](https://togithub.com/typescript-eslint/typescript-eslint/issues/6939))
([489c7a5](https://togithub.com/typescript-eslint/typescript-eslint/commit/489c7a50ae99ef66df152a68fd447f7e42a23558))
- correct lint error after merge
([277fdb5](https://togithub.com/typescript-eslint/typescript-eslint/commit/277fdb5ac76bd761ae6f5d1052445dcff2e848a1))
- **eslint-plugin:** \[explicit-module-boundary-types] remove
shouldTrackReferences option from schema
([#&#8203;5399](https://togithub.com/typescript-eslint/typescript-eslint/issues/5399))
([6d32734](https://togithub.com/typescript-eslint/typescript-eslint/commit/6d32734b1312f60ee7d12d4bb19fc1cf52e7f0a5))
- **eslint-plugin:** allow parser@^6.0.0
([#&#8203;6630](https://togithub.com/typescript-eslint/typescript-eslint/issues/6630))
([92908bd](https://togithub.com/typescript-eslint/typescript-eslint/commit/92908bdd9c102ff599da6a4791e8ad3e6d3dc593))
- **eslint-plugin:** remove valid-typeof disable in eslint-recommended
([#&#8203;5381](https://togithub.com/typescript-eslint/typescript-eslint/issues/5381))
([b82df5e](https://togithub.com/typescript-eslint/typescript-eslint/commit/b82df5eaed437727566cde2b53410001505f1b13))
- fix illegal decorator check
([#&#8203;6723](https://togithub.com/typescript-eslint/typescript-eslint/issues/6723))
([c456f8c](https://togithub.com/typescript-eslint/typescript-eslint/commit/c456f8cdef5a931c631bfbcfc84d8a25caaf019f))
- rename typeParameters to typeArguments where needed
([#&#8203;5384](https://togithub.com/typescript-eslint/typescript-eslint/issues/5384))
([08d757b](https://togithub.com/typescript-eslint/typescript-eslint/commit/08d757b26b00d0accea010e61ec42b4f753f993e))
- replace tsutils with ts-api-tools
([#&#8203;6428](https://togithub.com/typescript-eslint/typescript-eslint/issues/6428))
([79327b4](https://togithub.com/typescript-eslint/typescript-eslint/commit/79327b4999999cde3003901b40527af002c4906a))
- **type-utils:** treat intrinsic types as if they are from lib and
never match error types
([#&#8203;6869](https://togithub.com/typescript-eslint/typescript-eslint/issues/6869))
([ecb57de](https://togithub.com/typescript-eslint/typescript-eslint/commit/ecb57de5eb50511bed163f6e1b27e31b8577344e))
- **typescript-estree:** account for namespace nesting in AST conversion
([#&#8203;6272](https://togithub.com/typescript-eslint/typescript-eslint/issues/6272))
([09e3877](https://togithub.com/typescript-eslint/typescript-eslint/commit/09e38776c63fea3328f71df36644ee11dd137cc1))
- update `exports` field in package.json files
([#&#8203;6550](https://togithub.com/typescript-eslint/typescript-eslint/issues/6550))
([53776c2](https://togithub.com/typescript-eslint/typescript-eslint/commit/53776c244f8bbdc852d57c7b313b0935e755ddc4))

##### chore

- drop support for node v14.17, v17
([#&#8203;5971](https://togithub.com/typescript-eslint/typescript-eslint/issues/5971))
([cc62015](https://togithub.com/typescript-eslint/typescript-eslint/commit/cc62015b8ae5f207912ff8988e2a0b3fe9a79243))

##### Features

- add new package `rule-tester`
([#&#8203;6777](https://togithub.com/typescript-eslint/typescript-eslint/issues/6777))
([2ce1c1d](https://togithub.com/typescript-eslint/typescript-eslint/commit/2ce1c1d22c799a1ca027674fcb9b3a7ab0107428))
- add package.json exports for public packages
([#&#8203;6458](https://togithub.com/typescript-eslint/typescript-eslint/issues/6458))
([d676683](https://togithub.com/typescript-eslint/typescript-eslint/commit/d6766838a05259556029acaac57dc7839b68c592))
- bump minimum supported TS version to 4.2.4
([#&#8203;5915](https://togithub.com/typescript-eslint/typescript-eslint/issues/5915))
([a8e71d5](https://togithub.com/typescript-eslint/typescript-eslint/commit/a8e71d52169f32ab9e836ec96d980ba52deffe12))
- bump ts-api-utils to v0.0.21
([#&#8203;6459](https://togithub.com/typescript-eslint/typescript-eslint/issues/6459))
([3915661](https://togithub.com/typescript-eslint/typescript-eslint/commit/391566172dbc6013be79952fc68a588bf653fa8d))
- bump ts-api-utils to v0.0.22
([#&#8203;6472](https://togithub.com/typescript-eslint/typescript-eslint/issues/6472))
([b88cd23](https://togithub.com/typescript-eslint/typescript-eslint/commit/b88cd2332921efcca7ec5f4176f19779346d963b))
- drop support for ESLint v6
([#&#8203;5972](https://togithub.com/typescript-eslint/typescript-eslint/issues/5972))
([bda806d](https://togithub.com/typescript-eslint/typescript-eslint/commit/bda806d78ee46133587d9383baff52d796a594e5))
- drop support for node v12
([#&#8203;5918](https://togithub.com/typescript-eslint/typescript-eslint/issues/5918))
([7e3fe9a](https://togithub.com/typescript-eslint/typescript-eslint/commit/7e3fe9a67abd394b0a114f2deb466edf5c9759ac))
- drop support for node v14 and test against node v20
([#&#8203;7022](https://togithub.com/typescript-eslint/typescript-eslint/issues/7022))
([e6235bf](https://togithub.com/typescript-eslint/typescript-eslint/commit/e6235bf61b781066653581b57b7cd976c9c4f905))
- **eslint-plugin:** \[prefer-nullish-coalescing]: add support for
assignment expressions
([#&#8203;5234](https://togithub.com/typescript-eslint/typescript-eslint/issues/5234))
([4bdbe67](https://togithub.com/typescript-eslint/typescript-eslint/commit/4bdbe67955fd591c25e58b13e674ba05bf5ed585))
- **eslint-plugin:** \[prefer-optional-chain] handle cases where the
first operands are unrelated to the rest of the chain and add type info
([#&#8203;6397](https://togithub.com/typescript-eslint/typescript-eslint/issues/6397))
([02a37c4](https://togithub.com/typescript-eslint/typescript-eslint/commit/02a37c4c79d9b83998b7ee1376be43b06e12b3a0))
- **eslint-plugin:** \[prefer-readonly-parameter-types] added an
optional type allowlist
([#&#8203;4436](https://togithub.com/typescript-eslint/typescript-eslint/issues/4436))
([c9427b7](https://togithub.com/typescript-eslint/typescript-eslint/commit/c9427b78b69f1a6a2453ef2df2be5bf96b7b00bc))
- **eslint-plugin:** \[restrict-plus-operands] change
checkCompoundAssignments to skipCompoundAssignments
([#&#8203;7027](https://togithub.com/typescript-eslint/typescript-eslint/issues/7027))
([dc801d8](https://togithub.com/typescript-eslint/typescript-eslint/commit/dc801d892ecc1af678ff37166481f4b69186164c))
- **eslint-plugin:** add config that disables type-aware linting
([#&#8203;6470](https://togithub.com/typescript-eslint/typescript-eslint/issues/6470))
([3b063cf](https://togithub.com/typescript-eslint/typescript-eslint/commit/3b063cfadce50985f8ec6d8f44f5b1cbd5c1ea57))
- **eslint-plugin:** apply final v6 changes to configs
([#&#8203;7110](https://togithub.com/typescript-eslint/typescript-eslint/issues/7110))
([c13ce0b](https://togithub.com/typescript-eslint/typescript-eslint/commit/c13ce0b4f7a74a6d8fecf78d25ebd8181f7a9119))
- **eslint-plugin:** deprecate no-type-alias
([#&#8203;6229](https://togithub.com/typescript-eslint/typescript-eslint/issues/6229))
([820bdf2](https://togithub.com/typescript-eslint/typescript-eslint/commit/820bdf2a3934d4186d51186693ced02df64a57ce))
- **eslint-plugin:** final final config changes for v6
([#&#8203;7157](https://togithub.com/typescript-eslint/typescript-eslint/issues/7157))
([e35c5c1](https://togithub.com/typescript-eslint/typescript-eslint/commit/e35c5c1c39f3d76b916ad1c1ac2c7bf05b379193))
- **eslint-plugin:** rework configs: recommended, strict, stylistic;
-type-checked
([#&#8203;5251](https://togithub.com/typescript-eslint/typescript-eslint/issues/5251))
([5346b5b](https://togithub.com/typescript-eslint/typescript-eslint/commit/5346b5bbdbba81439ba761c282ba9cdcec7b45c8)),
closes
[#&#8203;5036](https://togithub.com/typescript-eslint/typescript-eslint/issues/5036)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;3076](https://togithub.com/typescript-eslint/typescript-eslint/issues/3076)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;5889](https://togithub.com/typescript-eslint/typescript-eslint/issues/5889)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;5883](https://togithub.com/typescript-eslint/typescript-eslint/issues/5883)
[#&#8203;4863](https://togithub.com/typescript-eslint/typescript-eslint/issues/4863)
[#&#8203;5381](https://togithub.com/typescript-eslint/typescript-eslint/issues/5381)
[#&#8203;5256](https://togithub.com/typescript-eslint/typescript-eslint/issues/5256)
[#&#8203;5399](https://togithub.com/typescript-eslint/typescript-eslint/issues/5399)
- fork json schema types for better compat with ESLint rule validation
([#&#8203;6963](https://togithub.com/typescript-eslint/typescript-eslint/issues/6963))
([a4967f2](https://togithub.com/typescript-eslint/typescript-eslint/commit/a4967f2e8cc7b0432d8dfe804772e60042c5384c))
- improve rule schemas, add test to validate schemas, add tooling to
generate schema types
([#&#8203;6899](https://togithub.com/typescript-eslint/typescript-eslint/issues/6899))
([acc1a43](https://togithub.com/typescript-eslint/typescript-eslint/commit/acc1a43e02a403ff74a54c28c2c495f00d0be038))
- made BaseNode.parent non-optional
([#&#8203;5252](https://togithub.com/typescript-eslint/typescript-eslint/issues/5252))
([a4768f3](https://togithub.com/typescript-eslint/typescript-eslint/commit/a4768f38ef4943873c1e9443e8cd101a663ac3c0)),
closes
[#&#8203;5036](https://togithub.com/typescript-eslint/typescript-eslint/issues/5036)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;3076](https://togithub.com/typescript-eslint/typescript-eslint/issues/3076)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;5889](https://togithub.com/typescript-eslint/typescript-eslint/issues/5889)
[#&#8203;5834](https://togithub.com/typescript-eslint/typescript-eslint/issues/5834)
[#&#8203;5882](https://togithub.com/typescript-eslint/typescript-eslint/issues/5882)
[#&#8203;5864](https://togithub.com/typescript-eslint/typescript-eslint/issues/5864)
[#&#8203;5883](https://togithub.com/typescript-eslint/typescript-eslint/issues/5883)
[#&#8203;4863](https://togithub.com/typescript-eslint/typescript-eslint/issues/4863)
[#&#8203;5381](https://togithub.com/typescript-eslint/typescript-eslint/issues/5381)
[#&#8203;5256](https://togithub.com/typescript-eslint/typescript-eslint/issues/5256)
[#&#8203;5399](https://togithub.com/typescript-eslint/typescript-eslint/issues/5399)
- remove `RuleTester` in `/utils` in favour of the new `/rule-tester`
package
([#&#8203;6816](https://togithub.com/typescript-eslint/typescript-eslint/issues/6816))
([c33f497](https://togithub.com/typescript-eslint/typescript-eslint/commit/c33f497ad8aec7c123c7374f7aff3e24025fe861))
- remove partial type-information program
([#&#8203;6066](https://togithub.com/typescript-eslint/typescript-eslint/issues/6066))
([7fc062a](https://togithub.com/typescript-eslint/typescript-eslint/commit/7fc062abc30a73093cd943c2cb808ae373fe12d9))
- **typescript-estree:** add type checker wrapper APIs to
ParserServicesWithTypeInformation
([#&#8203;6404](https://togithub.com/typescript-eslint/typescript-eslint/issues/6404))
([62d5755](https://togithub.com/typescript-eslint/typescript-eslint/commit/62d57559564fb08512eafe03a2c1b167c4377601))
- **typescript-estree:** added allowInvalidAST option to not throw on
invalid tokens
([#&#8203;6247](https://togithub.com/typescript-eslint/typescript-eslint/issues/6247))
([a3b177d](https://togithub.com/typescript-eslint/typescript-eslint/commit/a3b177d59adaf8ea76b205befc8b12d86447f1fb))
- **typescript-estree:** check for illegal decorators on function
declarations
([#&#8203;6590](https://togithub.com/typescript-eslint/typescript-eslint/issues/6590))
([1b39cfd](https://togithub.com/typescript-eslint/typescript-eslint/commit/1b39cfd307955deb8e407cf8dd3a6ca1ed1b8df6))
- **typescript-estree:** check modifiers on every node
([#&#8203;6615](https://togithub.com/typescript-eslint/typescript-eslint/issues/6615))
([62d6230](https://togithub.com/typescript-eslint/typescript-eslint/commit/62d62304e16b553274a80d8ab2653543a22f2391))
- **typescript-estree:** remove optionality from AST boolean properties
([#&#8203;6274](https://togithub.com/typescript-eslint/typescript-eslint/issues/6274))
([df131e2](https://togithub.com/typescript-eslint/typescript-eslint/commit/df131e258c93e5714c88c0373cfeb2e1e75afc75))
- **typescript-estree:** throw errors for object methods without
function bodies
([#&#8203;6589](https://togithub.com/typescript-eslint/typescript-eslint/issues/6589))
([1d78576](https://togithub.com/typescript-eslint/typescript-eslint/commit/1d78576d41323e35c2d2a2ecc92f6ee76ed61d57))
- **typescript-estree:** throw errors when abstract property has
initializer
([#&#8203;6613](https://togithub.com/typescript-eslint/typescript-eslint/issues/6613))
([dcdbc76](https://togithub.com/typescript-eslint/typescript-eslint/commit/dcdbc76d5418a383968d15e32d2eba7a9d2d7e79))

##### BREAKING CHANGES

-   **eslint-plugin:** Adds an additional class of checks to the rule
-   drop support for ESLint v6
-   drops support for node v17
- Bumps the minimum supported range and removes handling for old
versions
-   drops support for node v12

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.

###
[`v5.62.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5620-2023-07-10)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0)

##### Bug Fixes

- **eslint-plugin:** \[comma-spacing] allow no space after trailing
comma in objects and arrays
([#&#8203;6938](https://togithub.com/typescript-eslint/typescript-eslint/issues/6938))
([24bdacc](https://togithub.com/typescript-eslint/typescript-eslint/commit/24bdacc7e5df40c92031a1bd7e9815d66a35b31d))
- **eslint-plugin:** \[prefer-includes] escape special characters
([#&#8203;7161](https://togithub.com/typescript-eslint/typescript-eslint/issues/7161))
([5a347a5](https://togithub.com/typescript-eslint/typescript-eslint/commit/5a347a5978bc5737412bd12d61eb6058163cf4a0)),
closes
[#&#8203;7145](https://togithub.com/typescript-eslint/typescript-eslint/issues/7145)
- **eslint-plugin:** replace auto-fix of class literal property style
rule with suggestion
([#&#8203;7054](https://togithub.com/typescript-eslint/typescript-eslint/issues/7054))
([a8c824a](https://togithub.com/typescript-eslint/typescript-eslint/commit/a8c824a1e84453f93cd2b464fc102bc878c1aff3))

##### Features

- **eslint-plugin:** \[prefer-nullish-coalescing] add `ignorePrimitives`
option
([#&#8203;6487](https://togithub.com/typescript-eslint/typescript-eslint/issues/6487))
([6edaa04](https://togithub.com/typescript-eslint/typescript-eslint/commit/6edaa04565576f0af7e60bc08602bd781c847804))

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.

###
[`v5.61.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5610-2023-07-03)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0)

##### Features

- **eslint-plugin:** \[ban-types] ban types in extends and implements
([#&#8203;7129](https://togithub.com/typescript-eslint/typescript-eslint/issues/7129))
([997783f](https://togithub.com/typescript-eslint/typescript-eslint/commit/997783ff108ca18af709667ef3fdfa7134a8eefe))
- use graphemer instead of grapheme-splitter
([#&#8203;7069](https://togithub.com/typescript-eslint/typescript-eslint/issues/7069))
([faea3ff](https://togithub.com/typescript-eslint/typescript-eslint/commit/faea3ff8b4d750974c41262b44db314f20d0c99c))

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.

####
[5.60.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)
(2023-06-26)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v5.60.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5601-2023-06-26)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

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.

###
[`v5.60.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5600-2023-06-19)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.11...v5.60.0)

##### Features

- **eslint-plugin:** \[restrict-plus-operands] add allow\* options
([#&#8203;6161](https://togithub.com/typescript-eslint/typescript-eslint/issues/6161))
([def09f8](https://togithub.com/typescript-eslint/typescript-eslint/commit/def09f88cdb4a85cebb8619b45931f7e2c88dfc0))

####
[5.59.11](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.10...v5.59.11)
(2023-06-12)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.10](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.9...v5.59.10)
(2023-06-12)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.9](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.8...v5.59.9)
(2023-06-05)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.8](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.7...v5.59.8)
(2023-05-29)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.7](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.6...v5.59.7)
(2023-05-22)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.6](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.5...v5.59.6)
(2023-05-15)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.5](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.4...v5.59.5)
(2023-05-08)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.4](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.3...v5.59.4)
(2023-05-08)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.3](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.2...v5.59.3)
(2023-05-08)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.2](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2)
(2023-05-01)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

####
[5.59.1](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1)
(2023-04-24)

##### Bug Fixes

- **eslint-plugin:** \[prefer-regexp-exec] skip malformed regexes
([#&#8203;6935](https://togithub.com/typescript-eslint/typescript-eslint/issues/6935))
([05ed60e](https://togithub.com/typescript-eslint/typescript-eslint/commit/05ed60e25f1de9d1bb83d56c81a349130960bec8))
- **eslint-plugin:** \[unified-signatures] no parameters function
([#&#8203;6940](https://togithub.com/typescript-eslint/typescript-eslint/issues/6940))
([2970861](https://togithub.com/typescript-eslint/typescript-eslint/commit/297086154acc568a0ae8eb41c8977b7a7ba4e0ed))

###
[`v5.59.11`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#55911-2023-06-12)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.10...v5.59.11)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.10`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#55910-2023-06-12)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.9...v5.59.10)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.9`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5599-2023-06-05)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.8...v5.59.9)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.8`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5598-2023-05-29)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.7...v5.59.8)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.7`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5597-2023-05-22)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.6...v5.59.7)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.6`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5596-2023-05-15)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.5...v5.59.6)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.5`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5595-2023-05-08)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.2...v5.59.5)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5592-2023-05-01)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.1...v5.59.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#55911-2023-06-12)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.59.0...v5.59.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

###
[`v5.59.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5590-2023-04-17)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.58.0...v5.59.0)

##### Bug Fixes

- **eslint-plugin:** \[no-unnecessary-condition] allow nullish
coalescing for naked type parameter
([#&#8203;6910](https://togithub.com/typescript-eslint/typescript-eslint/issues/6910))
([3e5f858](https://togithub.com/typescript-eslint/typescript-eslint/commit/3e5f8583f1e4fe045c2fe2143d6f280b7381f96b))

##### Features

-   **eslint-plugin:** \[ban-types] add NonNullable suggestion and all

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/inngest/inngest-js).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNy41OS44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jack Williams <[email protected]>
  • Loading branch information
renovate[bot] and jpwilliams authored Nov 17, 2023
1 parent bb8dca6 commit 79f0aeb
Show file tree
Hide file tree
Showing 20 changed files with 817 additions and 275 deletions.
16 changes: 8 additions & 8 deletions packages/inngest/etc/inngest.api.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions packages/inngest/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -161,14 +161,14 @@
"@types/ms": "^0.7.31",
"@types/node": "^18.16.16",
"@types/sha.js": "^2.4.0",
"@typescript-eslint/eslint-plugin": "^5.47.0",
"@typescript-eslint/parser": "^5.47.0",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"@vercel/node": "^2.15.9",
"concurrently": "^7.4.0",
"eslint": "^8.30.0",
"eslint-config-prettier": "^8.5.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-prettier": "^5.0.0",
"express": "^4.18.2",
"fastify": "^4.21.0",
"genversion": "^3.1.1",
Expand All @@ -180,7 +180,7 @@
"nock": "^13.2.9",
"node-mocks-http": "^1.11.0",
"nodemon": "^2.0.20",
"prettier": "^2.7.1",
"prettier": "^3.1.0",
"shx": "^0.3.4",
"ts-jest": "^29.1.0",
"tsx": "^3.12.7",
Expand Down
11 changes: 7 additions & 4 deletions packages/inngest/scripts/integrationTestRunner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,13 @@ async function runIntegrationTest(
exampleServerPort: number
): Promise<void> {
// Start a 10 minute timeout. If we don't finish within 10 minutes, something is wrong.
setTimeout(() => {
console.error("Integration test timed out");
process.exit(1);
}, 10 * 60 * 1000);
setTimeout(
() => {
console.error("Integration test timed out");
process.exit(1);
},
10 * 60 * 1000
);

const rootPath = path.join(__dirname, "..", "..", "..");
const sdkPath = path.join(rootPath, "packages", "inngest");
Expand Down
6 changes: 3 additions & 3 deletions packages/inngest/src/components/EventSchemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ export type LiteralToRecordZodSchemas<T> = PickLiterals<
[I in keyof T as GetName<T[I]>]: InferZodShape<T[I]>;
}
: T extends ZodEventSchemas
? T
: never
? T
: never
>;

/**
Expand Down Expand Up @@ -177,7 +177,7 @@ export type StandardEventSchemaToPayload<T> = Simplify<{
*/
export type Combine<
TCurr extends Record<string, EventPayload>,
TInc extends StandardEventSchemas
TInc extends StandardEventSchemas,
> = IsStringLiteral<keyof TCurr & string> extends true
? Simplify<
Omit<TCurr, keyof StandardEventSchemaToPayload<TInc>> &
Expand Down
2 changes: 1 addition & 1 deletion packages/inngest/src/components/Inngest.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ describe("helper types", () => {

type GetUnionKeyValue<
T,
K extends string | number | symbol
K extends string | number | symbol,
> = T extends Record<K, infer U> ? U : never;

describe("type GetFunctionInput", () => {
Expand Down
16 changes: 8 additions & 8 deletions packages/inngest/src/components/Inngest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -345,8 +345,8 @@ export class Inngest<TOpts extends ClientOptions = ClientOptions> {
let payloads: EventPayload[] = Array.isArray(payload)
? (payload as EventPayload[])
: payload
? ([payload] as [EventPayload])
: [];
? ([payload] as [EventPayload])
: [];

const inputChanges = await hooks.transformInput?.({
payloads: [...payloads],
Expand Down Expand Up @@ -454,7 +454,7 @@ export class Inngest<TOpts extends ClientOptions = ClientOptions> {
TMiddleware extends MiddlewareStack,
TTrigger extends TriggerOptions<keyof EventsFromOpts<TOpts> & string>,
TTriggerName extends keyof EventsFromOpts<TOpts> &
string = EventNameFromTrigger<EventsFromOpts<TOpts>, TTrigger>
string = EventNameFromTrigger<EventsFromOpts<TOpts>, TTrigger>,
>(
options: ExclusiveKeys<
Omit<
Expand All @@ -477,7 +477,7 @@ export class Inngest<TOpts extends ClientOptions = ClientOptions> {
[
typeof builtInMiddleware,
NonNullable<TOpts["middleware"]>,
TMiddleware
TMiddleware,
],
FailureEventArgs<EventsFromOpts<TOpts>[TTriggerName]>
>
Expand Down Expand Up @@ -519,7 +519,7 @@ export class Inngest<TOpts extends ClientOptions = ClientOptions> {
[
typeof builtInMiddleware,
NonNullable<TOpts["middleware"]>,
TMiddleware
TMiddleware,
]
>
>
Expand Down Expand Up @@ -672,7 +672,7 @@ export type GetStepTools<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
TInngest extends Inngest<any>,
TTrigger extends keyof GetEvents<TInngest> &
string = keyof GetEvents<TInngest> & string
string = keyof GetEvents<TInngest> & string,
> = GetFunctionInput<TInngest, TTrigger> extends { step: infer TStep }
? TStep
: never;
Expand All @@ -697,7 +697,7 @@ export type GetFunctionInput<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
TInngest extends Inngest<any>,
TTrigger extends keyof GetEvents<TInngest> &
string = keyof GetEvents<TInngest> & string
string = keyof GetEvents<TInngest> & string,
> = Parameters<
Handler<
ClientOptionsFromInngest<TInngest>,
Expand All @@ -706,7 +706,7 @@ export type GetFunctionInput<
ExtendWithMiddleware<
[
typeof builtInMiddleware,
NonNullable<ClientOptionsFromInngest<TInngest>["middleware"]>
NonNullable<ClientOptionsFromInngest<TInngest>["middleware"]>,
]
>
>
Expand Down
8 changes: 4 additions & 4 deletions packages/inngest/src/components/InngestCommHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ interface InngestCommHandlerOptions<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
Output = any,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
StreamOutput = any
StreamOutput = any,
> extends RegisterOptions {
/**
* The name of the framework this handler is designed for. Should be
Expand Down Expand Up @@ -210,7 +210,7 @@ export class InngestCommHandler<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
Output = any,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
StreamOutput = any
StreamOutput = any,
> {
/**
* The ID of this serve handler, e.g. `"my-app"`. It's recommended that this
Expand Down Expand Up @@ -1234,7 +1234,7 @@ export type Handler<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
Output = any,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
StreamOutput = any
StreamOutput = any,
> = (...args: Input) => HandlerResponse<Output, StreamOutput>;

// eslint-disable-next-line @typescript-eslint/no-explicit-any
Expand Down Expand Up @@ -1304,7 +1304,7 @@ export type HandlerResponse<Output = any, StreamOutput = any> = {
* framework-compatible response by an {@link InngestCommHandler} instance.
*/
export interface ActionResponse<
TBody extends string | ReadableStream = string
TBody extends string | ReadableStream = string,
> {
/**
* The HTTP status code to return.
Expand Down
6 changes: 3 additions & 3 deletions packages/inngest/src/components/InngestFunction.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ describe("runFn", () => {
event?: EventPayload;
onFailure?: boolean;
},
U extends Record<keyof T["steps"], string>
U extends Record<keyof T["steps"], string>,
>(
fnName: string,
createTools: () => T,
Expand Down Expand Up @@ -446,8 +446,8 @@ describe("runFn", () => {
ret!.type === "step-ran"
? [ret!.step]
: ret!.type === "steps-found"
? ret!.steps
: [];
? ret!.steps
: [];

outgoingOps.forEach((op) => {
expect(op.id).toMatch(/^[a-f0-9]{40}$/i);
Expand Down
2 changes: 1 addition & 1 deletion packages/inngest/src/components/InngestFunction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export class InngestFunction<
Opts extends FunctionOptions<
Events,
EventNameFromTrigger<Events, Trigger>
> = FunctionOptions<Events, EventNameFromTrigger<Events, Trigger>>
> = FunctionOptions<Events, EventNameFromTrigger<Events, Trigger>>,
> {
static stepId = "step";
static failureSuffix = "-failure";
Expand Down
50 changes: 27 additions & 23 deletions packages/inngest/src/components/InngestMiddleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,20 +73,20 @@ export class InngestMiddleware<TOpts extends MiddlewareOptions> {

type FnsWithSameInputAsOutput<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
TRecord extends Record<string, (arg: any) => any>
TRecord extends Record<string, (arg: any) => any>,
> = {
[K in keyof TRecord as Await<TRecord[K]> extends Parameters<TRecord[K]>[0]
? K
: Await<TRecord[K]> extends void | undefined
? Parameters<TRecord[K]>[0] extends void | undefined
? K
: never
: never]: TRecord[K];
? Parameters<TRecord[K]>[0] extends void | undefined
? K
: never
: never]: TRecord[K];
};

type PromisifiedFunctionRecord<
// eslint-disable-next-line @typescript-eslint/no-explicit-any
TRecord extends Record<string, (arg: any) => any>
TRecord extends Record<string, (arg: any) => any>,
> = Pick<
Partial<{
[K in keyof TRecord]: (
Expand Down Expand Up @@ -124,7 +124,8 @@ export const getHookStack = async <
TMiddleware extends Record<string, (arg: any) => any>,
TKey extends keyof TMiddleware,
TResult extends Await<TMiddleware[TKey]>,
TRet extends PromisifiedFunctionRecord<TResult> = PromisifiedFunctionRecord<TResult>
TRet extends
PromisifiedFunctionRecord<TResult> = PromisifiedFunctionRecord<TResult>,
>(
/**
* The stack of middleware that will be used to run hooks.
Expand Down Expand Up @@ -152,26 +153,29 @@ export const getHookStack = async <
[K in keyof TResult as Await<TResult[K]> extends Parameters<TResult[K]>[0]
? K
: Await<TResult[K]> extends void | undefined
? Parameters<TResult[K]>[0] extends void | undefined
? K
: never
: never]: void;
? Parameters<TResult[K]>[0] extends void | undefined
? K
: never
: never]: void;
}
>
): Promise<TRet> => {
// Wait for middleware to initialize
const mwStack = await middleware;

// Step through each middleware and get the hook for the given key
const keyFns = mwStack.reduce((acc, mw) => {
const fn = mw[key];
const keyFns = mwStack.reduce(
(acc, mw) => {
const fn = mw[key];

if (fn) {
return [...acc, fn];
}
if (fn) {
return [...acc, fn];
}

return acc;
}, [] as NonNullable<TMiddleware[TKey]>[]);
return acc;
},
[] as NonNullable<TMiddleware[TKey]>[]
);

// Run each hook found in sequence and collect the results
const hooksRegistered = await keyFns.reduce<
Expand Down Expand Up @@ -473,7 +477,7 @@ type MiddlewareRunOutput = (ctx: {
* @internal
*/
type GetMiddlewareRunInputMutation<
TMiddleware extends InngestMiddleware<MiddlewareOptions>
TMiddleware extends InngestMiddleware<MiddlewareOptions>,
> = TMiddleware extends InngestMiddleware<infer TOpts>
? TOpts["init"] extends MiddlewareRegisterFn
? Await<
Expand All @@ -495,7 +499,7 @@ type GetMiddlewareRunInputMutation<
* @internal
*/
type GetMiddlewareSendEventOutputMutation<
TMiddleware extends InngestMiddleware<MiddlewareOptions>
TMiddleware extends InngestMiddleware<MiddlewareOptions>,
> = TMiddleware extends InngestMiddleware<infer TOpts>
? TOpts["init"] extends MiddlewareRegisterFn
? Await<
Expand All @@ -518,7 +522,7 @@ type GetMiddlewareSendEventOutputMutation<
*/
export type MiddlewareStackSendEventOutputMutation<
TContext,
TMiddleware extends MiddlewareStack
TMiddleware extends MiddlewareStack,
> = ObjectAssign<
{
[K in keyof TMiddleware]: GetMiddlewareSendEventOutputMutation<
Expand All @@ -531,7 +535,7 @@ export type MiddlewareStackSendEventOutputMutation<
export type ExtendWithMiddleware<
TMiddlewareStacks extends MiddlewareStack[],
// eslint-disable-next-line @typescript-eslint/ban-types
TContext = {}
TContext = {},
> = ObjectAssign<
{
[K in keyof TMiddlewareStacks]: MiddlewareStackRunInputMutation<
Expand All @@ -548,7 +552,7 @@ export type ExtendWithMiddleware<
*/
export type MiddlewareStackRunInputMutation<
TContext,
TMiddleware extends MiddlewareStack
TMiddleware extends MiddlewareStack,
> = ObjectAssign<
{
[K in keyof TMiddleware]: GetMiddlewareRunInputMutation<TMiddleware[K]>;
Expand Down
12 changes: 6 additions & 6 deletions packages/inngest/src/components/InngestStepTools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export interface FoundStep extends HashedOp {
export type MatchOpFn<
T extends (...args: unknown[]) => Promise<unknown> = (
...args: unknown[]
) => Promise<unknown>
) => Promise<unknown>,
> = (
stepOptions: StepOptions,
/**
Expand All @@ -52,7 +52,7 @@ export type StepHandler = (info: {
export interface StepToolOptions<
T extends (...args: unknown[]) => Promise<unknown> = (
...args: unknown[]
) => Promise<unknown>
) => Promise<unknown>,
> {
/**
* Optionally, we can also provide a function that will be called when
Expand Down Expand Up @@ -108,7 +108,7 @@ export const STEP_INDEXING_SUFFIX = ":";
export const createStepTools = <
TOpts extends ClientOptions,
Events extends EventsFromOpts<TOpts>,
TriggeringEvent extends keyof Events & string
TriggeringEvent extends keyof Events & string,
>(
client: Inngest<TOpts>,
stepHandler: StepHandler
Expand Down Expand Up @@ -277,8 +277,8 @@ export const createStepTools = <
T extends () => Promise<infer U>
? Awaited<U extends void ? null : U>
: ReturnType<T> extends void
? null
: ReturnType<T>
? null
: ReturnType<T>
>
>
>
Expand Down Expand Up @@ -381,7 +381,7 @@ export const createStepTools = <
type WaitForEventOpts<
Events extends Record<string, EventPayload>,
TriggeringEvent extends keyof Events,
IncomingEvent extends keyof Events
IncomingEvent extends keyof Events,
> = {
event: IncomingEvent;

Expand Down
Loading

0 comments on commit 79f0aeb

Please sign in to comment.