Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
fix(eslint-plugin): [consistent-type-assertions] wrap object return value with parentheses#6885
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
fix(eslint-plugin): [consistent-type-assertions] wrap object return value with parentheses#6885
Conversation
Thanks for the PR,@dora1998! 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 onhttps://opencollective.com/typescript-eslint. |
netlifybot commentedApr 11, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
✅ Deploy Preview fortypescript-eslint ready!
To edit notification comments on pull requests, go to yourNetlify site configuration. |
nx-cloudbot commentedApr 11, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
bf78617
tod2b2a32
Comparecodecovbot commentedApr 11, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov Report
Additional details and impacted files@@ Coverage Diff @@## main #6885 +/- ##======================================= Coverage 87.22% 87.23% ======================================= Files 386 387 +1 Lines 13383 13401 +18 Branches 3955 3962 +7 =======================================+ Hits 11673 11690 +17+ Misses 1328 1327 -1- Partials 382 384 +2
Flags with carried forward coverage won't be shown.Click here to find out more.
|
…alue with parentheses
d2b2a32
to8b43da5
CompareThere 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.
LGTM in general - andlove that you're fixing an issue you filed so quickly! 😍
Just requesting changes on generalizing the fix if possible - since it's very likely to come up again. Thanks!
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
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.
LGTM, great test cases! Glad to see a reuse of the existing shared code. Thanks! 🙌
Since I haven't touched thegetWrappingFixer
util area much, marking as 1 approval and waiting for someone else to approve as well.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
cc@armano2 - is this still something you want to look at? If not, no worries, I feel comfortable merging :) |
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.
big oof - the entirepackages/eslint-plugin/src/util/getWrappingFixer.ts
file probably needs to be rewritten because right now it uses its own hard-coded precedence logic, rather than using ourprecedence utilities
dora1998 commentedJul 23, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
@bradzacher but It's hard to replace By the way, lint and unit test is failing in CI but successful in my local environment. Will merging the main branch fix this...? |
@@ -1,7 +1,10 @@ | |||
import type { TSESLint, TSESTree } from '@typescript-eslint/utils'; | |||
import { AST_NODE_TYPES } from '@typescript-eslint/utils'; | |||
import { isBinaryExpression, isNewExpression } from 'tsutils'; |
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.
Fun merge conflict artifact: we switched tots-api-utils
in v6.
Yeah that should fix it. I don't like throwing extra work your way so I'll go ahead and merge now. |
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.
@armano2 do you still have time for this?
No worries if not, now that you've taken at least one look I feel comfortable re-reviewing and approving & merging if it's good to go.
@JoshuaKGoldberg Sorry for my late reply... |
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.
Swell, thanks for such a thorough change! 🙌
alecmev commentedAug 30, 2023
Does this not make |
This PR contains the following updates:| Package | Type | Update | Change ||---|---|---|---|| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.4.1` -> `6.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.4.1/6.5.0) || [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.4.1` -> `6.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.4.1/6.5.0) || [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`6.4.1` -> `6.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2ftypescript-estree/6.4.1/6.5.0) || [netlify-cli](https://github.com/netlify/cli) | devDependencies | minor | [`16.1.0` -> `16.2.0`](https://renovatebot.com/diffs/npm/netlify-cli/16.1.0/16.2.0) |---### Release Notes<details><summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary>### [`v6.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#650-2023-08-28)[Compare Source](typescript-eslint/typescript-eslint@v6.4.1...v6.5.0)##### Bug Fixes- **eslint-plugin:** \[consistent-type-assertions] wrap object return value with parentheses ([#​6885](typescript-eslint/typescript-eslint#6885)) ([23ac499](typescript-eslint/typescript-eslint@23ac499))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](typescript-eslint/typescript-eslint@v6.4.0...v6.4.1) (2023-08-21)##### Bug Fixes- **eslint-plugin:** \[no-unnecessary-condition] false positives with branded types ([#​7466](typescript-eslint/typescript-eslint#7466)) ([b52658f](typescript-eslint/typescript-eslint@b52658f)), closes [#​7293](typescript-eslint/typescript-eslint#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.</details><details><summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary>### [`v6.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#650-2023-08-28)[Compare Source](typescript-eslint/typescript-eslint@v6.4.1...v6.5.0)**Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser)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](typescript-eslint/typescript-eslint@v6.4.0...v6.4.1) (2023-08-21)**Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser)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.</details><details><summary>typescript-eslint/typescript-eslint (@​typescript-eslint/typescript-estree)</summary>### [`v6.5.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-estree/CHANGELOG.md#650-2023-08-28)[Compare Source](typescript-eslint/typescript-eslint@v6.4.1...v6.5.0)##### Features- bump supported TS version to 5.2 ([#​7535](typescript-eslint/typescript-eslint#7535)) ([f18c88d](typescript-eslint/typescript-eslint@f18c88d))- support Explicit Resource Management syntax for TS 5.2 ([#​7479](typescript-eslint/typescript-eslint#7479)) ([c11e05c](typescript-eslint/typescript-eslint@c11e05c))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](typescript-eslint/typescript-eslint@v6.4.0...v6.4.1) (2023-08-21)**Note:** Version bump only for package [@​typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-estree)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.</details><details><summary>netlify/cli (netlify-cli)</summary>### [`v16.2.0`](https://github.com/netlify/cli/blob/HEAD/CHANGELOG.md#1620-2023-08-29)[Compare Source](netlify/cli@v16.1.0...v16.2.0)##### Features- add support for `context.params` in edge functions ([#​5964](netlify/cli#5964)) ([ed14e05](netlify/cli@ed14e05))- support custom function routes ([#​5954](netlify/cli#5954)) ([82b94b5](netlify/cli@82b94b5))##### Bug Fixes- **deps:** update dependency [@​netlify/edge-bundler](https://github.com/netlify/edge-bundler) to v8.18.0 ([#​5953](netlify/cli#5953)) ([016cdf9](netlify/cli@016cdf9))- **deps:** update dependency [@​netlify/edge-bundler](https://github.com/netlify/edge-bundler) to v8.19.0 ([#​5971](netlify/cli#5971)) ([42478fd](netlify/cli@42478fd))- **deps:** update dependency [@​netlify/serverless-functions-api](https://github.com/netlify/serverless-functions-api) to v1.6.0 ([#​5935](netlify/cli#5935)) ([1d68354](netlify/cli@1d68354))- **deps:** update dependency [@​netlify/serverless-functions-api](https://github.com/netlify/serverless-functions-api) to v1.7.3 ([#​5957](netlify/cli#5957)) ([57d6627](netlify/cli@57d6627))- **deps:** update dependency lambda-local to v2.1.2 ([#​5967](netlify/cli#5967)) ([e592944](netlify/cli@e592944))- **deps:** update netlify packages ([#​5915](netlify/cli#5915)) ([1ad27ac](netlify/cli@1ad27ac))- **deps:** update netlify packages ([#​5965](netlify/cli#5965)) ([654c366](netlify/cli@654c366))</details>---### Configuration📅 **Schedule**: Branch creation - "before 3pm on Sunday" in timezone America/New_York, 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://github.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 [Renovate Bot](https://github.com/renovatebot/renovate).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi43NC4wIiwidXBkYXRlZEluVmVyIjoiMzYuNzQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->Reviewed-on:https://git.chriswb.dev/chrisw-b/PersonalApi/pulls/3Reviewed-by: chrisw-b <chrisw-b@noreply.localhost>Co-authored-by: Renovate Bot <renovate.bot@chrisb.xyz>Co-committed-by: Renovate Bot <renovate.bot@chrisb.xyz>
polyzen commentedAug 31, 2023
Seems to be the case. I'm using the following:
and getting the following error: |
JoshuaKGoldberg commentedAug 31, 2023 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I can't reproduce any issues using the rule in versions 6.5.0 of the parser and plugin. Seehttps://github.com/JoshuaKGoldberg/repros/tree/consistent-type-assertions-type-information. By the way, if you think there's a bug in typescript-eslint, the right way to ask is tofile a new issue. The issue templates include helpful & necessary practices such as making sure you're on the latest version of all our packages. And it's much easier for us as maintainers to not lose track of things posted as issues. Our contributing guide doesn'texplicitly ask not to post tangential questions on closed PRs, so I filed an issue to add those docs.#7586 Just to emphasize: if you're experiencing an issue with typescript-eslint, pleasefile an issue with the appropriate template. Please. 🙂 |
Uh oh!
There was an error while loading.Please reload this page.
PR Checklist
Overview
Wrap type assertion with parentheses if object literal type and used as return value of arrow function.