Skip to content
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

Breaking: no-dupe-class-members checks some computed keys (fixes #12808) #12837

Merged
merged 2 commits into from Feb 14, 2020

Conversation

mdjermanovic
Copy link
Member

@mdjermanovic mdjermanovic commented Jan 28, 2020

Prerequisites checklist

  • I have read the contributing guidelines.
  • The team has reached consensus on the changes proposed in this pull request. If not, I understand that the evaluation process will begin with this pull request and won't be merged until the team has reached consensus.

What is the purpose of this pull request? (put an "X" next to item)

[X] Changes an existing rule #12808

What changes did you make? (Give an overview)

no-dupe-class-members was ignoring all computed keys.

After this PR, this rule will also check those class members for which astUtils.getStaticPropertyName returns a string value. This is new default behavior.

/*eslint no-dupe-class-members: ["error"]*/

class A {

  ["a"](){}
  ["a"](){} // error

  ["b"](){}
  b(){} // error

  "c"(){}
  [`c`](){} // error
  
  [123](){}
  123(){} // error

}

The rule will still ignore computed keys with values that are not statically known:

/*eslint no-dupe-class-members: ["error"]*/

class A {

  [a](){}
  [a](){} // no error

}

Is there anything you'd like reviewers to focus on?

@mdjermanovic mdjermanovic added rule accepted breaking labels Jan 28, 2020
Copy link
Member

@kaicataldo kaicataldo left a comment

LGTM, thanks! Appreciate the extensive test suite!

Copy link
Member

@yeonjuan yeonjuan left a comment

LGTM! 👍

@mdjermanovic mdjermanovic linked an issue Feb 9, 2020 that may be closed by this pull request
@btmills btmills added this to Needs discussion in v7.0.0 Feb 12, 2020
@nzakas nzakas moved this from Needs discussion to Accepted, ready to implement in v7.0.0 Feb 13, 2020
@mysticatea mysticatea moved this from Accepted, ready to implement to Implemented, pending review in v7.0.0 Feb 13, 2020
@btmills
Copy link
Member

@btmills btmills commented Feb 13, 2020

In today's TSC meeting, we added this to the v7.0.0 release!

@btmills btmills merged commit bfe1dc4 into master Feb 14, 2020
11 checks passed
v7.0.0 automation moved this from Implemented, pending review to Done Feb 14, 2020
@btmills btmills deleted the issue12808 branch Feb 14, 2020
montmanu pushed a commit to montmanu/eslint that referenced this issue Mar 4, 2020
…nt#12808) (eslint#12837)

* Breaking: no-dupe-class-members checks some computed keys (fixes eslint#12808)

* Fix constructor, add more tests
@eslint-deprecated eslint-deprecated bot locked and limited conversation to collaborators Aug 14, 2020
@eslint-deprecated eslint-deprecated bot added the archived due to age label Aug 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted archived due to age breaking rule
Projects
No open projects
v7.0.0
  
Done
Development

Successfully merging this pull request may close these issues.

4 participants