Skip to content

Update dependency @eslint-react/eslint-plugin to v5.14.1#438

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

Update dependency @eslint-react/eslint-plugin to v5.14.1#438
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/eslint-react-eslint-plugin-5.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@eslint-react/eslint-plugin (source) 5.10.05.14.1 age confidence

Release Notes

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

v5.14.1

Compare Source

🐞 Fixes
  • react-rsc/function-definition: fixed invalid async autofixes for object and class methods with local 'use server' directives, including generator and computed methods; accessors and constructors are now reported without an unsafe fix.
🏗️ Internal
  • Added behavior-boundary tests for react-rsc/function-definition, covering directive placement, export resolution, function forms, and autofix behavior.
  • Cleaned up redundant code and comments in react-rsc/function-definition and react-x/unsupported-syntax.

Full Changelog: Rel1cx/eslint-react@v5.14.0...v5.14.1

v5.14.0

Compare Source

✨ New
  • react-x/refs: added render-reachability support for function declarations, IIFEs, synchronous array callbacks, and render-time callbacks passed to useMemo and useReducer. (#​1895)
  • react-x/refs: added lazy-initialization support for explicit undefined guards and for null guards enclosing additional nested conditions. (#​1895)
🐞 Fixes
  • react-x/refs: reworked render-time call analysis as an unbounded fixed-point propagation, removing the previous 50-iteration cap. (#​1895)
  • react-x/refs: tightened inverted lazy-initialization handling so the non-null branch must unconditionally return or throw. (#​1895)
  • react-x/refs: stopped treating !ref.current as a null guard because initialized refs may contain falsy values. (#​1895)
🏗️ Internal
  • react-x/refs: refactored ref aliases, function bindings, JSX refs, and duplicate initialization tracking to use scoped ESLint variable identities and position-aware binding events instead of file-wide identifier names. (#​1895)
  • Added behavior-boundary tests for react-x/immutability and documented them in the spec diff report.
  • Updated build scripts.
  • Bumped @effect/language-service to ^0.86.5.
  • Bumped preact to ^10.29.7.
  • Bumped vite to ^8.1.4 in example apps.
  • Bumped dprint JSON plugin to ^0.23.0.

Full Changelog: Rel1cx/eslint-react@v5.13.2...v5.14.0

v5.13.2

Compare Source

🐞 Fixes
  • react-x/immutability: fixed false positive on ref.current write inside useEffect. (#​1894)
🏗️ Internal
  • Bumped @types/node to ^26.1.1.
  • Bumped preact to ^10.29.6.
  • Bumped tsdown to ^0.22.4.

Full Changelog: Rel1cx/eslint-react@v5.13.1...v5.13.2

v5.13.1

Compare Source

🐞 Fixes
  • react-x/refs: aligned error message wording for readDuringRender, writeDuringRender, and refPassedToFunction with the React Compiler specification.

Full Changelog: Rel1cx/eslint-react@v5.13.0...v5.13.1

v5.13.0

Compare Source

✨ New
  • react-x/refs now detects nested property writes on a ref's value (e.g. ref.current.inner = value), which are now reported as writeDuringRender instead of being misclassified as a read.
  • react-x/refs now tracks functions bound to (and called through) simple object-member-expression targets (e.g. object.foo = () => ref.current; object.foo();), closing a gap in the render-reachability analysis that previously only covered plain variable bindings.
  • react-x/refs now detects ref.current accesses inside the lazy initializer function passed directly as useState's first argument, since it runs synchronously during the initial render unlike other hook-callback arguments.
  • react-x/refs now exempts calls to a function named render (e.g. props.render(ref), a common render-prop pattern) from the refPassedToFunction diagnostic, alongside the existing mergeRefs/hook exemptions.
🐞 Fixes
  • Improved react-x/refs lazy-init guard-block detection so it is direction-aware: inside the branch of an if (ref.current == null)-style guard that is guaranteed to see ref.current as null, only a direct write is treated as the (single) valid initialization; reads or values passed to a function there are still reported.
🏗️ Internal
  • Refactored react-x/refs internals, replacing isRefCurrentNullCheck with getRefCurrentNullCheckBranch in lib.ts.
  • Upgraded fumadocs packages and preact.
  • Cleaned up redundant code in the react-debug/jsx rule.

Full Changelog: Rel1cx/eslint-react@v5.12.2...v5.13.0

v5.12.1

Compare Source

📝 Documentation
  • Fixed react-x/immutability rule description in docs.
🏗️ Internal
  • Cleaned up redundant code in some rules.

Full Changelog: Rel1cx/eslint-react@v5.12.0...v5.12.1

v5.12.0

Compare Source

✨ New
  • Reworked react-x/immutability to align with the React Compiler's ValidateNoFreezingKnownMutableFunctions validation pass: it now detects functions that (transitively) mutate a captured local variable and reports them when passed as a JSX prop, passed as a hook argument, or returned from a hook. (#​1891)
📝 Documentation
  • Cleaned up the rule relations table.
🏗️ Internal
  • Bumped typescript-eslint packages to ^8.63.0.
  • Bumped eslint-plugin-perfectionist to ^5.10.0.

Full Changelog: Rel1cx/eslint-react@v5.11.3...v5.12.0

v5.11.3

Compare Source

🐞 Fixes
  • Fixed FunctionComponentDetectionHint.DoNotIncludeFunctionDefinedAsClassProperty checking for object Property nodes instead of class PropertyDefinition nodes, so functions defined as class fields are now correctly excluded when the hint is set. (#​1890)
🏗️ Internal
  • Renamed fix helpers and formatted MessageID types.
  • Inlined local string constants in rule implementations.
  • Bumped eslint-plugin-jsdoc, typedoc, undici and pnpm.

Full Changelog: Rel1cx/eslint-react@v5.11.2...v5.11.3

v5.11.2

Compare Source

📝 Documentation
  • Updated rule documentation for React introspection APIs (react-x/no-children-count, react-x/no-children-for-each, react-x/no-children-map, react-x/no-children-only, react-x/no-children-to-array, and react-x/no-clone-element) with clearer guidance on why child introspection creates fragile component coupling and links to Astryx's no-react-introspection rule. (#​1889)
  • Updated the function-component collector sequence diagram on the website.
  • Updated THIRD-PARTY-LICENSE file.

Full Changelog: Rel1cx/eslint-react@v5.11.0...v5.11.2

v5.11.0

Compare Source

✨ New
  • react-x/refs now detects ref mutations/reads inside helper functions that are called (directly, or through a simple variable alias) during render, closing a gap where any nested function was previously treated as a safe boundary regardless of whether it was actually invoked during render.
  • react-x/refs now reports a second guarded ref initialization: only a single if (ref.current == null) { ref.current = ... } guarded initialization is allowed per ref per component/hook, and a second guarded write (in the same or a different if block) is reported as duplicateRefInit.
  • react-x/refs now supports .current accesses whose base is a member expression that looks like a ref (e.g. props.ref.current), not just a plain identifier.
🏗️ Internal
  • Added unit tests for packages/ast/src/check.ts.
  • Bumped @effect/language-service to ^0.86.4 and preact to ^10.29.4.
  • Refactored react-x/static-components internals without changing behavior: findVariableForIdentifier now delegates to @typescript-eslint/utils/ast-utils's findVariable instead of a hand-rolled scope-chain walk, resolveDynamicValue was split into findDynamicCreationSite and findReassignmentCreationSite, and render-boundary/JSX-candidate handling was extracted into dedicated helpers.
  • Unified the signatures of Check.isDirective and Check.isIdentifier in @eslint-react/ast: both now take the node as the first argument and an optional name as the second, replacing the previous curried (name) => (node) => boolean shape. Removed Check.isStringLiteral; use ts-pattern's isMatching or an inline type guard instead.

Full Changelog: Rel1cx/eslint-react@v5.10.4...v5.11.0

v5.10.4

Compare Source

🐞 Fixes
  • Fixed react-x/no-misused-capture-owner-stack not recognizing process.env.NODE_ENV checks wrapped in TypeScript type expressions such as (process.env as any).NODE_ENV. (#​1813)
  • Fixed Extract.getFullyQualifiedName to unwrap TSAsExpression, TSTypeAssertion, TSNonNullExpression, and ChainExpression before resolving names. This improves name resolution for rules that identify React APIs or collect component/hook names through type-wrapped expressions.

Full Changelog: Rel1cx/eslint-react@v5.10.3...v5.10.4

v5.10.3

Compare Source

🏗️ Internal
  • Bumped typescript-eslint packages to ^8.62.1.
  • Bumped @effect/language-service to ^0.86.3.
  • Bumped undici and undici-types to ^8.6.0.
  • Updated the @eslint-react/eslint-plugin package description.

Full Changelog: Rel1cx/eslint-react@v5.10.2...v5.10.3

v5.10.2

Compare Source

🐞 Fixes
  • Fixed an issue where several rules treated computed identifier keys in spread props (e.g. <div {...{ [key]: value }} />) as static prop names. The actual property name is the runtime value of the variable; computed string literal keys are still recognized. Affected rules:
    • react-x/no-missing-key
    • react-jsx/no-children-prop-with-children
    • react-jsx/no-children-prop
    • react-jsx/no-useless-fragment
    • react-dom/no-dangerously-set-innerhtml-with-children
    • react-dom/no-dangerously-set-innerhtml
    • react-dom/no-missing-button-type
    • react-dom/no-missing-iframe-sandbox
    • react-dom/no-string-style-prop
    • react-dom/no-unsafe-iframe-sandbox
    • react-dom/no-unsafe-target-blank
    • react-dom/no-void-elements-with-children
    • react-web-api/no-leaked-event-listener
    • react-web-api/no-leaked-fetch
  • Fixed react-x/unsupported-syntax to no longer report IIFEs in JSX. This makes the rule consistent with the upstream react-hooks/unsupported-syntax and removes the iife message.
✨ New
  • react-x/unsupported-syntax now detects eval calls via globalThis.eval, globalThis["eval"], and type assertions like (globalThis as any).eval.
🏗️ Internal
  • Added an optional resolve parameter to Extract.getPropertyName so callers can control how identifier and private identifier property names are resolved.
  • Added unit tests for Extract.getPropertyName.

Full Changelog: Rel1cx/eslint-react@v5.10.1...v5.10.2

v5.10.1

Compare Source

🐞 Fixes
  • Added the missing static-components rule to disable-conflict-eslint-plugin-react-hooks, closes #​1884.
📝 Documentation
  • Rewrote the noCircularEffect recipe sample to use @eslint-react/kit collectors and simpleTraverse, and updated the recipe overview accordingly.
  • Removed the under construction brand assets page from the website.
🏗️ Internal
  • Bumped typescript-eslint, @types/node, vite, and tailwindcss.
  • Bumped fumadocs, lucide-react, and postcss in the website.

Full Changelog: Rel1cx/eslint-react@v5.10.0...v5.10.1


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.

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Jul 5, 2026
@renovate renovate Bot assigned gjong Jul 5, 2026
@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 9.49% 309 / 3253
🔵 Statements 9.27% 324 / 3492
🔵 Functions 6% 97 / 1616
🔵 Branches 7.76% 114 / 1468
File CoverageNo changed files found.
Generated in workflow #1814 for commit 08ef6a6 by the Vitest Coverage Report Action

@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 23043d1 to 8f5939d Compare July 5, 2026 12:53
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.11.0 Update dependency @eslint-react/eslint-plugin to v5.11.2 Jul 5, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 8f5939d to 0965648 Compare July 7, 2026 09:48
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.11.2 Update dependency @eslint-react/eslint-plugin to v5.11.3 Jul 7, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 0965648 to 95b370d Compare July 8, 2026 09:17
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.11.3 Update dependency @eslint-react/eslint-plugin to v5.12.0 Jul 8, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 95b370d to e9e937a Compare July 8, 2026 13:47
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.12.0 Update dependency @eslint-react/eslint-plugin to v5.12.1 Jul 8, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from e9e937a to 902956c Compare July 9, 2026 05:33
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.12.1 Update dependency @eslint-react/eslint-plugin to v5.13.1 Jul 9, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 902956c to 2d36ad7 Compare July 9, 2026 19:07
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.13.1 Update dependency @eslint-react/eslint-plugin to v5.13.2 Jul 9, 2026
@renovate renovate Bot force-pushed the renovate/eslint-react-eslint-plugin-5.x-lockfile branch from 2d36ad7 to 08ef6a6 Compare July 10, 2026 18:51
@renovate renovate Bot changed the title Update dependency @eslint-react/eslint-plugin to v5.13.2 Update dependency @eslint-react/eslint-plugin to v5.14.1 Jul 10, 2026
@sonarqubecloud

Copy link
Copy Markdown

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.

1 participant