-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
fix(eslint-plugin): Skip missing 'rest' tuple type arguments in no-misused-promises #5809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(eslint-plugin): Skip missing 'rest' tuple type arguments in no-misused-promises #5809
Conversation
…sused-promises Fixes typescript-eslint#5807 When linting a function with a 'rest' tuple argument, we might have different numbers of arguments between signatures: ``` function foo(...args: []); function foo(...args: [string]); ``` This PR makes no-misused-promises handle this code correctly, by ensuring that we only check an argument when we have a corresponding type parameter in the tuple type arguments.
Thanks for the PR, @Aaron1011! typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community. The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately. Thanks again! 🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint. As a thank you, your profile/company logo will be added to our main README which receives thousands of unique visitors per day. |
✅ Deploy Preview for typescript-eslint ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super, thanks for the quick fix!
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | patch | [`5.40.0` -> `5.40.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.40.0/5.40.1) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | patch | [`5.40.0` -> `5.40.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.40.0/5.40.1) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.40.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​5401-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5400v5401-2022-10-17) [Compare Source](typescript-eslint/typescript-eslint@v5.40.0...v5.40.1) ##### Bug Fixes - **eslint-plugin:** Skip missing 'rest' tuple type arguments in no-misused-promises ([#​5809](typescript-eslint/typescript-eslint#5809)) ([c5beaa2](typescript-eslint/typescript-eslint@c5beaa2)), closes [#​5807](typescript-eslint/typescript-eslint#5807) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.40.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​5401-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5400v5401-2022-10-17) [Compare Source](typescript-eslint/typescript-eslint@v5.40.0...v5.40.1) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMzguNCIsInVwZGF0ZWRJblZlciI6IjMyLjIzOC40In0=--> Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1585 Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.40.1` -> `5.41.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.40.1/5.41.0) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.40.1` -> `5.41.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.40.1/5.41.0) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.41.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​5410-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5401v5410-2022-10-24) [Compare Source](typescript-eslint/typescript-eslint@v5.40.1...v5.41.0) ##### Bug Fixes - **eslint-plugin:** \[no-base-to-string] ignore Error, URL, and URLSearchParams by default ([#​5839](typescript-eslint/typescript-eslint#5839)) ([96e1c6c](typescript-eslint/typescript-eslint@96e1c6c)) - **type-utils:** prevent stack overflow in `isTypeReadonly` ([#​5860](typescript-eslint/typescript-eslint#5860)) ([a6d8f7e](typescript-eslint/typescript-eslint@a6d8f7e)), closes [#​4476](typescript-eslint/typescript-eslint#4476) ##### Features - **eslint-plugin:** \[no-unsafe-declaration-merging] switch to use scope analysis instead of type information ([#​5865](typescript-eslint/typescript-eslint#5865)) ([e70a10a](typescript-eslint/typescript-eslint@e70a10a)) - **eslint-plugin:** add no-unsafe-declaration-merging ([#​5840](typescript-eslint/typescript-eslint#5840)) ([3728031](typescript-eslint/typescript-eslint@3728031)) #### [5.40.1](typescript-eslint/typescript-eslint@v5.40.0...v5.40.1) (2022-10-17) ##### Bug Fixes - **eslint-plugin:** Skip missing 'rest' tuple type arguments in no-misused-promises ([#​5809](typescript-eslint/typescript-eslint#5809)) ([c5beaa2](typescript-eslint/typescript-eslint@c5beaa2)), closes [#​5807](typescript-eslint/typescript-eslint#5807) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.41.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​5410-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5401v5410-2022-10-24) [Compare Source](typescript-eslint/typescript-eslint@v5.40.1...v5.41.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) #### [5.40.1](typescript-eslint/typescript-eslint@v5.40.0...v5.40.1) (2022-10-17) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMy4xLjAiLCJ1cGRhdGVkSW5WZXIiOiIzMy4xLjAifQ==--> Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1604 Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Fixes #5807
PR Checklist
Overview
When linting a function with a 'rest' tuple argument, we might have different numbers of arguments between signatures:
This PR makes no-misused-promises handle this code correctly, by ensuring that we only check an argument when we have a corresponding type parameter in the tuple type arguments.