Skip to content

build: stop declaring eslint-plugin-react directly - #829

Merged
cigamit merged 1 commit into
ctrliq:mainfrom
blaipr:build/drop-eslint-plugin-react
Sep 7, 2026
Merged

cigamit merged 1 commit into
ctrliq:mainfrom
blaipr:build/drop-eslint-plugin-react

Conversation

@blaipr

@blaipr blaipr commented Sep 6, 2026

Copy link
Copy Markdown
Contributor
SUMMARY

eslint.config.mjs is a flat config and never registers this plugin itself. It takes airbnbPlugins.react, airbnbPlugins.reactHooks and airbnbPlugins.reactA11y from eslint-config-airbnb-extended, which carries eslint-plugin-react as a regular dependency at ^7.37.5.

The direct entry also pinned it exactly at 7.37.5 while airbnb asks for a range, so it was a second and narrower constraint on a package the config does not name. Resolution is unchanged: 7.37.5 is still the newest release satisfying ^7.37.5, so node_modules is identical.

ISSUE TYPE
  • Bug, Docs Fix or other nominal change
COMPONENT NAME
  • UI
ADDITIONAL INFORMATION

This does not move the ESLint 10 ceiling, and it is worth being clear about that since the plugin is listed among the cappers. The binding constraint is eslint-config-airbnb-extended's own peer on eslint: ^9.0.0. The plugins sit downstream of it, so neither removing nor bumping them lifts anything; only an ESLint 10 compatible airbnb-extended will.

Verified by linting, which is the step that resolves plugins:

  • make ui-lint: clean over the whole of src/.
  • make ui-test-general: 1038 tests, all passing.
  • make ui-test-screens: 1941 tests, all passing.

eslint-plugin-react-hooks is the same case and sits on the adjacent line, so the two will conflict with each other; whichever merges second wants a one line resolution keeping both removals.

eslint.config.mjs is a flat config and does not register this plugin itself.
It takes airbnbPlugins.react, airbnbPlugins.reactHooks and
airbnbPlugins.reactA11y from eslint-config-airbnb-extended, which carries
eslint-plugin-react as a regular dependency at ^7.37.5.

The direct entry pinned it exactly at 7.37.5 while airbnb asks for a range,
so the declaration was also a second, narrower constraint on a package the
config never names. Resolution is unchanged: 7.37.5 is still the newest
release satisfying ^7.37.5, so node_modules is identical.

This does not move the ESLint 10 ceiling. That comes from
eslint-config-airbnb-extended's own peer on eslint ^9.0.0, which no change to
the plugin declarations can lift.

Verified by linting, the step that resolves plugins.
@cigamit cigamit self-assigned this Sep 7, 2026
@cigamit cigamit added the dependencies Pull requests that update a dependency file label Sep 7, 2026
@cigamit
cigamit merged commit a138274 into ctrliq:main Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Development

Successfully merging this pull request may close these issues.

2 participants