Skip to content

eslint 9 → 10: blocked upstream on eslint-plugin-react (no eslint-10 release) #216

Description

@IIchukissII

#215 took the frontend to eslint 9 (flat config, react-hooks 7, react-refresh 0.5.3, vitest 4, jsdom 29, plugin-react 6). It stopped short of eslint 10 for one reason, and it is not ours to fix.

Why 10 is blocked

eslint-plugin-react has no release that supports eslint 10:

  • latest is 7.37.5, peering eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
  • its next dist-tag is an ancient 7.8.0-rc.0 — there is no prerelease with support

This is not stale peer metadata. Forcing the install produces a linter that crashes on the first file:

TypeError: Error while loading rule 'react/display-name':
  contextOrFilename.getFilename is not a function
    at resolveBasedir (eslint-plugin-react/lib/util/version.js:31)

context.getFilename() is an API eslint 10 removed. The plugin genuinely does not run.

The only way to eslint 10 today is to drop eslint-plugin-react entirely, losing react/jsx-key, react/display-name, the jsx-runtime handling and the rest — trading real rule coverage for a version number. Rejected.

The trigger

Bump when eslint-plugin-react ships a release whose peer range includes ^10. Then it is a two-line change: eslint and @eslint/js to 10.x. The flat config #215 introduced is already the format eslint 10 requires, so no config work is left.

Blocks: the eslint half of any future npm-major Dependabot group.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filejavascriptPull requests that update javascript codetech-debt

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions