-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Update: Check member expressions with this
in operator-assignment
#12495
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
eslint-deprecated
bot
added
the
triage
An ESLint team member will look at this issue soon
label
Oct 27, 2019
mdjermanovic
added
bug
ESLint is working incorrectly
enhancement
This change enhances an existing feature of ESLint
evaluating
The team will evaluate this issue to decide whether it meets the criteria for inclusion
rule
Relates to ESLint's core rules
and removed
triage
An ESLint team member will look at this issue soon
labels
Oct 27, 2019
kaicataldo
added
accepted
There is consensus among the team that this change meets the criteria for inclusion
and removed
evaluating
The team will evaluate this issue to decide whether it meets the criteria for inclusion
labels
Nov 1, 2019
kaicataldo
approved these changes
Nov 1, 2019
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, thanks!
btmills
approved these changes
Nov 22, 2019
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, thanks @mdjermanovic! Agree this is a semver-minor bugfix.
This was referenced Mar 11, 2020
This was referenced Mar 26, 2020
This was referenced Apr 3, 2020
eslint-deprecated
bot
added
the
archived due to age
This issue has been archived; please open a new issue for any further discussion
label
May 22, 2020
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
accepted
There is consensus among the team that this change meets the criteria for inclusion
archived due to age
This issue has been archived; please open a new issue for any further discussion
bug
ESLint is working incorrectly
enhancement
This change enhances an existing feature of ESLint
rule
Relates to ESLint's core rules
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of this pull request? (put an "X" next to item)
[X] Bug fix
[X] Changes an existing rule
I believe this is a bug fix, but it produces more warnings.
This PR fixes two things in the
operator-assignment
rule:always
option was ignoringthis
member expressions, such asthis.x = this.x + y
.never
option was reportingthis
member expressions, but didn't auto-fix in some cases where it seems to be safe, such asthis.x += y
.What rule do you want to change?
operator-assignment
Does this change cause the rule to produce more or fewer warnings?
more
How will the change be implemented? (New option, new default behavior, etc.)?
new default behavior
Please provide some example code that this change will affect:
What does the rule currently do for this code?
No errors
What will the rule do after it's changed?
Error and autofix to:
What changes did you make? (Give an overview)
Account for
ThisExpression
in the function that compares two expressions. Also in the function that determines whether the autofix is safe.Is there anything you'd like reviewers to focus on?
All added tests in
valid
were valid before, those are just regression tests.The following tests with the
never
option had the same behavior (which is an error without autofix) before this PR, and that isn't changed.The following test with the
never
option was already an error, but wasn't being auto-fixed. That's changed now.The following tests with the default
always
options are new warnings:Can this be treated as a semver-minor bug fix that produces more warnings? There was a similar case in #12279.