-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit ad65fa2
chore(deps): update dependency @eslint-react/eslint-plugin to v2 (#305)
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@eslint-react/eslint-plugin](https://redirect.github.com/Rel1cx/eslint-react) ([source](https://redirect.github.com/Rel1cx/eslint-react/tree/HEAD/packages/plugins/eslint-plugin)) | [`^1.53.1` -> `^2.0.0`](https://renovatebot.com/diffs/npm/@eslint-react%2feslint-plugin/1.53.1/2.2.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@eslint-react/eslint-plugin](https://redirect.github.com/Rel1cx/eslint-react) ([source](https://redirect.github.com/Rel1cx/eslint-react/tree/HEAD/packages/plugins/eslint-plugin)) | [`^1.53.1` -> `^1.53.1 \|\| ^2.0.0`](https://renovatebot.com/diffs/npm/@eslint-react%2feslint-plugin/1.53.1/2.2.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>Rel1cx/eslint-react (@​eslint-react/eslint-plugin)</summary>
### [`v2.2.2`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v222-2025-10-14)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.2.1...v2.2.2)
##### 🐞 Fixes
- Remove remaining code in the unified plugin used for legacy config compatibility by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1277](https://redirect.github.com/Rel1cx/eslint-react/pull/1277)
**Full Changelog**: <Rel1cx/eslint-react@v2.2.1...v2.2.2>
### [`v2.2.1`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v221-2025-10-13)
##### 🪄 Improvements
- Unified plugin no longer includes the `eslint-plugin-react-debug` plugin to reduce its deps by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1276](https://redirect.github.com/Rel1cx/eslint-react/pull/1276)
- Merge `@eslint-react/kit` package into `@eslint-react/shared` package to consolidate shared utilities and reduce package fragmentation by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1275](https://redirect.github.com/Rel1cx/eslint-react/pull/1275)
**Full Changelog**: <Rel1cx/eslint-react@v2.1.1...v2.2.1>
### [`v2.1.1`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v211-2025-10-13)
##### ✨ New
- Add `strict`, `strict-typescript`, and `strict-type-checked` presets by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- Add `no-deprecated` preset to enable all rules that report deprecated React APIs by [@​Rel1cx](https://redirect.github.com/Rel1cx)
##### 🐞 Fixes
- Disallow extra properties in rule options by [@​andreww2012](https://redirect.github.com/andreww2012) in [#​1263](https://redirect.github.com/Rel1cx/eslint-react/pull/1263)
##### 🪄 Improvements
- Move some rules from `recommended` presets to `strict` presets by [@​Rel1cx](https://redirect.github.com/Rel1cx), closes [#​1262](https://redirect.github.com/Rel1cx/eslint-react/issues/1262)
- `react-x/no-unstable-context-value`
- `react-x/no-unstable-default-props`
- `react-x/no-unused-class-component-members`
- `react-x/no-unused-state`
- `react-dom/no-missing-button-type`
- `react-dom/no-missing-iframe-sandbox`
- `react-dom/no-unsafe-iframe-sandbox`
- `react-dom/no-unsafe-target-blank`
- Change `typescript` peer dependency version range from `^5.9.2` to `^5` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
### [`v2.0.6`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v206-2025-10-03)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.5...v2.0.6)
##### 🐞 Fixes
- Fix 'all' preset, closes [#​1260](https://redirect.github.com/Rel1cx/eslint-react/issues/1260) by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1261](https://redirect.github.com/Rel1cx/eslint-react/pull/1261)
**Full Changelog**: <Rel1cx/eslint-react@v2.0.5...v2.0.6>
### [`v2.0.5`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v205-2025-10-02)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.4...v2.0.5)
##### 🪄 Improvements
- Move error marker from `dangerouslySetInnerHTML` to children in `dom/no-dangerously-set-innerhtml-with-children` rule by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1256](https://redirect.github.com/Rel1cx/eslint-react/pull/1256)
- Update default React version in settings from `19.1.0` to `19.2.0` by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1259](https://redirect.github.com/Rel1cx/eslint-react/pull/1259)
**Full Changelog**: <Rel1cx/eslint-react@v2.0.4...v2.0.5>
### [`v2.0.4`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v204-2025-10-01)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.3...v2.0.4)
##### ✨ New
- Enables `naming-convention/use-state` rule in recommended presets by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1252](https://redirect.github.com/Rel1cx/eslint-react/pull/1252)
##### 🐞 Fixes
- Adds `hooks-extra/no-direct-set-state-in-use-effect` rule to recommended presets, closes [#​1251](https://redirect.github.com/Rel1cx/eslint-react/issues/1251) by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1252](https://redirect.github.com/Rel1cx/eslint-react/pull/1252)
**Full Changelog**: <Rel1cx/eslint-react@v2.0.3...v2.0.4>
### [`v2.0.3`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v203-2025-09-30)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.2...v2.0.3)
##### 🐞 Fixes
- Fix `dom/prefer-namespace-import` missing in `react-dom` plugin by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1249](https://redirect.github.com/Rel1cx/eslint-react/pull/1249)
- Fix false positive for `dom/no-missing-button-type` when specifying non-trivial expression as value of `type` attribute, closes [#​1247](https://redirect.github.com/Rel1cx/eslint-react/issues/1247) by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1250](https://redirect.github.com/Rel1cx/eslint-react/pull/1250)
**Full Changelog**: <Rel1cx/eslint-react@v2.0.2...v2.0.3>
### [`v2.0.2`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v202-2025-09-29)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.1...v2.0.2)
##### 🪄 Improvements
- Refine migration table from `eslint-plugin-react`, closes [#​1154](https://redirect.github.com/Rel1cx/eslint-react/issues/1154) by [@​outslept](https://redirect.github.com/outslept) in [#​1242](https://redirect.github.com/Rel1cx/eslint-react/pull/1242)
- Fix dead link for `hooks-extra/no-direct-set-state-in-use-layout-effect` by [@​tnir](https://redirect.github.com/tnir) in [#​1245](https://redirect.github.com/Rel1cx/eslint-react/pull/1245)
- Cleanup unused deps, closes [#​1244](https://redirect.github.com/Rel1cx/eslint-react/issues/1244) by [@​Rel1cx](https://redirect.github.com/Rel1cx), [@​outslept](https://redirect.github.com/outslept) in [#​1246](https://redirect.github.com/Rel1cx/eslint-react/pull/1246)
### [`v2.0.1`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v201-2025-09-27)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v2.0.0...v2.0.1)
##### 🐞 Fixes
- Add `ts-api-utils` to unified plugin deps, closes [#​1239](https://redirect.github.com/Rel1cx/eslint-react/issues/1239) by [@​Rel1cx](https://redirect.github.com/Rel1cx) in [#​1240](https://redirect.github.com/Rel1cx/eslint-react/pull/1240)
**Full Changelog**: <Rel1cx/eslint-react@v2.0.0...v2.0.1>
### [`v2.0.0`](https://redirect.github.com/Rel1cx/eslint-react/blob/HEAD/CHANGELOG.md#v200-2025-09-26)
[Compare Source](https://redirect.github.com/Rel1cx/eslint-react/compare/v1.53.1...v2.0.0)
##### 💥 Breaking Changes
**Target Environment Updates: Now ESM and ESLint Flat Config Only**
- Drop support for CommonJS (CJS) module format, packages are now distributed only as ECMAScript Modules (ESM)
- Drop support for ESLint legacy config system, packages now support only ESLint Flat Config (`eslint.config.js`)
- Drop support for Node.js 18, minimum required version is now Node.js 20
- Drop support for ESLint 8, minimum required version is now ESLint 9.3.6
- Drop support for TypeScript 4, minimum required version is now TypeScript 5.9.2
**Removed Rules**
| Rule | Replaced by | Reason |
| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------- | :----------- |
| `react-x/avoid-shorthand-boolean` | [`react-x/jsx-shorthand-boolean`](https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean) | consolidated |
| `react-x/avoid-shorthand-fragment` | [`react-x/jsx-shorthand-fragment`](https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment) | consolidated |
| `react-x/ensure-forward-ref-using-ref` | [`react-x/no-useless-forward-ref`](https://eslint-react.xyz/docs/rules/no-useless-forward-ref) | renamed |
| `react-x/no-duplicate-props` | [`react-x/jsx-no-duplicate-props`](https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props) | renamed |
| `react-x/no-comment-textnodes` | [`react-x/jsx-no-comment-textnodes`](https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes) | renamed |
| `react-x/no-complicated-conditional-rendering` | | discontinued |
| `react-x/no-nested-components` | [`react-x/no-nested-component-definitions`](https://eslint-react.xyz/docs/rules/no-nested-component-definitions) | renamed |
| `react-x/prefer-react-namespace-import` | [`react-x/prefer-namespace-import`](https://eslint-react.xyz/docs/rules/prefer-namespace-import) | renamed |
| `react-x/prefer-shorthand-boolean` | [`react-x/jsx-shorthand-boolean`](https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean) | consolidated |
| `react-x/prefer-shorthand-fragment` | [`react-x/jsx-shorthand-fragment`](https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment) | consolidated |
| `react-x/use-jsx-vars` | [`react-x/jsx-uses-vars`](https://eslint-react.xyz/docs/rules/jsx-uses-vars) | renamed |
| `react-dom/no-children-in-void-dom-elements` | [`react-dom/no-void-elements-with-children`](https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children) | renamed |
| `react-hooks-extra/no-direct-set-state-in-use-layout-effect` | [`react-hooks-extra/no-direct-set-state-in-use-effect`](https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect) | consolidated |
| `react-hooks-extra/no-unnecessary-use-callback` | [`react-x/no-unnecessary-use-callback`](https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback) | relocated |
| `react-hooks-extra/no-unnecessary-use-memo` | [`react-x/no-unnecessary-use-memo`](https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo) | relocated |
| `react-hooks-extra/no-unnecessary-use-prefix` | [`react-x/no-unnecessary-use-prefix`](https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix) | relocated |
| `react-hooks-extra/prefer-use-state-lazy-initialization` | [`react-x/prefer-use-state-lazy-initialization`](https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization) | relocated |
**Removed Presets**
| Preset | Replaced by | Reason |
| :-------- | :------------ | :------ |
| `core` | `x` | renamed |
| `off-dom` | `disable-dom` | renamed |
**Removed Settings**
| Setting | Replaced by | Reason |
| :--------------------- | :---------- | :----------- |
| `additionalComponents` | | discontinued |
| `additionalHooks` | | discontinued |
| `skipImportCheck` | | discontinued |
Rules previously using these settings have been refactored to use improved heuristics and no longer require manual configuration.
##### ✨ New
**Added the following new rules:**
- `react-x/jsx-shorthand-boolean`: Enforces a consistent style for boolean attributes by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/jsx-shorthand-fragment`: Enforces a consistent style for React Fragments by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-forbidden-props`: Disallows specific props on components by [@​reteps](https://redirect.github.com/reteps)
- `react-x/no-unnecessary-key`: Reports unnecessary `key` props on elements by [@​Rel1cx](https://redirect.github.com/Rel1cx), [@​kachkaev](https://redirect.github.com/kachkaev)
- `react-x/no-unused-props`: Reports unused props in components by [@​ulrichstark](https://redirect.github.com/ulrichstark)
- `react-dom/no-string-style-prop`: Disallows string values for the `style` prop by [@​Rel1cx](https://redirect.github.com/Rel1cx), [@​karlhorky](https://redirect.github.com/karlhorky)
- `react-dom/prefer-namespace-import`: Enforces using a namespace import for `react-dom` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
**Added the following new rule to the `recommended-type-checked` preset:**
- `react-x/no-unused-props`: Reports unused props in components
**The following rules now support Codemod features:**
- `react-x/no-component-did-update` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-component-will-receive-props` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-component-will-update` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-context-provider` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-forward-ref` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-x/no-string-refs` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
**The following rules now support auto-fix:**
- `react-x/no-missing-context-display-name` by [@​k-yle](https://redirect.github.com/k-yle)
**The following rules now support suggestion fixes:**
- `react-dom/no-missing-button-type` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-dom/no-missing-iframe-sandbox` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- `react-dom/no-unsafe-target-blank` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
**New configuration preset added:**
- `disable-conflict-eslint-plugin-react`: Disable rules in `eslint-plugin-react` that conflict with rules in our plugins by [@​reteps](https://redirect.github.com/reteps)
##### 🐞 Fixes
- fix(react-x/no-unnecessary-use-prefix): fix false positive of React Hooks defined within the callback function of `vi.mock(...)` in Vitest test files by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- fix(react-web-api/no-leaked-event-listener): fix `useEffect` setup function check to handle `React.useEffect()` calls correctly by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- fix(react-naming-convention/filename): fix false positive on well-known filenames like `404.tsx`, `_app.tsx`, `[slug].tsx` by [@​Rel1cx](https://redirect.github.com/Rel1cx)
##### 🪄 Improvements
- refactor: simplify React APIs detection logic by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- refactor: cleanup utilities and simplify rule implementations by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- docs: add comparison table between `eslint-plugin-react` and `eslint-react` rules by [@​reteps](https://redirect.github.com/reteps), [@​outslept](https://redirect.github.com/outslept)
- docs: replace `tseslint.config` with `defineConfig` in all examples by [@​Rel1cx](https://redirect.github.com/Rel1cx)
- build: migrate build system from `tsup` to `tsdown` for better performance by [@​Rel1cx](https://redirect.github.com/Rel1cx)
**Full Changelog**: <Rel1cx/eslint-react@v1.53.1...v2.0.0>
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Wednesday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/renovate/) using a [curated preset](https://redirect.github.com/mheob/renovate-config#readme) maintained by [mheob](https://www.github.com/mheob). View repository job log [here](https://developer.mend.io/github/mheob/config)
Co-authored-by: Alex Böhm <[email protected]>1 parent f6a1feb commit ad65fa2Copy full SHA for ad65fa2
File tree
Expand file treeCollapse file tree
3 files changed
+588
-539
lines changedOpen diff view settings
Filter options
- packages/eslint-config
Expand file treeCollapse file tree
3 files changed
+588
-539
lines changedOpen diff view settings
Collapse file
packages/eslint-config/package.json
Copy file name to clipboardExpand all lines: packages/eslint-config/package.json+9-9Lines changed: 9 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
103 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
104 | 104 | | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
109 | 109 | | |
110 | | - | |
111 | | - | |
| 110 | + | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| |||
0 commit comments