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

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 Relates to ESLint's core rules accepted There is consensus among the team that this change meets the criteria for inclusion breaking This change is backwards-incompatible labels Jan 28, 2020
Copy link
Member

@kaicataldo kaicataldo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! Appreciate the extensive test suite!

Copy link
Member

@yeonjuan yeonjuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 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
v7.0.0 automation moved this from Implemented, pending review to Done Feb 14, 2020
@btmills btmills deleted the issue12808 branch February 14, 2020 15:37
montmanu pushed a commit to montmanu/eslint that referenced this pull request 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 This issue has been archived; please open a new issue for any further discussion label Aug 14, 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 breaking This change is backwards-incompatible rule Relates to ESLint's core rules
Projects
No open projects
v7.0.0
  
Done
Development

Successfully merging this pull request may close these issues.

Check statically known computed names in no-dupe-class-members
4 participants