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(typescript-estree): disallow binding patterns in parameter properties#11760
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(typescript-estree): disallow binding patterns in parameter properties#11760
Conversation
Thanks for the PR,@dbarabashh! 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 commentedNov 14, 2025 • 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 project configuration. |
nx-cloudbot commentedNov 14, 2025 • 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.
View yourCI Pipeline Execution ↗ for commited93f1c
☁️Nx Cloud last updated this comment at |
c524799 to5c6e3dfComparecodecovbot commentedNov 14, 2025 • 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❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (28.57%) is below the target coverage (90.00%). You can increase the patch coverage or adjust thetarget coverage. Additional details and impacted files@@ Coverage Diff @@## main #11760 +/- ##==========================================- Coverage 90.52% 90.50% -0.02%========================================== Files 522 522 Lines 53353 53344 -9 Branches 8921 8910 -11 ==========================================- Hits 48296 48280 -16- Misses 5040 5047 +7 Partials 17 17
Flags with carried forward coverage won't be shown.Click here to find out more.
🚀 New features to boost your workflow:
|
JoshuaKGoldberg commentedNov 17, 2025
🤔 I don't get these failures locally. Re-running... |
JoshuaKGoldberg left a comment
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.
A good start! I appreciate you removing the syntactically invalid tests from eslint-plugin.
packages/eslint-plugin/src/util/class-scope-analyzer/extractComputedName.ts OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
packages/eslint-plugin/src/util/getParameterPropertyIdentifier.ts OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
packages/eslint-plugin/src/util/getParameterPropertyIdentifier.ts OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
dbarabashh commentedNov 17, 2025
@JoshuaKGoldberg can you help with github actions? I can't reproduce this locally. Locally everything passes and everything is ok |
JoshuaKGoldberg commentedNov 18, 2025
Blurgh, yes, I also don't reproduce them locally. We can ignore them in this PR for now - let's just pretend the build is passing. In parallel I'll try to clear the Nx cache and work with@JamesHenry on#11593. |
packages/eslint-plugin/src/util/class-scope-analyzer/extractComputedName.tsShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
JamesHenry commentedNov 19, 2025
I did two items of repo housekeeping to resolve the CI build issue:
Before
![]() After
![]() |
This comment was marked as resolved.
This comment was marked as resolved.
dbarabashh commentedNov 21, 2025
@JoshuaKGoldberg youleft a comment here and I removed those tests but now there’s a problem with the coverage rate |
packages/eslint-plugin/src/rules/no-unnecessary-parameter-property-assignment.tsShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
5f04910 intotypescript-eslint:mainUh oh!
There was an error while loading.Please reload this page.
| datasource | package | from | to || ---------- | -------------------------------- | ------ | ------ || npm | @typescript-eslint/eslint-plugin | 8.47.0 | 8.48.0 || npm | @typescript-eslint/parser | 8.47.0 | 8.48.0 |## [v8.48.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8480-2025-11-24)##### 🚀 Features- **eslint-plugin:** \[no-redundant-type-constituents] use assignability checking for redundancy checks ([#10744](typescript-eslint/typescript-eslint#10744))##### 🩹 Fixes- **typescript-estree:** disallow binding patterns in parameter properties ([#11760](typescript-eslint/typescript-eslint#11760))- **eslint-plugin:** \[consistent-generic-constructors] ignore when constructor is typed array ([#10477](typescript-eslint/typescript-eslint#10477))##### ❤️ Thank You- Dima Barabash [@dbarabashh](https://github.com/dbarabashh)- JamesHenry [@JamesHenry](https://github.com/JamesHenry)- Josh Goldberg- mdm317 [@gen-ip-1](https://github.com/gen-ip-1)You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.
| datasource | package | from | to || ---------- | -------------------------------- | ------ | ------ || npm | @typescript-eslint/eslint-plugin | 8.47.0 | 8.48.0 || npm | @typescript-eslint/parser | 8.47.0 | 8.48.0 |## [v8.48.0](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8480-2025-11-24)##### 🚀 Features- **eslint-plugin:** \[no-redundant-type-constituents] use assignability checking for redundancy checks ([#10744](typescript-eslint/typescript-eslint#10744))##### 🩹 Fixes- **typescript-estree:** disallow binding patterns in parameter properties ([#11760](typescript-eslint/typescript-eslint#11760))- **eslint-plugin:** \[consistent-generic-constructors] ignore when constructor is typed array ([#10477](typescript-eslint/typescript-eslint#10477))##### ❤️ Thank You- Dima Barabash [@dbarabashh](https://github.com/dbarabashh)- JamesHenry [@JamesHenry](https://github.com/JamesHenry)- Josh Goldberg- mdm317 [@gen-ip-1](https://github.com/gen-ip-1)You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.



Uh oh!
There was an error while loading.Please reload this page.
PR Checklist
TSParameterPropertys #11708Overview
This PR implements validation to block invalid parameter property patterns that typescript treats as semantic errors:
private [foo] = [1]private { bar } = { bar: 1 }private ...baz