[eslint config] [base] [breaking] support eslint 8 #2495
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Technically this wouldn't have to be a semver-major change - we could hold off on enabling the many rules that have been waiting for it, only run
eslint-find-rules
(which was forced to make a breaking change due to API changes in eslint 8) on eslint 7 and 8, and release as a semver-minor.However, I'm not sure there'd be much value in that - lots of people will update to get eslint 8 support, so it's a nice opportunity to add "exports" and enable more useful rules and get maximum exposure for that. Separately, at this point I'm not sure who's still using eslint 5 or 6, considering how much new syntax requires eslint 7 or 8 to support (even via babel's or typescript's eslint parser) and how hungry people often are for new syntax.
Due to the way we share packages in this quasi-monorepo, I've been forced to disable a number of tests. These will be re-enabled once I open the PR to update the react config (after the base config is published) which hopefully won't be too long (and I won't be making any meaningful changes to the react config during that gap anyways).
This resolves part of #2478.