-
Notifications
You must be signed in to change notification settings - Fork 27.2k
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
next-lint Doesn't Support ESLint 9 #64409
Comments
Bumping this for visibility, it does not seem to prevent build but unsure of the impact.
|
Bumping this, it is breaking package update automation at my corp |
Yeah it's breaking change because ESLint 9.0.0 is a major release with a ton of breaking changes. You better hope NextJS didn't adhoc around every single ESLint implementation detail, so the migration to the newest version wouldn't take forever on their end. |
IMHO, the adoption should be done gradually in the following steps:
|
I would like to add that the new flat config file can have multiple names:
Source: https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file |
Not a fix but you can ignore eslint during build like so: // next.config.js
module.exports = {
eslint: {
// Warning: This allows production builds to successfully complete even if
// your project has ESLint errors.
ignoreDuringBuilds: true,
},
} This way you have manual control over eslint, you can run a custom linting config before build. |
I went back to version |
Same error .eslintrc.json : I updated all the packages to the latest version but this still does not solve the problem I don’t want to go back to the old version to fix it. If anyone knows how to solve the problem without going to the old version, please help me 🙏 |
The only package update of relevance is |
Same issue here, I thought I was crazy. Downgrade to an old version for now... 🤖 😸
|
having the same problem here, I have a custom-shared lint config and my latest PR when linked locally to test it it fails, sebalaini/sebalaini-lints-config#6 |
What is the timeline for Eslint 9 support feature? When is NextJS planning to ship it? Do you guys need help? |
My guess is that Vercel is working hard to release Next 15, as the Next.js conference is just around the corner. Perhaps they'll then advice to update to Next 15, which I assume will support eslint 9. |
@samcx mentions Next 15 in this thread ☝️ but to say that it'll be shipping without ESLint 9. Whether that'll be quick enough to turn around now that all of the plugins that were holding things up are good to go, who knows. |
Adding more context, also need changing is the eslint
|
It looks like Vercel has underestimated ESLint. I think a dedicated team is needed for the migration as soon as possible. ESLint 8 has been deprecated for a week now, and all projects will start migrating to ESLint v9. |
we're on it, gonna land very very soon, thank you all for your patience! And yes, it will be part of Next 15! The reason why it took us so long to get to is that some of the upstream dependencies were also not up to date, so we were waiting on them. |
So wait until Next 15 is out? 🤦🏻♂️ By then eslint 10 might probably drop and the cycle starts all over |
Many of us switched over to Biome during that eslint-upgrade-mess. Is enabling third-party linters (or just Biome) via |
I wouldn't be so pessimistic! |
It is, but no ETA just yet. |
I don't know about others, but to me, in this context, a simple "soon" is a matter of weeks, a "very soon" is a few days, and "very very soon" is about a couple hours... 😶 |
We're planning on releasing an RC2 today and 15 in the following week, assuming there's no blockers. |
@feedthejim Wouldnt backporting this to v14 be better? Eslint 8 is already EOL while next v14 is still active dev. |
Update: ESLint 9 is now supported as of the Next.js 15 RC 2. v15 stable release coming soon 🙏 |
It's not pessimism. But I don't see a good reason to upgrade to a version filled with experimental changes just for the sake of using eslint 9, at this rate I'm considering dropping next altogether. |
It would be nice to get the eslint v9 support back ported to v14. As it stands now, you can't upgrade to eslint@9 due to this issue, but having tried converting to flat configs in just v8, that gets really ugly really fast. Being able to use eslint@9 in next v14 would create a much smoother upgrade path to v15. |
better to move to OxLint. |
Isn't Next 15 based on React 19? If so, how could it be released as stable without a stable release of React 19 first? |
Support for react 19, not dependent on. |
The release mentioned above is our second RC (Release Candidate) – not the final stable release. We're close to a stable release for v15 now (so if you try it out, please let us know). Upgrading to Next.js v15 does not require React 19, but it does support it if desired. If you are using the Pages Router, you can continue to use React 18. If you are using the App Router, the React version is vendored using the |
Please do not write comments unrelated to the issue. This involves sending spam messages to people who have subscribed to the issue. |
Link to the code that reproduces this issue
https://codesandbox.io/p/devbox/vigilant-pine-6wmz8y
To Reproduce
next lint
script to package.json per https://nextjs.org/docs/app/building-your-application/configuring/eslint.eslintrc.json
to project per https://nextjs.org/docs/app/building-your-application/configuring/eslintCurrent vs. Expected behavior
Expected lint to run successfully, but it failed with errors.
Provide environment information
Operating System: Platform: linux Arch: x64 Version: #1 SMP PREEMPT_DYNAMIC Sun Aug 6 20:05:33 UTC 2023 Available memory (MB): 4102 Available CPU cores: 2 Binaries: Node: 20.9.0 npm: 9.8.1 Yarn: 1.22.19 pnpm: 8.10.2 Relevant Packages: next: 14.2.1-canary.0 // Latest available version is detected (14.2.1-canary.0). eslint-config-next: 14.1.4 react: 18.2.0 react-dom: 18.2.0 typescript: 5.1.3 Next.js Config: output: N/A
Which area(s) are affected? (Select all that apply)
ESLint (eslint-config-next)
Which stage(s) are affected? (Select all that apply)
next dev (local), next build (local), next start (local)
Additional context
It looks like this is coming from https://github.com/vercel/next.js/blob/canary/packages/next/src/cli/next-lint.ts. This needs to be changed to support ESLint 9's flat config https://eslint.org/docs/latest/use/migrate-to-9.0.0#flat-config. The migration guide is at https://eslint.org/docs/latest/use/configure/migration-guide
NEXT-3112
The text was updated successfully, but these errors were encountered: