Skip to content

fix(deps): update dependency @eslint-react/eslint-plugin to v5#63

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/eslint-react-eslint-plugin-5.x
Open

fix(deps): update dependency @eslint-react/eslint-plugin to v5#63
renovate[bot] wants to merge 1 commit intomainfrom
renovate/eslint-react-eslint-plugin-5.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 29, 2026

This PR contains the following updates:

Package Change Age Confidence
@eslint-react/eslint-plugin (source) ^4.2.3^5.7.5 age confidence

Release Notes

Rel1cx/eslint-react (@​eslint-react/eslint-plugin)

v5.7.5

Compare Source

🏗️ Internal
  • Bumped @eslint/compat from 2.0.5 to 2.1.0.
  • Bumped @types/node from 25.6.0 to 25.6.2.
  • Bumped next from 16.2.5 to 16.2.6.
  • Bumped publint from 0.3.19 to 0.3.20.
  • Bumped tsdown from 0.21.10 to 0.22.0.
  • Bumped pnpm from 10.33.4 to 11.0.8.
  • Adjusted website styles.

Full Changelog: Rel1cx/eslint-react@v5.7.4...v5.7.5

v5.7.4

Compare Source

🏗️ Internal
  • Bumped @typescript-eslint packages from 8.59.1 to 8.59.2.
  • Bumped react and react-dom from 19.2.5 to 19.2.6.
  • Bumped next from 16.2.4 to 16.2.5.
  • Bumped nx from 22.7.1 to 23.0.0-canary.20260506-b594537.
  • Bumped fumadocs-core and fumadocs-ui from 16.8.5 to 16.8.7.
  • Bumped postcss from 8.5.13 to 8.5.14.
  • Bumped publint from 0.3.18 to 0.3.19.
  • Bumped pnpm from 10.33.2 to 10.33.4.

Full Changelog: Rel1cx/eslint-react@v5.7.3...v5.7.4

v5.7.3

Compare Source

🐞 Fixes
  • react-x/immutability: Exempted ref mutations via a naming heuristic — any object whose identifier is ref or ends with Ref is treated as a mutable ref and skipped from immutability checks. This fixes false positives when mutating RefObject<T> values received as props (#​1752, #​1751).
  • react-x/immutability: Added noRefLikeStateName diagnostic to prevent state variables from being named ref or ending with Ref, which would otherwise bypass the ref exemption heuristic (#​1752).
📝 Documentation
  • Fixed the full rule name in react-jsx/no-key-after-spread documentation (jsx/no-key-after-spreadjsx-no-key-after-spread) (#​1750).

Full Changelog: Rel1cx/eslint-react@v5.7.2...v5.7.3

v5.7.2

Compare Source

🐞 Fixes
  • react-x/no-unused-state: Removed the rule from the recommended preset for now (#​1747, #​1748).
📝 Documentation
  • Added individual CHANGELOG.md files for all rules (#​1746).
  • Added rule changelog links to all rule documentation pages.
  • Updated AST Explorer links in docs.
  • Various documentation cleanups.
🏗️ Internal
  • Updated baseline metrics.
  • Updated roadmap milestone labels.
  • Upgraded dprint biome plugin from 0.12.9 to 0.12.10.
  • Cleaned up snapshot generation script and snapshot file.

Full Changelog: Rel1cx/eslint-react@v5.7.1...v5.7.2

v5.7.1

Compare Source

🐞 Fixes
  • all preset: Fixed an issue where the all preset accidentally included rules requiring type information (#​1744).
📝 Documentation
  • Fixed a typo in the shared settings description.
  • Fixed missing trailing commas in ESLint settings examples.
  • Updated no-unused-state rule wording and examples.
  • Added a Resources section with AST Explorer, ESLint Developer Guide, and TypeScript Compiler API links to kit-related documentation pages.
🏗️ Internal
  • Pinned dependency versions for next and @rbxts/react.
  • Added react-compiler-fixtures-all-preset.jsonl snapshot generation.

Full Changelog: Rel1cx/eslint-react@v5.7.0...v5.7.1

v5.7.0

Compare Source

✨ New
  • react-x/no-unused-state: The rule re-added as a no-op in v5.6.6 is now fully implemented. It detects state variables declared via useState (or similar state hooks) that are defined but never read, or only read inside an effect or effect dependency array (#​1741).
📝 Documentation
  • Updated minimum version requirements in README and docs (ESLint 10.2.1, TypeScript 6.0.3, pnpm 10.33.2).
  • Fixed no-unused-state migration docs and removed rule reasons.

LTS Maintenance Mode: Starting with v5.7.0, the project has entered a Long-Term Support (LTS) maintenance mode. New feature development is temporarily on hold while the project prioritizes bug fixes, rule improvements, and documentation updates. See #​1740 for details.

Full Changelog: Rel1cx/eslint-react@v5.6.6...v5.7.0

v5.6.6

Compare Source

✨ New
  • react-x/no-unused-state: Re-add the react-x/no-unused-state rule that was removed in 5.0.0 as a no-op rule for detecting unused state in function components in a future release.

Full Changelog: Rel1cx/eslint-react@v5.6.4...v5.6.6

v5.6.4

Compare Source

✨ New
  • react-x/no-unused-class-component-members: Now flags shouldComponentUpdate methods defined in classes extending PureComponent as unused, since PureComponent implements its own shouldComponentUpdate with shallow prop and state comparison (#​1738).
📝 Documentation
  • Added jsx preset documentation to multiple rule docs.
  • Removed empty Presets sections from rule documentation.
🏗️ Internal
  • ast: Added an optional stop predicate to findParent utility for more control over ancestor traversal (#​1736).
  • Replaced skott with sentrux for architecture linting.
  • Updated sentrux rules and baseline metrics.

Full Changelog: Rel1cx/eslint-react@v5.6.3-beta.0...v5.6.4

v5.6.2

Compare Source

🐞 Fixes
  • react-x/use-memo: Fixed false positives in useMemo dependency analysis by using reference/definition analysis (#​1735).
📝 Documentation
  • Added anchor links to rule names in recipe docs.
  • Added migration overview page with sidebar entry.
  • Added naming-convention preset configuration documentation.
  • Simplified conditional formatting in custom-rules-of-state recipe.
  • Updated migration guide and added noDirectAccessProps custom rule example.
🏗️ Internal
  • Removed unused diagram components and imports.
  • Reordered redirects with comments for clarity.
  • Bumped lucide-react from 1.12.0 to 1.14.0.
  • Updated baseline-browser-mapping to 2.10.24.

Full Changelog: Rel1cx/eslint-react@v5.6.0...v5.6.2

v5.6.0

Compare Source

This release consolidates all changes since v4.2.1.

💥 Breaking Changes
Core API Refactoring (@​eslint-react/core)
  • Performed a large-scale flattening refactor of the core package's internal structure, merging modules previously scattered across subdirectories like component/, function/, hook/, semantic/, and api/ into the root directory.
  • Renamed several core APIs:
    • isReactAPIisAPI
    • isReactAPICallisAPICall
    • isInitializedFromReactisAPIFromReact
    • isInitializedFromReactNativeisAPIFromReactNative
    • ComponentDetectionHintFunctionComponentDetectionHint
    • ComponentFlagFunctionComponentFlag
    • getComponentCollectorgetFunctionComponentCollector
    • getComponentCollectorLegacygetClassComponentCollector
  • Migrated type utilities (type-is, type-name, type-variant) from eslint-plugin-react-x to @eslint-react/core.
  • Updated the Toolkit interface in @eslint-react/kit to reflect the naming changes above.
Kit API Simplification (@​eslint-react/kit)
  • Simplified RuleToolkit.is API: Removed pre-built identifier predicates (memo, lazy, forwardRef, etc.) from RuleToolkit.is. Only *Call variants and API/APICall factories are now available.
  • Renamed initialization checkers:
    • initializedFromReactAPIFromReact
    • initializedFromReactNativeAPIFromReactNative
  • Code using is.memo(node), is.lazy(node), etc. must migrate to is.memoCall(node) or use is.API("memo")(node).
Type Alias Removal
  • Removed deprecated RuleDefinition type alias: The RuleDefinition type has been completely removed from @eslint-react/kit. Use RuleFunction instead.
Removed Rules

The following rules have been removed from eslint-plugin-react-x, eslint-plugin-react-dom, and eslint-plugin-react-debug:

Rule Package Notes
component-hook-factories react-x Removed from all configs
no-redundant-should-component-update react-x Removed from all configs
no-unnecessary-use-callback react-x Removed from all configs
no-unnecessary-use-memo react-x Removed from all configs
no-unused-state react-x Removed from all configs
prefer-destructuring-assignment react-x Removed from all configs
prefer-namespace-import react-x Removed from all configs
prefer-namespace-import react-dom Removed from all configs
debug/class-component react-debug Removed from all configs
Class Component Support Deprecation
  • All Class Component-related detection functions in the core package (such as isClassComponent, isPureComponent, and various lifecycle checkers) have been marked as @deprecated, retaining only minimal compatibility support for existing rules.
  • Rules in eslint-plugin-react-web-api, including no-leaked-event-listener, no-leaked-interval, and no-leaked-timeout, have removed detection for Class Component lifecycles (componentDidMount / componentWillUnmount) and now only report on Hook Effects (useEffect, etc.).
✨ New
New Rules
  • react-x/globals: New rule for restricting usage of global variables in React components.
  • react-x/static-components: New rule for enforcing static component definitions. Enhanced with variable reference tracking and a createdHere diagnostic to reduce false positives.
  • react-web-api/no-leaked-fetch: New rule that detects leaked fetch calls in effects, closing #​1714.
Kit Enhancements
  • Added ast.findParent utility to @eslint-react/kit for traversing AST ancestors.
  • Added support for Universally Unique Lexicographically Sortable Identifiers (ULID) for anonymous rules (later migrated to node:crypto randomBytes).
Custom Rule Examples
  • Added Error Boundaries custom rule example.
  • Added boolean prop naming custom rule and documentation.
🐞 Fixes
Rule Fixes
  • react-x/error-boundaries: Fixed false positives on non-React code and resolved catch block over-reporting.
  • react-x/set-state-in-effect: Improved validation accuracy.
  • react-x/use-memo: Added reassignment check, aligned message IDs, and added support for for-of/for-in loops.
Config Fixes
  • Added missing rules to presets, cleaned up experimental disables, and updated documentation.
  • Extracted naming-convention preset and fixed config gaps.
Type Expression Fixes
  • Added missing Extract.unwrap for type expressions and chain expressions.
  • Unwrapped type expressions before inspecting AST node types.
🪄 Improvements
API & Refactoring
  • ast: Normalized API naming conventions and rewrote Check helpers.
  • ast: Renamed isJSXLikeisJSXElementOrFragment and isMethodOrPropertyisPropertyOrMethod.
  • Extracted ESLint types and utilities into the @eslint-react/eslint package.
  • Extracted @eslint-react/jsx from @eslint-react/core into a standalone utility package for static analysis of JSX patterns.
  • Migrated to @ and # path aliases and replaced tsx with vite-node.
  • Moved pattern utilities to rule directories and extracted rule helpers into co-located lib.ts modules across multiple plugins.
  • Reorganized imports across the codebase.
  • Replaced RuleConfig with Linter.RulesRecord from ESLint.
  • Restructured monorepo packages directory layout.
  • Unified import style across packages and plugins.
Core & AST Improvements
  • ast: Updated FunctionInitPath types to support method definitions and property arrow functions in class expressions.
  • ast/isNodeEqual: Fixed JSXNamespacedName comparison logic.
Rule Improvements
  • react-x/static-components: Registered in all, x, and disable-experimental configs.
  • react-rsc/function-definition: Added directive position and quote checks.
  • Extracted HOC detection helpers to dedicated lib.ts files.
Website & Documentation Improvements
  • Added LLM routes (/llms.txt, /llms-full.txt, /llms.mdx).
  • Added inline TOCs and improved navigation.
  • Enabled twoslash type-checking for code examples.
  • Improved accessibility and unified layout configuration.
Testing
  • Expanded compiler fixture coverage across 9 rules.
  • Added comprehensive unit tests for component/hook detection utilities.
Dependencies
  • Bumped TypeScript to 6.0.3.
  • Bumped Vite to ^8.0.7 in examples.
  • Bumped @typescript-eslint packages to 8.59.1.
  • Bumped tsl-dx, tsdown, fumadocs, postcss, lucide-react, eslint-plugin-package-json, and other dependencies.
📝 Documentation
  • Added custom rule recipes for React Children API, Context API, props, state, boolean prop naming, and error boundaries.
  • Added migration examples (no-set-state, no-string-refs).
  • Added IMPL vs SPEC diff documents for 5 React Compiler aligned rules.
  • Added spec documentation for validation rules.
  • Added rule feature docs.
  • Added table of contents to multiple documentation files.
  • Updated migrating-from-eslint-plugin-react guide.
  • Updated local packages docs.
  • Updated roadmap and contributing architecture diagram.
🏗️ Internal
  • Added build:plugins script and updated build path patterns.
  • Added publishConfig.access to packages and marked @local/eff as private.
  • Added documentation comments to rule scripts.
  • Added typedoc docs and engines field.
  • Extracted shared tsdown config.
  • Fixed high-priority build, lockfile, script and doc inconsistencies.
  • Removed "Naming Pattern Quick Reference" from AST abbreviations doc.
  • Removed major-release-checklist.md.
  • Removed scripts/prepare-release.ts and the accompanying prepare:release npm script.
  • Removed barrel exports for utils.
  • Removed unused dependencies and added missing devDependencies.

Full Changelog: Rel1cx/eslint-react@v4.2.1...v5.6.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eslint-config Ready Ready Preview, Comment May 8, 2026 5:55pm

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Apr 29, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from c6558df to 15fd739 Compare April 30, 2026 05:49
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from 15fd739 to a495324 Compare April 30, 2026 22:15
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from a495324 to ed7da5d Compare May 1, 2026 14:46
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from ed7da5d to f97d352 Compare May 2, 2026 01:25
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from f97d352 to 8ad41b3 Compare May 2, 2026 09:49
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from 8ad41b3 to 7878517 Compare May 2, 2026 11:29
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from 7878517 to 60d034f Compare May 4, 2026 19:44
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from 60d034f to a5c036f Compare May 6, 2026 16:55
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from a5c036f to 95bad0d Compare May 7, 2026 04:56
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x branch from 95bad0d to f5c1a6f Compare May 8, 2026 17:54
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants