ESLint v8.0.0-beta.0 released

14 August 2021

We just pushed ESLint v8.0.0-beta.0, 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

Most of the highlights of this release are breaking changes, and are discussed further in the migration guide. In addition, there are some new features:

  • The default parser now supports ES2022 syntax, including class fields and top-level await. Some rules still need to be updated, and you can follow progress on the tracking issue.
  • Autofix gained support for removing unused disable directives when using --fix with --report-unused-disable-directives.

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

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.0 --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

  • ec9db63 Upgrade: @eslint/eslintrc@1.0.0 (#14865) (Milos Djermanovic)
  • 62c6fe7 Upgrade: Debug 4.0.1 > 4.3.2 (#14892) (sandesh bafna)
  • 88db3f5 Upgrade: js-yaml to v4 (#14890) (Bryan Mishkin)
  • ae6072b Upgrade: eslint-visitor-keys to v3 (#14902) (Bryan Mishkin)
  • e53d8cf Upgrade: markdownlint dev dependencies (#14883) (Bryan Mishkin)
  • d66e941 Upgrade: @humanwhocodes/config-array to 0.6 (#14891) (Bryan Mishkin)

Chores

  • be334f9 Chore: Fix Makefile call to linter.getRules() (#14932) (Brandon Mills)
  • 0c86b68 Chore: Replace old syntax for Array flat/flatMap (#14614) (Stephen Wade)
  • 6a89f3f Chore: ignore yarn-error.log and .pnpm-debug.log (#14925) (Nitin Kumar)
  • 3b6cd89 Chore: Add rel/abs path tests in no-restricted-{imports/modules} rules (#14910) (Bryan Mishkin)
  • f984515 Chore: add assertions on reporting location in semi (#14899) (Nitin Kumar)
  • 149230c Chore: Specify Node 14.x for Verify Files CI job (#14896) (Milos Djermanovic)
  • 537cf6a Chore: update glob-parent (fixes #14879)(#14887) (Nitin Kumar)
  • f7b4a3f Chore: update dev deps to latest (#14624) (薛定谔的猫)