Update nextjs monorepo (major)#620
Conversation
|
| "@typescript-eslint/parser": "^8.0.0", | ||
| "eslint": "^8.56.0", | ||
| "eslint-config-next": "^15.0.0", | ||
| "eslint-config-next": "^16.0.0", |
There was a problem hiding this comment.
🔴 eslint-config-next v16 requires ESLint >=9.0.0 but project pins ESLint ^8.56.0
Upgrading eslint-config-next from ^15.0.0 to ^16.0.0 introduces an unmet peer dependency. All versions of eslint-config-next@16.x require eslint >= 9.0.0, but the project specifies "eslint": "^8.56.0" which resolves to 8.57.1 in the lockfile.
Peer dependency mismatch details
The npm info output confirms every eslint-config-next@16.x release declares { eslint: '>=9.0.0' } as a peer dependency. The project's package.json:28 specifies "eslint": "^8.56.0" and the lockfile confirms it resolves to 8.57.1.
This mismatch can cause:
pnpm installwarnings or errors about unmet peer dependencies (depending onpnpmstrictness settings)- Runtime lint failures or unexpected behavior since
eslint-config-next@16is designed for ESLint 9's flat config system, which is fundamentally different from ESLint 8's.eslintrc-based configuration - The project has no ESLint config files (no
.eslintrc*oreslint.config.*found), so the actual linting setup may already be broken or unused at the root level
Impact: The lint script (turbo lint) may fail or produce incorrect results when eslint-config-next@16 is loaded with ESLint 8.
Prompt for agents
In package.json, the eslint-config-next dependency was bumped to ^16.0.0 which requires eslint >=9.0.0, but the eslint dependency on line 28 is still ^8.56.0. Either:
1. Revert eslint-config-next back to ^15.0.0 (line 29), OR
2. Upgrade eslint from ^8.56.0 to ^9.0.0 (line 28) AND migrate the ESLint configuration to ESLint 9's flat config format (eslint.config.js/eslint.config.mjs). Also check that all other eslint plugins and configs (eslint-config-standard, eslint-config-turbo, eslint-plugin-import, etc.) are compatible with ESLint 9.
Was this helpful? React with 👍 or 👎 to provide feedback.
e4823e4 to
aff4108
Compare
9cbd464 to
b461dd0
Compare
b461dd0 to
e8c8ade
Compare
e6f6ca3 to
a577c46
Compare
a577c46 to
8b893aa
Compare
8b893aa to
e672924
Compare
33bf0c9 to
04443e2
Compare
04443e2 to
ea7ce16
Compare
8f3eb09 to
4b4ce6a
Compare
5bbbeaf to
12cdefc
Compare
790ca53 to
dd04458
Compare
1fc610b to
eb9eca5
Compare
| "@typescript-eslint/parser": "^8.0.0", | ||
| "eslint": "^8.56.0", | ||
| "eslint-config-next": "^15.0.0", | ||
| "eslint-config-next": "^16.0.0", |
There was a problem hiding this comment.
🚩 Peer dependency mismatch: eslint-config-next v16 requires ESLint >=9 but repo uses ESLint 8
eslint-config-next@16.2.4 declares peerDependencies: { eslint: '>=9.0.0' } (visible in pnpm-lock.yaml), but the repo specifies "eslint": "^8.56.0" (resolved to 8.57.1). pnpm allows this with a warning since strict-peer-dependencies is not enabled in .npmrc, and the lockfile shows it resolves and installs. However, eslint-config-next v16 may use ESLint 9+ flat config APIs or other features not present in ESLint 8. If linting is currently passing in CI, this may be fine in practice, but it's an unsupported configuration that could break with future patch releases of eslint-config-next.
Was this helpful? React with 👍 or 👎 to provide feedback.
e8b52f8 to
fc5e82b
Compare
fc5e82b to
075fa35
Compare
This PR contains the following updates:
^15.5.19→^16.0.0Release Notes
vercel/next.js (eslint-config-next)
v16.2.7Compare Source
Core Changes
playwright-coreto resolve_finishedPromiseonrequestFailed(#93920)router.querycorruption withbasePath+rewrites(#93917)FormDataentries (#94240)Credits
Huge thanks to @eps1lon, @icyJoseph, @unstubbable, @mischnic, @bgw, @timneutkens, and @lukesandberg for helping!
v16.2.6Compare Source
Security Fixes
The following advisories have been addressed:
High:
Moderate:
Low:
Core Changes
cacheHandlerskeys (#93453)v16.2.5Compare Source
Security Fixes
The following advisories have been addressed:
High:
Moderate:
Low:
Core Changes
cacheHandlerskeys (#93453)v16.2.4Compare Source
Core Changes
Credits
Huge thanks to @Badbird5907, @lukesandberg, @andrewimm, @sokra, and @mischnic for helping!
v16.2.3Compare Source
Core Changes
Credits
Huge thanks to @icyJoseph, @sokra, @wbinnssmith, @eps1lon and @ztanner for helping!
v16.2.2Compare Source
Core Changes
Credits
Huge thanks to @nextjs-bot, @icyJoseph, @ijjk, @gaojude, @wbinnssmith, @lukesandberg, and @bgw for helping!
v16.2.1Compare Source
Core Changes
cacheComponents(#91711){eval:true}in worker_threads constructors (#91666)Credits
Huge thanks to @icyJoseph, @abhishekmardiya, @ijjk, @mischnic, @unstubbable, @sokra, and @lukesandberg for helping!
v16.2.0Compare Source
Core Changes
f93b9fd4-20251217to65eec428-20251218: #87323experimental.strictRouteTypesconfig: #87378satisfieswhen validating page and route modules: #87398numberinconfig.api.bodyParser.sizeLimitwhen validating route: #87633images.maximumResponseBodyconfig: #88183'use cache'wrapper: #88219'use cache'function calls: #86920pending revalidates...debug log if applicable: #88221noUncheckedSideEffectImportsfor CSS imports: #88199/_next/routes: #8835365eec428-20251218to3e1abcc8-20260113: #88530interopDefault: #884863e1abcc8-20260113to4a3d993e-20260114: #885474a3d993e-20260114tobef88f7c-20260116: #88649--debug-build-pathsbracket escaping for glob patterns: #88660--debug-build-paths: #88654next start --inspect: #88744--debug-build-pathssupport to filter routes: #88655bef88f7c-20260116to41b3e9a6-20260119: #8875641b3e9a6-20260119tod2908752-20260119: #88774rewroteURLtorewrittenPathnamein request metadata: #88751getImplicitTagsto accept pathname instead of url object: #88753NEXT_DEPLOYMENT_IDglobal: #86738<html data-dpl-id>and don't inline it into JS anymore: #88761revalidatePathwith params and trailing slash when deployed: #88623d2908752-20260119tob546603b-20260121: #88860deploymentIdfrom App RouterRenderOptsPartial: #88866b546603b-20260121to24d8716e-20260123: #88963?dpl=to all asset urls returned by Turbopack: #88828useEffectEventto disallowed React APIs in Server Components: #88985renderOpts.nextExporttoisBuildTimePrerendering: #88951README.mds: #89022__turbopack_load_by_url__with query: #8889924d8716e-20260123to8c34556c-20260126: #89066baseline-browser-mappingwarnings: #89175.mdlicenses are included in vendored packages: #8920110680271-20260126to230772f9-20260128: #89250tarused to extract SWC binary : #89158browserslistdoesn't issue outdated warnings forbaseline-browser-mapping: #89287230772f9-20260128toda641178-20260129: #89301rules.*.typeconfig to allow changing the type of a module: #88788logging.serverFunctions: #89321'use cache'functions: #89408da641178-20260129toed4bd540-20260202: #89401ed4bd540-20260202tob1533b03-20260203: #89444b1533b03-20260203to3e00319b-20260203: #89449experimental.reportSystemEnvInliningfor Turbopack: #89304instant(): #89469cacheLifeon outer"use cache"when nesting short-lived caches: #894813e00319b-20260203to95ffd6cd-20260205: #89550discoverRoutes()API: #8897195ffd6cd-20260205to2dd9b7cf-20260208: #89681AggregateError.errorsin terminal output: #889992dd9b7cf-20260208to272441a9-20260209: #89722next dev: #89798type: "text"under a new experimental flag, following what webpack did: #89560use: #89793experimental.appNewScrollHandler: #83107272441a9-20260209to6066c782-20260212: #89923--debug-prerenderis set: #89834require.resolve()to get the installednextversion: #89166prefetch={true}on Links to routes withinstant: #900616066c782-20260212to4842fbea-20260217: #90144pnpm build: #89819images.maximumDiskCacheSize: #89963isPartialbyte stripping when deployed: #902722ba30655-20260219toab18f33d-20260220: #90279Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.