Description
ESLint has just released the first beta version of v8.
https://eslint.org/blog/2021/08/eslint-v8.0.0-beta.0-released
https://eslint.org/blog/2021/08/eslint-v8.0.0-beta.1-released
https://eslint.org/blog/2021/09/eslint-v8.0.0-beta.2-released
https://eslint.org/blog/2021/09/eslint-v8.0.0-rc.0-released
This version contains a number of breaking changes which will prevent our tooling from working at all with it. This is expected and we had discussed the changes with the ESLint team as they worked on v8.
Support for this will require breaking changes from this project.
We are preparing a major release to support the changes - it has been released to npm under the rc-v5
tag.
✅ = done
🕐 = in progress
🔲 = not yet started
Breaking Changes in ESLint v8
✅ Breaking: Strict package exports
ESLint has restricted what can be imported from their package. In doing so they have continued to export some of the things we need to operate, though they are available on a different path.
This will require a large change in how the package is architected.
Problem: How can we support both =v8 at the same time?
✅ Breaking: Require meta.hasSuggestions for rules with suggestions
PRs: #3737
This will require updates to some of our rule defs as we did not annotate this after the release of the flag some time in ESLint v7.
✅ Breaking: fix comma-dangle schema
PRs: #3768.
We will have to update our extension rule's schema.
✅ Breaking: upgrade espree and support new class features
PRs: #3806, #3077, #2933
Related Issues: #3430
We supported the old babel-style AST for class properties (ClassProperty
). ESLint has added support for properties using ESTree's official spec. We need to update our representation as appropriate.
✅ Breaking: add some rules to eslint:recommended
PRs: None yet.
Related Issues: #3746
We will want to review the changes and update our lists as appropriate.
For example - ESLint now recommends no-unsafe-optional-chaining
. Every single check of this rule is covered by typescript
✅ Breaking: drop node v10/v13/v15
PRs: #3767.
We will want to update our node ranges as appropraite.
✅ Breaking: remove meta.docs.category in core rules
PRs: #3800
We will want to remove this from the types
✅ Changes with no impact:
- Breaking: disallow SourceCode#getComments() in RuleTester
- This is not a problem. We could probably remove the API from our types now.
- Breaking: Fixable disable directives
- Breaking: require meta for fixable rules
- Breaking: allow all directives in line comments
- Breaking: support new regex d flag
- Breaking: Drop codeframe and table formatters
- Breaking: Disallow reserved words in ES3