-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat(eslint-plugin): [parameter-properties] add rule to replace no-parameter-properties
#4622
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
feat(eslint-plugin): [parameter-properties] add rule to replace no-parameter-properties
#4622
Conversation
Thanks for the PR, @JoshuaKGoldberg! 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. |
Codecov Report
@@ Coverage Diff @@
## main #4622 +/- ##
==========================================
+ Coverage 93.96% 94.26% +0.30%
==========================================
Files 172 152 -20
Lines 9818 8271 -1547
Branches 3105 2690 -415
==========================================
- Hits 9225 7797 -1428
+ Misses 353 263 -90
+ Partials 240 211 -29
Flags with carried forward coverage won't be shown. Click here to find out more. |
This isn't specifically breaking, is it because you have just deprecated the old rule? |
This might just be me not knowing what is or isn't breaking 😄 -- is it not breaking to rename a rule in the recommended set? |
Changing the recommended set - yes - but these rules aren't recommended! |
Oh! Yes, you're totally right - thank you :) |
} | ||
}, | ||
|
||
'MethodDefinition[kind="constructor"]'( |
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.
side note: we should add these sorts of things to our types so that we don't need to annotate manually every time.
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.
Yes! I'd love to tackle #4065 once I have ... much more time 😄
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.
this is great!
no-parameter-properties
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.20.0` -> `5.21.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.20.0/5.21.0) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | devDependencies | minor | [`5.20.0` -> `5.21.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.20.0/5.21.0) | --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.21.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​5210-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5200v5210-2022-04-25) [Compare Source](typescript-eslint/typescript-eslint@v5.20.0...v5.21.0) ##### Bug Fixes - **eslint-plugin:** \[no-misused-promises] prioritize false returns when checking whether a function returns only void ([#​4841](typescript-eslint/typescript-eslint#4841)) ([ccadb60](typescript-eslint/typescript-eslint@ccadb60)) - **eslint-plugin:** \[no-namespace] fix false positive for exported namespaces when allowDeclarations=true ([#​4844](typescript-eslint/typescript-eslint#4844)) ([4e7c9be](typescript-eslint/typescript-eslint@4e7c9be)) - **eslint-plugin:** \[space-infix-ops] fix no error when right type is function ([#​4848](typescript-eslint/typescript-eslint#4848)) ([d74d559](typescript-eslint/typescript-eslint@d74d559)) ##### Features - **eslint-plugin:** \[parameter-properties] add rule to replace `no-parameter-properties` ([#​4622](typescript-eslint/typescript-eslint#4622)) ([88ed9ec](typescript-eslint/typescript-eslint@88ed9ec)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.21.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​5210-httpsgithubcomtypescript-eslinttypescript-eslintcomparev5200v5210-2022-04-25) [Compare Source](typescript-eslint/typescript-eslint@v5.20.0...v5.21.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) </details> --- ### Configuration 📅 **Schedule**: 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). Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1319 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>
PR Checklist
Overview
Adds a
prefer
option to the rule that defaults to"class-properties"
but can be switched to"parameter-properties"
. In"parameter-properties"
mode, the rule will issue a report when:I would have loved to use the type checker to determine whether the types are the same, but microsoft/TypeScript#9879.