ESLint v8.3.0 released
by Brandon Mills - 21 November 2021We just pushed ESLint v8.3.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.
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
60b0a29feat: addallowPropertiesoption to require-atomic-updates (#15238) (Milos Djermanovic)79278a1feat: update no-use-before-define for class static blocks (#15312) (Milos Djermanovic)ddd01dcfeat: update no-redeclare for class static blocks (#15313) (Milos Djermanovic)de69cecfeat: update no-inner-declarations for class static blocks (#15290) (Milos Djermanovic)e2fe7effeat: support for private-in syntax (fixes #14811) (#15060) (Yosuke Ota)34bc8d7feat: Update espree and eslint-scope (#15338) (Brandon Mills)b171cd7feat: update max-depth for class static blocks (#15316) (Milos Djermanovic)6487df3feat: update padded-blocks for class static blocks (#15333) (Milos Djermanovic)194f36dfeat: update the complexity rule for class static blocks (#15328) (Milos Djermanovic)3530337feat: update the indent rule for class static blocks (#15324) (Milos Djermanovic)f03cd14feat: update lines-around-comment for class static blocks (#15323) (Milos Djermanovic)5c64747feat: update brace-style for class static blocks (#15322) (Milos Djermanovic)df2f1ccfeat: update max-statements for class static blocks (#15315) (Milos Djermanovic)fd5a0b8feat: update prefer-const for class static blocks (#15325) (Milos Djermanovic)b3669fdfeat: code path analysis for class static blocks (#15282) (Milos Djermanovic)15c1397feat: update eslint-scope for class static blocks (#15321) (Milos Djermanovic)1a1bb4bfeat: update one-var for class static blocks (#15317) (Milos Djermanovic)9b666e0feat: update padding-line-between-statements for class static blocks (#15318) (Milos Djermanovic)d3a267ffeat: update class-methods-use-this for class static blocks (#15298) (Milos Djermanovic)cdaa541feat: update no-lone-blocks for class static blocks (#15295) (Milos Djermanovic)8611538feat: update block-spacing for class static blocks (#15297) (Milos Djermanovic)7b56844feat: update keyword-spacing for class static blocks (#15289) (Milos Djermanovic)ea18711feat: update no-extra-semi for class static blocks (#15287) (Milos Djermanovic)0f0971ffeat: update semi rule for class static blocks (#15286) (Milos Djermanovic)abe740cfeat: add examples for block-scoped-var with class static blocks (#15302) (Milos Djermanovic)0338fd2feat: Normalize ecmaVersion to eslint-scope when using custom parser (#15268) (Yosuke Ota)
Bug Fixes
8aa7645fix: update vars-on-top for class static blocks (#15306) (Milos Djermanovic)479a4cbfix: update semi-style for class static blocks (#15309) (Milos Djermanovic)6d1c666fix: update no-invalid-this and no-eval for class static blocks (#15300) (Milos Djermanovic)
Documentation
6b85426docs: Expand--debugoption description in the CLI documentation (#15308) (darkred)3ae5258docs: the strict rule does not apply to class static blocks (#15314) (Milos Djermanovic)9309841docs: Remove inconsistent colon in pull request docs (#15303) (Jordan Eldredge)da238ccdocs: remove deprecation note from lines-around-comment (#15293) (Milos Djermanovic)1055f16docs: no-unused-expressions - class static blocks don't have directives (#15283) (Milos Djermanovic)4c55216docs: Add variables option to no-use-before-define (#15276) (Mathias Rasmussen)