[Roadmap] Milestone 2.0
Milestone 2.0
System Requirements
Minimum supported versions:
- [x] Node.js: 20.19.0
- [x] ESLint: 9.24.0
- [x] TypeScript: 4.9.5
Package Distribution
- [x] Publish ESM-Only packages
Plugins (with ecological niche explanation)
- [x]
eslint-plugin-react-x- Core rules (renderer-agnostic, compatible with x-platform) - [x]
eslint-plugin-react-dom- DOM Specific rules for React DOM - [x]
eslint-plugin-react-web-api- Rules for interacting with Web APIs - [x]
eslint-plugin-react-hooks-extra- Extra rules foreslint-plugin-react-hooks - [x]
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
- [x]
no-component-did-update - [x]
no-component-will-receive-props - [x]
no-component-will-update - [x]
no-context-provider - [x]
no-forward-ref - [x] #1044
Add auto-fix feature to rules that can be auto-fixed safely
- [ ] #900
- [x] #899
- [x] #898
- [x]
prefer-react-namespace-import - [x]
prefer-shorthand-boolean
Add suggestion-fix feature to rules that can be fixed interactively
- [ ]
no-prop-types - [ ]
no-redundant-should-component-update - [ ]
no-unused-class-component-members - [ ]
no-unused-state - [ ]
dom/no-missing-button-type - [ ]
dom/no-missing-iframe-sandbox - [ ]
dom/no-unsafe-iframe-sandbox - [ ]
dom/no-unsafe-target-blank
New Rules
- [x]
jsx-no-comment-textnodes- Disallow text nodes with comments in JSX (Replacesno-comment-textnodes) - [x]
jsx-shorthand-boolean- Enforces shorthand boolean attributes in JSX (Replacesprefer-shorthand-boolean) - [x]
jsx-shorthand-fragment- Enforces shorthand fragment syntax in JSX (Replacesprefer-shorthand-fragment) - [x]
no-context-provider- Replaces usages of<Context.Provider>with<Context>(React 19) - [x]
no-forward-ref- Replaces usages offorwardRefwith passingrefas a prop (React 19) - [x]
no-use-context- Replaces usages ofuseContextwithuse(React 19) - [x] #972
- [x] #973
- [ ] #974
- [x] #976
- [ ] #977
- [x]
react-dom/prefer-namespace-import- Enforces the use of namespace imports for ReactDOM - [x]
naming-convention/context-name- Enforces context name to be a valid component name with the suffixContext(React 19) - [ ] #901
- [ ]
hooks-extra/no-circular-effect- Detect circularset(anddispatch) functions and deps patterns inuseEffectlike Hooks (Rel1cx/eslint-react#755)
Removed Rules
- [x]
no-comment-textnodes- Replaced byjsx-no-comment-textnodes - [x]
prefer-react-namespace-import- Replaced byprefer-namespace-import - [x]
prefer-shorthand-boolean- Replaced byjsx-shorthand-boolean - [x]
prefer-shorthand-fragment- Replaced byjsx-shorthand-fragment
Versioning Policy
- [ ] The versioning policy will be updated to follow the Semantic Versioning 2.0.0 and ESLint's Semantic Versioning Policy
- eslint-plugin-react-dom-a11y
Exciting! Maybe this could be considered a replacement for eslint-plugin-jsx-a11y? Would be great to be able to move off of this plugin too.
If this fits the goals of the ESLint React project, maybe it would also be good to consider additional rules from the eslint-plugin-jsx-a11y rules
- eslint-plugin-react-dom-a11y
Exciting! Maybe this could be considered a replacement for
eslint-plugin-jsx-a11y? Would be great to be able to move off of this plugin too.If this fits the goals of the ESLint React project, maybe it would also be good to consider additional rules from the
eslint-plugin-jsx-a11yrules
The e18e community has launched a new plugin eslint-plugin-jsx-a11y-x, which seems to meet the need for a replacement for eslint-plugin-jsx-a11y. As for eslint-react, if needed, we may consider continuing to migrate Svelte's Accessibility warnings as an alternative, but the priority will be lower.
Hi! Recently, I've been migrating from eslint-plugin-react to @eslint-react/eslint-plugin and find its rules very useful. However, I've noticed that that they don't seem to support fixable. Are there any plans to add fixable support in future updates?
Hi! Recently, I've been migrating from
eslint-plugin-reactto@eslint-react/eslint-pluginand find its rules very useful. However, I've noticed that that they don't seem to support fixable. Are there any plans to add fixable support in future updates?
Thank you for trying out this new ESLint plugin. In fact, we are in the process of adding fixable support, so please follow the updates in the recent versions.