Roadmap
Milestone 2.0
System Requirements
Minimum supported versions:
- Node.js: 20.19.0
- ESLint: 9.24.0
- TypeScript: 4.9.5
Package Distribution
- Publish ESM-Only packages
Plugins (with ecological niche explanation)
-
eslint-plugin-react-x- X Rules (renderer-agnostic, compatible with x-platform) -
eslint-plugin-react-dom- DOM Specific rules for React DOM -
eslint-plugin-react-web-api- Rules for interacting with Web APIs -
eslint-plugin-react-naming-convention- Naming convention rules designed for React projects - ... (Free to combine with other plugins from the community)
Add codemod feature to rules that can be transformed (using auto-fix) safely
-
no-component-did-update -
no-component-will-receive-props -
no-component-will-update -
no-context-provider -
no-forward-ref -
no-string-refs
Add auto-fix feature to rules that can be auto-fixed safely
-
function-component-definition -
prefer-namespace-import
Add suggestion-fix feature to rules that can be fixed interactively
-
dom/no-missing-button-type -
dom/no-missing-iframe-sandbox -
dom/no-unsafe-iframe-sandbox -
dom/no-unsafe-target-blank
New Rules
-
jsx-no-comment-textnodes- Disallow text nodes with comments in JSX (Replacesno-comment-textnodes) -
no-context-provider- Replaces usages of<Context.Provider>with<Context>(React 19) -
no-forward-ref- Replaces usages offorwardRefwith passingrefas a prop (React 19) -
no-use-context- Replaces usages ofuseContextwithuse(React 19) -
prefer-namespace-import- Enforces the use of namespace imports for React (Replacesprefer-react-namespace-import) -
react-dom/no-unmount-component-at-node- Replaces usages ofReactDom.unmountComponentAtNode()withroot.unmount()(React 19) -
react-dom/no-hydrate- Replaces usages ofReactDom.hydrate()withhydrateRoot()(React 19) -
react-dom/no-render- Replaces usages ofReactDom.render()withcreateRoot(node).render()(React 19) -
react-dom/no-use-form-state- Replaces the usages ofuseFormState()to useuseActionState()(React 19) -
react-dom/prefer-namespace-import- Enforces the use of namespace imports for ReactDOM -
naming-convention/context-name- Enforces context name to be a valid component name with the suffixContext(React 19) -
function-component-definition- Enforce the definition of function components (Rel1cx/eslint-react#739) -
no-circular-effect- Detect circularset(anddispatch) functions and deps patterns inuseEffectlike Hooks (Rel1cx/eslint-react#755)
Removed Plugins
-
eslint-plugin-react-hooks-extra- Extra rules foreslint-plugin-react-hooks- Merged intoeslint-plugin-react-x
Removed Rules
-
avoid-shorthand-boolean- Replaced byjsx-shorthand-boolean -
avoid-shorthand-fragment- Replaced byjsx-shorthand-fragment -
no-comment-textnodes- Replaced byjsx-no-comment-textnodes -
prefer-react-namespace-import- Replaced byprefer-namespace-import -
prefer-shorthand-boolean- Replaced byjsx-shorthand-boolean -
prefer-shorthand-fragment- Replaced byjsx-shorthand-fragment