ESLint v8.x is end of life
What is the location of your example repository?
No response
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
2024.7.9
What version of Remix are you using?
2.10.1
Steps to Reproduce
- Create a new Hydrogen project
- Install the dependencies
- Check ESLint version
Expected Behavior
The Skeleton template should use ESLint 9.
Actual Behavior
The Skeleton template is using ESLint 8.x which is end of life since October 5, 2024.
https://eslint.org/blog/2024/09/eslint-v8-eol-version-support/
I looked into upgrading eslint on Hydrogen. Currently block by other eslint plugins not supporting eslint 9.x:
So far I have figure out the following hasn't support eslint 9.x
@remix-run/eslint-configeslint-plugin-jest
Biggest one being @remix-run/eslint-config pinning the parser @typescript-eslint/parser
at 5.x where the latest is at 8.x which supports eslint 9.x.
We can nudge Remix team on updating @remix-run/eslint-config
Also need to fix or kill eslint-plugin-hydrogen
@wizardlyhel Thank you for the response!
I think @remix-run/eslint-config is deprecated:
- https://github.com/remix-run/remix/discussions/10054
- https://github.com/remix-run/remix/issues/7056
- https://github.com/remix-run/remix/pull/7597
Yea - just talked with the Remix team. We'll also move that dependency
Any updates here? @wizardlyhel
We are working on this for late January release
Any updates? I did h2 upgrade and Hydrogen was upgraded from v2025.1.0 to v2025.1.2 but eslint wasn't upgraded to v9, it's still at v8
We have remove the dependency of eslint completely from all of our packages. Newly generated projects will have eslint at 9.x.
h2 upgrade will not auto update project to new eslint. We notice that the new eslint config file may cause lint errors in your project so we decided it will be a manual process on the devs to update on their own. Here's the skeleton eslint config template reference: https://github.com/Shopify/hydrogen/blob/main/templates/skeleton/eslint.config.js