@edx/frontend-build attempts to utilize eslint-plugin-react-hooks (code), insofar as installing the package in its package.json file. The default ESLint config file in @edx/frontend-build extends the @edx/eslint-config package (code).
The @edx/eslint-config package in turns extends from the airbnb ESlint config (code):
// The airbnb config includes configuraton for import, react, and jsx-a11y.
// That means it's the only thing we need here. We still need to
// have those eslint-config plugins installed, though - it defines them
// as peer dependencies.
@edx/frontend-build
attempts to utilizeeslint-plugin-react-hooks
(code), insofar as installing the package in its package.json file. The default ESLint config file in@edx/frontend-build
extends the@edx/eslint-config
package (code).The
@edx/eslint-config
package in turns extends from theairbnb
ESlint config (code):~The
eslint-plugin-react-hooks
plugin also falls into this, where theairbnb
config is configuring ESLint for React hooks.~ As it turns out, theairbnb
ESLint config does not enable the hooks linting by default. To enable this, we must extend "airbnb/hooks" as well: https://github.com/airbnb/javascript/blob/fdc812a0a5773449274f7c4d473e0841eca89614/packages/eslint-config-airbnb/README.md#eslint-config-airbnbhooks