-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Closed
Labels
acceptedThere is consensus among the team that this change meets the criteria for inclusionThere is consensus among the team that this change meets the criteria for inclusionarchived due to ageThis issue has been archived; please open a new issue for any further discussionThis issue has been archived; please open a new issue for any further discussionenhancementThis change enhances an existing feature of ESLintThis change enhances an existing feature of ESLintnew syntaxThis issue is related to new syntax that has reached stage 4This issue is related to new syntax that has reached stage 4ruleRelates to ESLint's core rulesRelates to ESLint's core rules
Description
What is the name of the syntax to implement?
Class fields
Please provide the TC39 URL for the syntax proposal:
- Private methods and getter/setters for JavaScript classes
- Class field declarations for JavaScript
- Static class features
Implementation Checklist
This issue tracks rules that need to be updated to support ES2022 class fields. Please add to this list if there are any additional rules that need to be updated. I've linked to any comments on the original PR for easier reference. Some rule updates may have been finished in #14591, in which case we can confirm the updates are sufficient and check off the rule here.
-
camelcase
Fix: camelcase ignoreGlobals shouldn't apply to undef vars (refs #14857) #14966 -
class-methods-use-this
Update: enforceForClassFields in class-methods-use-this (refs #14857) #15018 -
complexity
Update: support class fields in thecomplexity
rule (refs #14857) #14957 -
computed-property-spacing
-
dot-notation
Fix: dot-notation false positive with private identifier (refs #14857) #14898 -
func-name-matching
Update: support class fields in func-name-matching (refs #14857) #14964 -
func-names
Docs: add class fields in func-names documentation (refs #14857) #14908 -
id-denylist
: Breaking: upgrade espree and support new class features (refs #14343) #14591 -
id-length
: Breaking: upgrade espree and support new class features (refs #14343) #14591 -
id-match
: Breaking: upgrade espree and support new class features (refs #14343) #14591 -
indent
-
keyword-spacing
Fix: keyword-spacing private name compat (refs #14857) #14946 -
lines-between-class-members
Fix: semicolon-less style in lines-between-class-members (refs #14857) #15045 -
no-dupe-class-members
Docs: add no-dupe-class-members examples with class fields (refs #14857) #15005 -
no-eval
-
no-extra-parens
Update: check class fields in no-extra-parens (refs #14857) #14906 -
no-extra-semi
-
no-invalid-this
-
no-multi-assign
Docs: add class fields in no-multi-assign documentation (refs #14857) #14907 -
no-self-assign
-
no-undef-init
Fix: no-undef-init should not apply to class fields (refs #14857) #14994 -
no-underscore-dangle
-
no-unreachable
Update: fix no-unreachable logic for class fields (refs #14857) #14920 -
no-useless-computed-key
Fix: no-useless-computed-key edge cases with class fields (refs #14857) #14903 -
operator-linebreak
Fix: handle computed class fields in operator-linebreak (refs #14857) #14915 -
prefer-destructuring
Fix: prefer-destructuring PrivateIdentifier false positive (refs #14857) #14897 -
prefer-exponentiation-operator
-
quotes
-
semi-spacing
-
semi-style
-
semi
Fix: Update semi for class-fields (refs #14857) #14945 -
space-infix-ops
Are you willing to submit a pull request to implement this syntax?
We can work on these in parallel. To avoid redundant effort, please claim a rule when you start working on it.
paulshryock, snitin315, robpalme and nnmrts
Metadata
Metadata
Assignees
Labels
acceptedThere is consensus among the team that this change meets the criteria for inclusionThere is consensus among the team that this change meets the criteria for inclusionarchived due to ageThis issue has been archived; please open a new issue for any further discussionThis issue has been archived; please open a new issue for any further discussionenhancementThis change enhances an existing feature of ESLintThis change enhances an existing feature of ESLintnew syntaxThis issue is related to new syntax that has reached stage 4This issue is related to new syntax that has reached stage 4ruleRelates to ESLint's core rulesRelates to ESLint's core rules
Type
Projects
Status
Complete