nextjs - ✅(Solved) Fix [ESLint v10]: TypeError: contextOrFilename.getFilename is not a function when running ESLint v10 [5 pull requests, 16 comments, 16 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
vercel/next.js#89764Fetched 2026-04-08 00:21:31
View on GitHub
Comments
16
Participants
16
Timeline
173
Reactions
52

Error Message

PS C:\Users\benna\dev\my-app> bun lint $ eslint

Oops! Something went wrong! :(

ESLint: 10.0.0

TypeError: Error while loading rule 'react/display-name': contextOrFilename.getFilename is not a function Occurred while linting C:\Users\benna\dev\my-app\app\layout.tsx at resolveBasedir (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:31:100) at detectReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:85:19) at getReactVersionFromContext (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:116:25) at testReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:181:28) at usedPropTypesInstructions (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\usedPropTypes.js:307:36) at Components.componentRule (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\Components.js:940:37) at createRuleListeners (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:497:15) at C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:623:7 at Array.forEach (<anonymous>) at runRules (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:557:31)

Fix Action

Fixed

PR fix notes

PR #104: chore(deps): update dependency eslint to v10 - abandoned

Description (problem / solution / changelog)

This PR contains the following updates:


Release Notes

<details> <summary>eslint/eslint (eslint)</summary>

v10.0.0

Compare Source

</details>

Configuration

📅 Schedule: Branch creation - "after 6pm on Friday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • <!-- rebase-check -->If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6InJlbm92YXRlLWJhc2UiLCJsYWJlbHMiOltdfQ==-->

Changed files

  • package.json (modified, +1/-1)
  • pnpm-lock.yaml (modified, +131/-205)

PR #90068: fix: attempt to make eslint-config-next support v10

Description (problem / solution / changelog)

What?

Fixes https://github.com/vercel/next.js/issues/89764 by using eslint compat to handle plugins that don't support eslint v10 yet. It also polyfills a needed function. I couldn't figure out how to upgrade the compiled in babel plugin.

Why?

Eslint v10 is a pretty minor upgrade all things considered and it's surprising that this plugin clashes with it, so trying to get the plugin to support v10

Changed files

  • packages/eslint-config-next/package.json (modified, +1/-0)
  • packages/eslint-config-next/src/index.ts (modified, +6/-3)
  • packages/eslint-config-next/src/parser.ts (modified, +71/-1)
  • pnpm-lock.yaml (modified, +93/-1)
  • test/unit/eslint-config-next/core-web-vitals/eslint-config-next-core-web-vitals.test.ts (modified, +13/-0)
  • test/unit/eslint-config-next/default/eslint-config-next-default.test.ts (modified, +15/-0)
  • test/unit/eslint-config-next/typescript/eslint-config-next-typescript.test.ts (modified, +13/-0)

PR #140: Bump eslint from 9.39.1 to 10.0.0

Description (problem / solution / changelog)

Bumps eslint from 9.39.1 to 10.0.0.

<details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.0.0</h2> <h2>Breaking Changes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b"><code>f9e54f4</code></a> feat!: estimate rule-tester failure location (<a href="https://redirect.github.com/eslint/eslint/issues/20420">#20420</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f"><code>a176319</code></a> feat!: replace <code>chalk</code> with <code>styleText</code> and add <code>color</code> to <code>ResultsMeta</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20227">#20227</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84"><code>c7046e6</code></a> feat!: enable JSX reference tracking (<a href="https://redirect.github.com/eslint/eslint/issues/20152">#20152</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa"><code>fa31a60</code></a> feat!: add <code>name</code> to configs (<a href="https://redirect.github.com/eslint/eslint/issues/20015">#20015</a>) (Kirk Waiblinger)</li> <li><a href="https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0"><code>3383e7e</code></a> fix!: remove deprecated <code>SourceCode</code> methods (<a href="https://redirect.github.com/eslint/eslint/issues/20137">#20137</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce"><code>501abd0</code></a> feat!: update dependency minimatch to v10 (<a href="https://redirect.github.com/eslint/eslint/issues/20246">#20246</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e"><code>ca4d3b4</code></a> fix!: stricter rule tester assertions for valid test cases (<a href="https://redirect.github.com/eslint/eslint/issues/20125">#20125</a>) (唯然)</li> <li><a href="https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b"><code>96512a6</code></a> fix!: Remove deprecated rule context methods (<a href="https://redirect.github.com/eslint/eslint/issues/20086">#20086</a>) (Nicholas C. Zakas)</li> <li><a href="https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90"><code>c69fdac</code></a> feat!: remove eslintrc support (<a href="https://redirect.github.com/eslint/eslint/issues/20037">#20037</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04"><code>208b5cc</code></a> feat!: Use <code>ScopeManager#addGlobals()</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20132">#20132</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14"><code>a2ee188</code></a> fix!: add <code>uniqueItems: true</code> in <code>no-invalid-regexp</code> option (<a href="https://redirect.github.com/eslint/eslint/issues/20155">#20155</a>) (Tanuj Kanti)</li> <li><a href="https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab"><code>a89059d</code></a> feat!: Program range span entire source text (<a href="https://redirect.github.com/eslint/eslint/issues/20133">#20133</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53"><code>39a6424</code></a> fix!: assert 'text' is a string across all RuleFixer methods (<a href="https://redirect.github.com/eslint/eslint/issues/20082">#20082</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44"><code>f28fbf8</code></a> fix!: Deprecate <code>&quot;always&quot;</code> and <code>&quot;as-needed&quot;</code> options of the <code>radix</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20223">#20223</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98"><code>aa3fb2b</code></a> fix!: tighten <code>func-names</code> schema (<a href="https://redirect.github.com/eslint/eslint/issues/20119">#20119</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756"><code>f6c0ed0</code></a> feat!: report <code>eslint-env</code> comments as errors (<a href="https://redirect.github.com/eslint/eslint/issues/20128">#20128</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db"><code>4bf739f</code></a> fix!: remove deprecated <code>LintMessage#nodeType</code> and <code>TestCaseError#type</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20096">#20096</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247"><code>523c076</code></a> feat!: drop support for jiti &lt; 2.2.0 (<a href="https://redirect.github.com/eslint/eslint/issues/20016">#20016</a>) (michael faith)</li> <li><a href="https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64"><code>454a292</code></a> feat!: update <code>eslint:recommended</code> configuration (<a href="https://redirect.github.com/eslint/eslint/issues/20210">#20210</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1"><code>4f880ee</code></a> feat!: remove <code>v10_*</code> and inactive <code>unstable_*</code> flags (<a href="https://redirect.github.com/eslint/eslint/issues/20225">#20225</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f"><code>f18115c</code></a> feat!: <code>no-shadow-restricted-names</code> report <code>globalThis</code> by default (<a href="https://redirect.github.com/eslint/eslint/issues/20027">#20027</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e"><code>c6358c3</code></a> feat!: Require Node.js <code>^20.19.0 || ^22.13.0 || &gt;=24</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20160">#20160</a>) (Milos Djermanovic)</li> </ul> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822"><code>bff9091</code></a> feat: handle <code>Array.fromAsync</code> in <code>array-callback-return</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20457">#20457</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222"><code>290c594</code></a> feat: add <code>self</code> to <code>no-implied-eval</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20468">#20468</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2"><code>43677de</code></a> feat: fix handling of function and class expression names in <code>no-shadow</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20432">#20432</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/f0cafe5f37e7765e9d8c2751b5f5d33107687009"><code>f0cafe5</code></a> feat: rule tester add assertion option <code>requireData</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20409">#20409</a>) (fnx)</li> <li><a href="https://github.com/eslint/eslint/commit/f7ab6937e63bc618d326710858f5861a68f80616"><code>f7ab693</code></a> feat: output RuleTester test case failure index (<a href="https://redirect.github.com/eslint/eslint/issues/19976">#19976</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/7cbcbf9c3c2008deee7d143ae35e668e8ffbccb3"><code>7cbcbf9</code></a> feat: add <code>countThis</code> option to <code>max-params</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20236">#20236</a>) (Gerkin)</li> <li><a href="https://github.com/eslint/eslint/commit/f148a5eaa1e89dd80ade62f0a690186b00b9f6e1"><code>f148a5e</code></a> feat: add error assertion options (<a href="https://redirect.github.com/eslint/eslint/issues/20247">#20247</a>) (ST-DDT)</li> <li><a href="https://github.com/eslint/eslint/commit/09e66549ecada6dcb8c567a60faf044fce049188"><code>09e6654</code></a> feat: update error loc of <code>require-yield</code> and <code>no-useless-constructor</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20267">#20267</a>) (Tanuj Kanti)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/436b82f3c0a8cfa2fdc17d173e95ea11d5d3ee03"><code>436b82f</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20473">#20473</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/1d29d22fe302443cec2a11da0816397f94af97ec"><code>1d29d22</code></a> fix: detect default <code>this</code> binding in <code>Array.fromAsync</code> callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/20456">#20456</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/727451eff55b35d853e0e443d0de58f4550762bf"><code>727451e</code></a> fix: fix regression of global mode report range in <code>strict</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/20462">#20462</a>) (ntnyq)</li> <li><a href="https://github.com/eslint/eslint/commit/e80485fcd27196fa0b6f6b5c7ac8cf49ad4b079d"><code>e80485f</code></a> fix: remove fake <code>FlatESLint</code> and <code>LegacyESLint</code> exports (<a href="https://redirect.github.com/eslint/eslint/issues/20460">#20460</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/9eeff3bc13813a786b8a4c3815def97c0fb646ef"><code>9eeff3b</code></a> fix: update esquery (<a href="https://redirect.github.com/eslint/eslint/issues/20423">#20423</a>) (cryptnix)</li> <li><a href="https://github.com/eslint/eslint/commit/b34b93852d014ebbcf3538d892b55e0216cdf681"><code>b34b938</code></a> fix: use <code>Error.prepareStackTrace</code> to estimate failing test location (<a href="https://redirect.github.com/eslint/eslint/issues/20436">#20436</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/51aab5393b058f7cbed69041a9069b2bd106aabd"><code>51aab53</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20443">#20443</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/23490b266276792896a0b7b43c49a1ce87bf8568"><code>23490b2</code></a> fix: handle space before colon in <code>RuleTester</code> location estimation (<a href="https://redirect.github.com/eslint/eslint/issues/20433">#20433</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/f244dbf2191267a4cafd08645243624baf3e8c83"><code>f244dbf</code></a> fix: use <code>MessagePlaceholderData</code> type from <code>@eslint/core</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20348">#20348</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/d186f8c0747f14890e86a5a39708b052b391ddaf"><code>d186f8c</code></a> fix: update eslint (<a href="https://redirect.github.com/eslint/eslint/issues/20427">#20427</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/2332262deb4ef3188b210595896bb0ff552a7e66"><code>2332262</code></a> fix: error location should not modify error message in RuleTester (<a href="https://redirect.github.com/eslint/eslint/issues/20421">#20421</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/ab99b21a6715dee1035d8f4e6d6841853eb5563f"><code>ab99b21</code></a> fix: ensure <code>filename</code> is passed as third argument to <code>verifyAndFix()</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20405">#20405</a>) (루밀LuMir)</li> <li><a href="https://github.com/eslint/eslint/commit/8a60f3bc80ad96c65feeb29886342623c630199c"><code>8a60f3b</code></a> fix: remove <code>ecmaVersion</code> and <code>sourceType</code> from <code>ParserOptions</code> type (<a href="https://redirect.github.com/eslint/eslint/issues/20415">#20415</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/eafd727a060131f7fc79b2eb5698d8d27683c3a2"><code>eafd727</code></a> fix: remove <code>TDZ</code> scope type (<a href="https://redirect.github.com/eslint/eslint/issues/20231">#20231</a>) (jaymarvelz)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/4e6c4ac042e321da8fc29ce53ed03c86dcaa44a7"><code>4e6c4ac</code></a> 10.0.0</li> <li><a href="https://github.com/eslint/eslint/commit/ddd8a223000ac6a2182cc8eae35254806a3b0289"><code>ddd8a22</code></a> Build: changelog update for 10.0.0</li> <li><a href="https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822"><code>bff9091</code></a> feat: handle <code>Array.fromAsync</code> in <code>array-callback-return</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20457">#20457</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/1ece282c2286b5dc187ece2a793dbd8798f20bd7"><code>1ece282</code></a> chore: ignore <code>/docs/v9.x</code> in link checker (<a href="https://redirect.github.com/eslint/eslint/issues/20452">#20452</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/034e1397446205e83eb341354605380195c88633"><code>034e139</code></a> ci: add type integration test for <code>@html-eslint/eslint-plugin</code> (<a href="https://redirect.github.com/eslint/eslint/issues/20345">#20345</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/f3fbc2f60cbe2c718364feb8c3fc0452c0df3c56"><code>f3fbc2f</code></a> chore: set <code>@eslint/js</code> version to 10.0.0 to skip releasing it (<a href="https://redirect.github.com/eslint/eslint/issues/20466">#20466</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/e978ddaab7e6a3c38b4a2afa721148a6ef38f29a"><code>e978dda</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/4cecf8393ae9af18c4cfd50621115eb23b3d0cb6"><code>4cecf83</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/c79f0ab2e2d242a93b08ff2f6a0712e2ef60b7b8"><code>c79f0ab</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/afc06817bbd0625c7b0a46bdc81c38dab0c99441"><code>afc0681</code></a> chore: remove scopeManager.addGlobals patch for typescript-eslint parser (<a href="https://redirect.github.com/eslint/eslint/issues/20">#20</a>...</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v9.39.1...v10.0.0">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>

Changed files

  • package-lock.json (modified, +385/-276)
  • package.json (modified, +1/-1)

PR #1611: chore(deps): update dependency eslint to v10

Description (problem / solution / changelog)

(No description)

Changed files

  • eslint.config.ts (modified, +1/-0)
  • package.json (modified, +1/-1)
  • pnpm-lock.yaml (modified, +142/-194)

PR #6099: chore: update dependency eslint to v10

Description (problem / solution / changelog)

This PR contains the following updates:


Release Notes

<details> <summary>eslint/eslint (eslint)</summary>

v10.0.0

Compare Source

</details>

Configuration

📅 Schedule: Branch creation - "after 8am and before 5pm every weekday" in timezone Asia/Tokyo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • <!-- rebase-check -->If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Changed files

  • package.json (modified, +1/-1)
  • pnpm-lock.yaml (modified, +119/-140)

Code Example

PS C:\Users\benna\dev\my-app> bun lint
$ eslint

Oops! Something went wrong! :(

ESLint: 10.0.0

TypeError: Error while loading rule 'react/display-name': contextOrFilename.getFilename is not a function
Occurred while linting C:\Users\benna\dev\my-app\app\layout.tsx
    at resolveBasedir (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:31:100)
    at detectReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:85:19)
    at getReactVersionFromContext (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:116:25)
    at testReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:181:28)
    at usedPropTypesInstructions (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\usedPropTypes.js:307:36)
    at Components.componentRule (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\Components.js:940:37)
    at createRuleListeners (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:497:15)
    at C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:623:7
    at Array.forEach (<anonymous>)
    at runRules (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:557:31)

---

Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 11 Pro
  Available memory (MB): 12244
  Available CPU cores: 8
Binaries:
  Node: 24.13.0
  npm: 11.6.2
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 16.1.6 // Latest available version is detected (16.1.6).
  eslint-config-next: N/A
  react: 19.2.4
  react-dom: 19.2.4
  typescript: 5.9.3
Next.js Config:
  output: N/A
RAW_BUFFERClick to expand / collapse

Link to the code that reproduces this issue

https://github.com/bennajah/nextjs16

To Reproduce

  1. Create a next.js project or clone this repo
  2. Upgrade eslint to v10 .
  3. Run eslint

Current vs. Expected behavior

After upgrading ESLint to v10 in a Next.js project, running bun eslint causes the following error:

PS C:\Users\benna\dev\my-app> bun lint
$ eslint

Oops! Something went wrong! :(

ESLint: 10.0.0

TypeError: Error while loading rule 'react/display-name': contextOrFilename.getFilename is not a function
Occurred while linting C:\Users\benna\dev\my-app\app\layout.tsx
    at resolveBasedir (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:31:100)
    at detectReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:85:19)
    at getReactVersionFromContext (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:116:25)
    at testReactVersion (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\version.js:181:28)
    at usedPropTypesInstructions (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\usedPropTypes.js:307:36)
    at Components.componentRule (C:\Users\benna\dev\my-app\node_modules\eslint-plugin-react\lib\util\Components.js:940:37)
    at createRuleListeners (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:497:15)
    at C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:623:7
    at Array.forEach (<anonymous>)
    at runRules (C:\Users\benna\dev\my-app\node_modules\eslint\lib\linter\linter.js:557:31)

Provide environment information

Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 11 Pro
  Available memory (MB): 12244
  Available CPU cores: 8
Binaries:
  Node: 24.13.0
  npm: 11.6.2
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 16.1.6 // Latest available version is detected (16.1.6).
  eslint-config-next: N/A
  react: 19.2.4
  react-dom: 19.2.4
  typescript: 5.9.3
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)

Linting

Which stage(s) are affected? (Select all that apply)

Other (Deployed)

Additional context

No response

extent analysis

Fix: Align ESLint v10 with a compatible eslint‑plugin‑react (or downgrade ESLint)

The rule react/display-name crashes because the version of eslint-plugin-react bundled in the repo expects the old context.getFilename API that was removed in ESLint v10.
Either:

  1. **

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING