-
-
Notifications
You must be signed in to change notification settings - Fork 251
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
chore(CI): add tests for ESLint 8 #201
Conversation
5d69ceb
to
4817691
Compare
058473e
to
217f4f6
Compare
Because eslint-config-prettier does not yet support it. See prettier/eslint-config-prettier#201
Because eslint-config-prettier does not yet support it. See prettier/eslint-config-prettier#201
Any reason why this is a draft and can't be merged? |
217f4f6
to
5211fba
Compare
5211fba
to
e350854
Compare
"doctoc": "2.0.0", | ||
"eslint": "7.25.0", | ||
"eslint": "^8.2.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you stick to ESLint v7 in your dev dependencies, this PR could be merged without problems since the main changes for adding ESLint v8 compatibility to the package are already addressed in this very PR. Upgrading ESLint here is just for the local environment used to develop the project, that must not block this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package is still compatible with ESLint 7 (see tests), so it can still be merged even though we update the ESLint version for local development
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But there are some other ESLint plugins not compatible with v8 that can cause errors, that's why I'm suggesting not upgrading to v8 in dev dependencies so it doesn't block the release of the v8 compatibility 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
block the release of the v8 compatibility
eslint-config-prettier already is (and always has been) compatible with ESLint 8. This PR is just adding tests for ESLint 8 and upgrading to using ESLint 8 internally. There’s no rush with this PR.
Marking as “unresolved” to increase visibility of this comment.
@@ -13,26 +13,30 @@ jobs: | |||
strategy: | |||
matrix: | |||
os: [ubuntu-latest, windows-latest, macOS-latest] | |||
node-version: [10.x, 12.x, 14.x, 15.x] | |||
node: [10, 12, 14, 16] | |||
eslint: [7, 8] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Node 10 probably needs to be excluded from the 8 matrix
- Update to ESLint 8. (No need to test with ESLint 7 – we have never needed to test with multiple ESLint versions before, and ESLint 8 changed nothing with the config system.) - Update Prettier. - Update all ESLint plugins. None of them had new conflicting rules. - Update all other dependencies. - Update Node.js versions to test with in CI: Drop Node.js 10 and 15 since they are EOL. Add Node.js 16 and 17. Note: eslint-config-prettier still works with Node.js 10, and there’s no reason for that to change in the foreseeable future. - Remove the table of contents in the readme. That’s a native GitHub feature these days. - Update to npm lockfile version 2. - Fix deprecation warning in build script. - Fix lint errors from updated eslint-plugin-unicorn. Supersedes and closes #201. (It was easier to do this myself than reviewing that PR.)
ESLint v8.0.0 is released 🎉
devDependency compatibility with ESLint 8:
@babel/eslint-parser
(Support ESLint 8.x babel/babel#13712)@babel/eslint-parser
babel/babel#13782v7.16.0
@babel/eslint-plugin
(Support ESLint 8.x babel/babel#13712)PRRelease@typescript-eslint/eslint-plugin
(Support for ESLint v8 typescript-eslint/typescript-eslint#3738)meta.docs.category
from rules typescript-eslint/typescript-eslint#3800PrivateIdentifier
typescript-eslint/typescript-eslint#3808v5.0.0
@typescript-eslint/parser
(Support for ESLint v8 typescript-eslint/typescript-eslint#3738)meta.docs.category
from rules typescript-eslint/typescript-eslint#3800PrivateIdentifier
typescript-eslint/typescript-eslint#3808v5.0.0
eslint-config-google
(Support ESLint 8.x google/eslint-config-google#68)eslint-find-rules
(Support ESLint 8.x sarbbottam/eslint-find-rules#336)v4.0.0
eslint-plugin-flowtype
(Support ESLint 8.x gajus/eslint-plugin-flowtype#495)v8.0.0
eslint-plugin-prettier
(Support ESLint 8.x eslint-plugin-prettier#427)Releaseeslint-plugin-react
(Support ESLint 8.x jsx-eslint/eslint-plugin-react#3055)v7.27.0
eslint-plugin-unicorn
(ESLint 8 compatibility sindresorhus/eslint-plugin-unicorn#1486)v37.0.0
eslint-plugin-vue
(Support ESLint 8.x vuejs/eslint-plugin-vue#1615)v8.0.0