Highlights
This release supports ES2022 class static blocks in rules, the default parser, and scope analysis.
class C {
static x = ...;
static y;
static z;
static {
try {
const obj = doSomethingWith(this.x);
this.y = obj.y;
this.z = obj.z;
}
catch {
this.y = ...;
this.z = ...;
}
}
}
It also supports #x in obj
, officially known as ergonomic brand checks for private fields.
Features
60b0a29
feat: addallowProperties
option to require-atomic-updates (#15238) (Milos Djermanovic)79278a1
feat: update no-use-before-define for class static blocks (#15312) (Milos Djermanovic)ddd01dc
feat: update no-redeclare for class static blocks (#15313) (Milos Djermanovic)de69cec
feat: update no-inner-declarations for class static blocks (#15290) (Milos Djermanovic)e2fe7ef
feat: support for private-in syntax (fixes #14811) (#15060) (Yosuke Ota)34bc8d7
feat: Update espree and eslint-scope (#15338) (Brandon Mills)b171cd7
feat: update max-depth for class static blocks (#15316) (Milos Djermanovic)6487df3
feat: update padded-blocks for class static blocks (#15333) (Milos Djermanovic)194f36d
feat: update the complexity rule for class static blocks (#15328) (Milos Djermanovic)3530337
feat: update the indent rule for class static blocks (#15324) (Milos Djermanovic)f03cd14
feat: update lines-around-comment for class static blocks (#15323) (Milos Djermanovic)5c64747
feat: update brace-style for class static blocks (#15322) (Milos Djermanovic)df2f1cc
feat: update max-statements for class static blocks (#15315) (Milos Djermanovic)fd5a0b8
feat: update prefer-const for class static blocks (#15325) (Milos Djermanovic)b3669fd
feat: code path analysis for class static blocks (#15282) (Milos Djermanovic)15c1397
feat: update eslint-scope for class static blocks (#15321) (Milos Djermanovic)1a1bb4b
feat: update one-var for class static blocks (#15317) (Milos Djermanovic)9b666e0
feat: update padding-line-between-statements for class static blocks (#15318) (Milos Djermanovic)d3a267f
feat: update class-methods-use-this for class static blocks (#15298) (Milos Djermanovic)cdaa541
feat: update no-lone-blocks for class static blocks (#15295) (Milos Djermanovic)8611538
feat: update block-spacing for class static blocks (#15297) (Milos Djermanovic)7b56844
feat: update keyword-spacing for class static blocks (#15289) (Milos Djermanovic)ea18711
feat: update no-extra-semi for class static blocks (#15287) (Milos Djermanovic)0f0971f
feat: update semi rule for class static blocks (#15286) (Milos Djermanovic)abe740c
feat: add examples for block-scoped-var with class static blocks (#15302) (Milos Djermanovic)0338fd2
feat: Normalize ecmaVersion to eslint-scope when using custom parser (#15268) (Yosuke Ota)
Bug Fixes
8aa7645
fix: update vars-on-top for class static blocks (#15306) (Milos Djermanovic)479a4cb
fix: update semi-style for class static blocks (#15309) (Milos Djermanovic)6d1c666
fix: update no-invalid-this and no-eval for class static blocks (#15300) (Milos Djermanovic)
Documentation
6b85426
docs: Expand--debug
option description in the CLI documentation (#15308) (darkred)3ae5258
docs: the strict rule does not apply to class static blocks (#15314) (Milos Djermanovic)9309841
docs: Remove inconsistent colon in pull request docs (#15303) (Jordan Eldredge)da238cc
docs: remove deprecation note from lines-around-comment (#15293) (Milos Djermanovic)1055f16
docs: no-unused-expressions - class static blocks don’t have directives (#15283) (Milos Djermanovic)4c55216
docs: Add variables option to no-use-before-define (#15276) (Mathias Rasmussen)