Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[eslint-plugin] Support ESLint 8 #3057

Merged
merged 17 commits into from
Dec 6, 2021
Merged

Conversation

D4N14L
Copy link
Member

@D4N14L D4N14L commented Dec 1, 2021

Summary

Updates the Rushstack repo to support and use ESLint v8 for linting.

Fixes #2890

cc @lukashass

Details

There are some aspects to this upgrade that deserve to be called out:

  • @rushstack/tree-pattern is temporarily remaining on eslint@7.30.0. This is due to it's dependency on an older version of @rushstack/eslint-config/@rushstack/eslint-plugin since it consumes these packages as cyclic dependencies. Once the new packages are published and the cyclic dependencies are bumped, this project should be able to be updated to 8.3.0 and have the common-versions.json changes removed.
  • @rushstack/eslint-config temporarily disables eslint-plugin-promise rules (of which there was only one). This is required since the package does not yet support ESLint v8 (see this issue: Support ESLint 8.x eslint-community/eslint-plugin-promise#218).

How it was tested

Build while consuming the new version of ESLint and the updated config/plugin in dependent projects.

@iclanton
Copy link
Member

iclanton commented Dec 3, 2021

Can you add a project that continues to test ESLint 7?

@iclanton
Copy link
Member

iclanton commented Dec 3, 2021

IIRC you mentioned that eslint-plugin-promise is just missing some manifest file. Can we add something in eslint-patch to fix that as a stopgap?

@D4N14L
Copy link
Member Author

D4N14L commented Dec 3, 2021

IIRC you mentioned that eslint-plugin-promise is just missing some manifest file. Can we add something in eslint-patch to fix that as a stopgap?

I would prefer not to go that route. The change on the eslint-plugin-promise is relatively minor, just taking a while to go through... on our side, we currently only consume one rule, and it's a pretty simple one (confusing resolve and reject callbacks). Patching for eslint to add a new feature is one thing... patching a rules package where we only consume 1 rule seems excessive. Especially since eslint-patch is now used by so many people: https://www.npmjs.com/package/@rushstack/eslint-patch

@D4N14L
Copy link
Member Author

D4N14L commented Dec 3, 2021

@iclanton I added a small test project, could you take a look to make sure that it's sufficient?

@iclanton iclanton merged commit 3fea816 into microsoft:master Dec 6, 2021
@lukashass lukashass mentioned this pull request Dec 6, 2021
12 tasks
@iclanton iclanton deleted the user/danade/eslint8 branch December 6, 2021 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Support ESLint 8.x
2 participants