ESLint v8.0.0-beta.2 released

10 September 2021

We just pushed ESLint v8.0.0-beta.2, which is a major release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release. This release also has some breaking changes, so please read the following closely.

Highlights

  • The use of reserved words as identifiers in ES3 is now disallowed. This change only affects users with default parser configured with { "ecmaVersion": 3 } in parser options.
  • All core rules have been updated to support ES2022 class fields and private class members. ESLint now fully supports the following ES2022 syntax:
    • Class public instance fields and private instance fields
    • Class public static fields and private static fields
    • Class private instance methods and accessors
    • Class private static methods and accessors
    • RegExp match indices
    • Top-level await
  • The class-methods-use-this rule has a new enforceForClassFields option.
  • The max-classes-per-file rule has a new ignoreExpressions option.

Since this is a beta release, it is not expected to be ready for production, but please try it and report any unexpected issues.

Notes

Installing

Since this is a pre-release version, you will not automatically be upgraded by npm. You must specify the next tag when installing:

npm i eslint@next --save-dev

You can also specify the version directly:

npm i eslint@8.0.0-beta.2 --save-dev

Migration Guide

As there are a lot of changes, we've created a migration guide describing the changes in great detail along with the steps you should take to address them. We expect that most users should be able to upgrade without any build changes, but the migration guide should be a useful resource if you encounter problems.

Breaking Changes

Enhancements

Bug Fixes

Documentation

Dependency Upgrades

  • 9e5c2e8 Upgrade: @eslint/eslintrc@1.0.1 (#15047) (Milos Djermanovic)

Chores

  • 921ba1e Chore: fix failing cli test (#15041) (Milos Djermanovic)
  • 143a598 Chore: Switch issues to use forms (#15024) (Nicholas C. Zakas)
  • b4232d4 Chore: Add test that deprecated rules display a deprecated notice (#14989) (TagawaHirotaka)