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

feat: support eslint v9 #106

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

feat: support eslint v9 #106

wants to merge 4 commits into from

Conversation

Jungzl
Copy link

@Jungzl Jungzl commented Apr 24, 2024

fix: #92

@robatwilliams
Copy link
Owner

Hi. Thanks for your effort on this. As it's a significant piece of work which we hadn't already discussed, I need some understanding of the changes made and why.

As I see:

  • Dropped Node 16 support
  • Upgraded lerna
  • Upgraded various other packages (run all, prettier, browserslist ...)
  • Changed from npm to pnpm
  • No tests against ESLint 8
  • ...

Could you elaborate please?

Is it all necessary just to support 9, or is it bundling together some good-to-do general maintenance in the same PR?

@Jungzl
Copy link
Author

Jungzl commented Apr 24, 2024

Sorry for submitting many changes at once. I believe including excessive irrelevant code solely to accommodate ESLint 9 is somewhat bothersome. It might be better to divide it into several pull requests.
Anyway, I can explain the reasons for these changes to you.

Dropped Node 16 support

Node16 LTS is EOL in September 11th, 2023;
ESLint no longer supports versions below node 18.18;

Upgraded lerna

To be honest, I just upgraded all the dependencies that could be upgraded. I saw #77 before, since lerna actively maintained recently, let's give it a try.

Upgraded various other packages (run all, prettier, browserslist ...)

I replaced eslint-plugin-import with eslint-plugin-import-x, the latter is a rewrite of the former with TS and legacy node support dropped.
I replaced npm-run-all with npm-run-all2, it has documented its advantages.

Changed from npm to pnpm

pnpm is more suitable for this monorepo, reduce lock files and shadow dependencies

And I didn't test it on ESLint 8 since it's a breaking change, so users who use ESLint 8 should continue to use version 3.2.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Flat config support / ESLint 9
2 participants