Skip to content

build(deps): update dependency @eslint-react/kit to v5.18.6 - #14723

Merged
jcfranco merged 1 commit into
devfrom
renovate/eslint-react-kit-5.x
Aug 31, 2026
Merged

jcfranco merged 1 commit into
devfrom
renovate/eslint-react-kit-5.x

Conversation

@renovate

@renovate renovate Bot commented Jun 30, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@eslint-react/kit (source) 5.9.2 → 5.18.6 age confidence

Release Notes

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

v5.18.6

Compare Source

🏗️ Internal
  • @eslint-react/core: added createElement helper APIs (getCreateElementChildrenArguments, getCreateElementProp, getCreateElementPropsObject, getCreateElementTypeArgument, isCreateElementChildrenArgument, and isInsideCreateElementProps) and reused them in react-x/no-children-prop-with-children, react-x/no-children-prop, react-x/no-array-index-key, and react-x/no-nested-component-definitions. (#​1937)

Full Changelog: Rel1cx/eslint-react@v5.18.5...v5.18.6

v5.18.5

Compare Source

📝 Documentation
  • react-jsx/no-leaked-dollar: corrected the full rule name in the documentation from @eslint-react/no-leaked-dollar to @eslint-react/jsx-no-leaked-dollar. (#​1935)
🏗️ Internal
  • @eslint-react/core: simplified function component detection logic.
  • @eslint-react/core: added missing test cases for API exports, nested HOC init paths, named callback exclusion, displayName collection, indirect cleanup callbacks, and custom createElement heuristics.
  • Added a script check that verifies rule docs include correct full name sections.
  • Bumped typescript-eslint to 8.67.0, eslint-plugin-package-json to 1.7.1, and globals to 17.10.0.

Full Changelog: Rel1cx/eslint-react@v5.18.4...v5.18.5

v5.18.4

Compare Source

🐞 Fixes
  • react-x/no-class-component: reports are now located on the class name (falling back to the class token for anonymous classes) instead of the entire class declaration. (#​1934, closes #​1932)
🏗️ Internal
  • Bumped eslint to 10.8.1, @types/node to 26.2.0, eslint-plugin-package-json to 1.7.0, eslint-plugin-react-refresh to 0.5.4, fumadocs to 16.14.3, fumadocs-mdx to 15.2.3, lucide-react to 1.31.0, postcss to 8.5.26, and pnpm to 11.21.0.
New Contributors

Full Changelog: Rel1cx/eslint-react@v5.18.3...v5.18.4

v5.18.3

Compare Source

🐞 Fixes
  • react-x/no-nested-component-definitions: narrowed the with* HOC detection in the fallback name resolution to well-known wrappers only (react-router v5's withRouter, Formik's withFormik, and recompose's withProps, withState, withHandlers, and withLifecycle) — custom HOCs following the with* naming convention are no longer treated as component wrappers. (#​1929)
🏗️ Internal
  • Bumped typescript-eslint to 8.66.0 and next to 16.3.0.

Full Changelog: Rel1cx/eslint-react@v5.18.2...v5.18.3

v5.18.2

Compare Source

🐞 Fixes
  • react-x/no-nested-component-definitions: fixed a regression where nested components wrapped in useCallback (e.g. const C = useCallback(() => <div />, []);) were no longer reported — the rule now resolves the component name through well-known component wrappers (memo, forwardRef, useCallback, observer, react-redux's connect, Relay's create*Container helpers, Apollo's graphql, and with* HOCs, including curried forms like connect(...)(Component)) up to the enclosing variable declarator, and no longer misreports array method callbacks (flatMap, forEach, reduce, etc.) in list rendering patterns. (#​1928, closes #​1927)
🏗️ Internal
  • Bumped effect to 3.22.1, eslint-plugin-jsdoc to 63.3.3, textlint to 15.8.0, js-yaml to 4.3.1, axios to 1.19.0, nx to 23.1.1, vite to 8.2.0, @vitejs/plugin-react to 6.0.5, fumadocs to 16.14.0, fumadocs-mdx to 15.2.2, preact to 10.29.8, globals to 17.9.0, lucide-react to 1.28.0, @types/react to 19.2.18, @types/react-dom to 19.2.4, and pnpm to 11.20.0.

Full Changelog: Rel1cx/eslint-react@v5.18.1...v5.18.2

v5.18.1

Compare Source

📝 Documentation
  • Documented the additionalRefHooks shared setting in the affected rule docs.
🏗️ Internal
  • @eslint-react/ast: added Traverse.findEnclosingTryBlock, extracted from react-x/error-boundaries.
  • Replaced @eslint/compat with @eslint/config-helpers.
  • Bumped eslint to 10.8.0, eslint-plugin-jsdoc to 63.3.2, tsdown to 0.22.14, next to 16.2.12, fumadocs to 16.13.0, postcss to 8.5.25, and pnpm to 11.18.0.

Full Changelog: Rel1cx/eslint-react@v5.18.0...v5.18.1

v5.18.0

Compare Source

✨ New
  • @eslint-react/core: added isUseRefLikeCall and a new additionalRefHooks setting for declaring custom ref-creating hooks; the following rules now recognize them: (#​1922, closes #​1904)
    • react-x/refs
    • react-x/immutability
    • react-x/set-state-in-effect
    • react-naming-convention/ref-name
    • react-debug/is-from-ref
📝 Documentation
  • Updated rule docs to match current rule sources. (#​1920)
🏗️ Internal
  • @local/testkit: simplified internals.
  • react-x: extracted a shared createImplicitPropListener helper used by no-implicit-children, no-implicit-key, and no-implicit-ref. (#​1923)
  • Bumped tsdown to 0.22.13, typescript-eslint to 8.65.0, eslint-plugin-jsdoc to 63.2.0, import-integrity-lint to 1.2.0, react to 19.2.8, next to 16.2.11, and postcss to 8.5.21.
  • Replaced vite-node with nub for running workspace scripts. (#​1919)
  • Unified JSDoc comment style of exported APIs in @eslint-react/ast and @eslint-react/core.

Full Changelog: Rel1cx/eslint-react@v5.17.3...v5.18.0

v5.17.3

Compare Source

🏗️ Internal
  • @eslint-react/ast: reworked the Extract API — replaced getRootIdentifier with the position-based getIdentifierAt, renamed getStaticPropertyName to getPropertyName (with a min/max effort option), and added findProperty for finding properties in nested object expressions; added Check.isConditional for matching conditional expressions and control flow statements. (#​1918)
  • Bumped eslint-plugin-jsdoc to 63.1.0, expect-type to 1.4.0, @preact/preset-vite to 2.10.6, and pnpm to 11.15.0.

Full Changelog: Rel1cx/eslint-react@v5.17.2...v5.17.3

v5.17.2

Compare Source

📝 Documentation
  • @eslint-react/kit: added a README with quick start and API overview.
🏗️ Internal
  • @eslint-react/core: migrated JsxDetectionHint and related JSX detection helpers from @eslint-react/jsx. (#​1913)
  • @eslint-react/jsx: consolidated helpers into focused attribute, children, element, and text modules. (#​1914)
  • @eslint-react/var: renamed computeObjectType to resolveObjectType.
  • @local/testkit: extracted shared test helpers into a new local package. (#​1915)
  • Bumped tsdown to 0.22.9, eslint-plugin-jsdoc to 63.0.14, and pnpm to 11.13.1.

Full Changelog: Rel1cx/eslint-react@v5.17.1...v5.17.2

v5.17.1

Compare Source

🏗️ Internal
  • react-jsx/no-key-after-spread: reworked the attribute scan to a pipeline style using dropWhile and not from @local/eff, Check.is from @eslint-react/ast, and the new isAttribute helper from @eslint-react/jsx. (#​1912)
  • @eslint-react/jsx: added isAttribute for matching JSX attributes by name.
  • @local/eff: added dropWhile and takeWhile.
  • Bumped tsdown to 0.22.8, tsl-dx to 0.13.3, import-integrity-lint to 1.1.4, fumadocs to 16.11.5, and fumadocs-mdx to 15.2.0.

Full Changelog: Rel1cx/eslint-react@v5.17.0...v5.17.1

v5.17.0

Compare Source

🐞 Fixes
  • react-jsx/no-leaked-dollar: the intentional-$ exemption (e.g. <div>${price}</div>) is no longer defeated by surrounding whitespace or empty siblings — a lone $ before a single expression is now allowed whenever all other siblings are non-substantive. (#​1911)
  • react-jsx/no-leaked-semicolon: consecutive leaked semicolons (e.g. ;;) at the start of a JSX text node are now detected. (#​1911)
📝 Documentation
  • react-x/no-unnecessary-use-prefix: reorganized the rule examples.
🏗️ Internal
  • react-jsx: extracted the shared find-create-element-children-prop and remove-jsx-attribute rule helpers, removed dead Literal visitors from no-comment-textnodes and no-leaked-semicolon, simplified the no-key-after-spread attribute scan, and hoisted no-useless-fragment detection and fix helpers to module level. (#​1911)
  • @local/eff: synced the Function module with effect and added missing @category tags.
  • Unified JSDoc comment style across packages.

Full Changelog: Rel1cx/eslint-react@v5.16.1...v5.17.0

v5.16.1

Compare Source

🐞 Fixes
  • react-jsx/no-children-prop: React.createElement calls whose props argument is wrapped in a TypeScript type assertion (e.g. { children: "x" } as Props) are now reported; computed property keys written as template literals (e.g. { [children]: "x" }) are now recognized as the children prop; fixed a false positive where a computed identifier key in a createElement props object (e.g. { [propName]: "Children" }) was treated as the static children prop; the suggestion fix now escapes JSX-sensitive characters (<, >, {, }, &) when moving a string children prop value into element content. (#​1910)
  • react-jsx/no-children-prop-with-children: same createElement edge-case fixes as no-children-prop. (#​1910)
  • react-jsx/no-useless-fragment: allowExpressions: false now only flags fragments with a single expression child, matching the option's documented behavior, instead of flagging any fragment inside a JSX element; fragments with spread attributes (e.g. <Fragment {...props}>) are no longer auto-fixed; the auto-fixer now removes leading indentation when collapsing whitespace-only fragments. (#​1910)
  • react-jsx/no-leaked-dollar: $ character references (&#&#8203;36;, &#x24;) are no longer treated as leaked dollar signs; only a literal $ in the source is reported. (#​1910)
  • react-jsx/no-leaked-semicolon: leaked semicolons followed by spaces or tabs before a newline, including CRLF line endings, are now detected. (#​1910)
  • react-x/immutability: added useHistory to known navigation hooks, so navigation methods such as .push() are not treated as in-place mutations inside frozen callbacks.
🏗️ Internal
  • @eslint-react/ast: added Extract.getStaticPropertyName for resolving static property names from object properties. (#​1910)

Full Changelog: Rel1cx/eslint-react@v5.16.0...v5.16.1

v5.16.0

Compare Source

✨ New
  • @eslint-react/core: added support for hook calls written as tagged template literals. (#​1909)

    const x = useMotionValue(100);
    const transform = useMotionTemplate`transform(${x}px)`;
    //                ^^^ tagged template literal hook call
  • @eslint-react/jsx: findAttribute now resolves nested spread identifiers and nested object expression spreads. (#​1908)

🏗️ Internal
  • Added tests and per-rule changelogs for tagged template literal hook calls. (#​1909)

Full Changelog: Rel1cx/eslint-react@v5.15.0...v5.16.0

v5.15.0

Compare Source

📝 Documentation
  • Added a FAQ entry on improving analyzer accuracy to the website. (#​1907)
  • Fixed inconsistencies and omissions in internal documentation.
🏗️ Internal
  • Bumped typescript-eslint to 8.64.0, nx to 23.1.0, eslint-plugin-package-json to 1.6.0, and pnpm to 11.13.0.
  • Enabled strictBooleanExpressions in TSL and synchronized sample rule configurations. (#​1907)
  • Removed the website-specific changelog file.
  • Switched CI workflows to use pnpm/action-setup instead of installing pnpm globally via npm.

Full Changelog: Rel1cx/eslint-react@v5.14.10...v5.15.0

v5.14.10

Compare Source

🐞 Fixes
  • @eslint-react/ast: Extract.getCalleeName now returns null for computed member expressions (e.g. obj[foo](), obj["foo"](), obj[foo]()) instead of the property name, so callers don't treat dynamically chosen methods as static method names. (#​1906)
🏗️ Internal
  • Added unit tests for Extract.getCalleeName.

Full Changelog: Rel1cx/eslint-react@v5.14.9...v5.14.10

v5.14.9

Compare Source

🐞 Fixes
  • @eslint-react/ast: removed Extract.getPropertyName and added Extract.getCalleeName for simpler callee name resolution. (#​1905)
  • Rules that match calls by method name no longer treat computed string-literal property access as a static match (e.g. obj["foo"]() is no longer resolved to "foo"). This avoids relying on the runtime value of computed keys and aligns callee matching across the codebase. Affected rules:
    • react-dom/no-dangerously-set-innerhtml
    • react-dom/no-find-dom-node
    • react-dom/no-flush-sync
    • react-web-api/no-leaked-event-listener
    • react-web-api/no-leaked-fetch
    • react-x/globals
    • react-x/immutability
  • core.isJsxLike: no longer treats React['createElement'] calls as JSX-like, since the callee is accessed through a computed member expression.
🏗️ Internal
  • Simplified callee name checks across core, react-dom, react-web-api, and react-x rules using Extract.getCalleeName.
  • Bumped @effect/platform, effect, fumadocs-core, fumadocs-mdx, fumadocs-ui, postcss, pnpm, and tsdown.

Full Changelog: Rel1cx/eslint-react@v5.14.8...v5.14.9

v5.14.8

Compare Source

📝 Documentation
  • react-x: refreshed the React Compiler diff reports. (#​1903)
🏗️ Internal
  • react-x: moved the purity and refs resolvers into lib.ts. (#​1902)
  • Bumped tsdown, postcss, and fumadocs.

Full Changelog: Rel1cx/eslint-react@v5.14.7...v5.14.8

v5.14.7

Compare Source

🐞 Fixes
  • react-x/immutability: ignore navigation hook methods (e.g. useNavigate, useNavigation) as mutations. (#​1901)
🏗️ Internal
  • Refreshed pnpm lockfile.

Full Changelog: Rel1cx/eslint-react@v5.14.6...v5.14.7

v5.14.6

Compare Source

🐞 Fixes
  • react-x/immutability: ignore useRouter() navigation methods (e.g. .push()) as mutations when they appear inside frozen callbacks; aliases created through variable declarators are also recognized. (#​1898)
🏗️ Internal
  • Added Check.isExpression to @eslint-react/ast along with unit tests.
  • Bumped eslint, nx, dompurify, and pnpm.
  • Restored standalone quality workflows.
  • Simplified react-x/immutability analysis helpers by sharing initializer provenance checks for useRef() and useRouter() and using AST parent traversal for function-boundary detection.
  • Started running CI tests on Node.js 26.

Full Changelog: Rel1cx/eslint-react@v5.14.5...v5.14.6

v5.14.5

Compare Source

📝 Documentation
  • Temporarily disabled the Bluesky embed on the community page to avoid API rate limits.
🏗️ Internal
  • Consolidated the check:configs and check:docs scripts into a single check:rules script.

Full Changelog: Rel1cx/eslint-react@v5.14.4...v5.14.5

v5.14.2

Compare Source

🐞 Fixes
  • react-x/globals: added detection for global writes through destructuring assignments and property deletion with delete. (#​1896)
  • react-x/globals: propagated render-time global mutation effects through directly called helpers and stable local aliases. (#​1896)
🏗️ Internal
  • Expanded behavior-boundary coverage for react-debug component and source detection, react-naming-convention naming rules, and react-x/immutability React Compiler fixtures.
  • Strengthened documentation verification and added formatting, configuration, architecture, MDX, website type, and production build checks to CI.
  • Gated publishing on the check, test, and workflow security jobs, including for application, example, and configuration changes.

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

v5.14.1

Compare Source

🐞 Fixes
  • @eslint-react/ast: Extract.getCalleeName now returns null for computed member expressions (e.g. obj[foo](), obj["foo"](), obj[foo]()) instead of the property name, so callers don't treat dynamically chosen methods as static method names. (#​1906)
🏗️ Internal
  • Added unit tests for Extract.getCalleeName.

Full Changelog: Rel1cx/eslint-react@v5.14.9...v5.14.10

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

v5.10.0

Compare Source

📝 Documentation
  • Added status emoji markers to recipe and rule documentation code examples (#​1882).
  • Fixed the v5.7.2 changelog entry for react-x/no-unused-state.
  • Updated the community projects list.
🏗️ Internal
  • Bumped eslint to ^10.6.0.
  • Bumped js-yaml workspace override to ^4.3.0.

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

v5.9.5

Compare Source

🐞 Fixes
  • Compare.isEqual now recognizes structurally identical CallExpression nodes. This fixes false positives in the following rules when the compared target (event target, controller, or observed element) is derived from a function call such as window.matchMedia('…') or getEl():
    • react-web-api/no-leaked-event-listener
    • react-web-api/no-leaked-fetch
    • react-web-api/no-leaked-resize-observer
    • react-web-api/no-leaked-intersection-observer

Full Changelog: Rel1cx/eslint-react@v5.9.4...v5.9.5

v5.9.4

Compare Source

🐞 Fixes
  • The following rules now detect member expression calls made with computed string property access (e.g. obj["foo"]()):
    • react-x/no-array-index-key
    • react-x/no-duplicate-key
    • react-x/no-unnecessary-use-prefix
    • react-x/set-state-in-effect
    • react-x/set-state-in-render
    • react-dom/no-find-dom-node
    • react-dom/no-flush-sync
    • react-dom/no-hydrate
    • react-dom/no-render
    • react-dom/no-render-return-value
    • react-dom/no-use-form-state
    • react-web-api/no-leaked-fetch
📝 Documentation
  • Updated the community page and project list.
🏗️ Internal
  • Unified member expression property name checks with Extract.getPropertyName (#​1881).
  • Updated dependencies and switched postinstall to prepare.

Full Changelog: Rel1cx/eslint-react@v5.9.3...v5.9.4

v5.9.3

Compare Source

🐞 Fixes
  • ast: Corrected the TSESTreeJSX union and handling of computed member expressions (#​1877).
  • jsx: Handled namespaced host elements and cleaned up the spread child API (#​1876).
📝 Documentation
  • Refined the rule feature system docs and renamed the term-based patterns document.
  • Renamed import-paths.md to repo-path-aliases.md.
  • Updated JSX type aliases and unwrap documentation.
🏗️ Internal
  • Aligned RuleContext imports in the kit package.
  • Bumped typescript-eslint packages to ^8.62.0 and related dependencies.
  • Renamed scripts with numeric prefixes and renamed verify-* scripts to check-*.
  • Replaced pnpm run with node --run across scripts (#​1879).
  • Replaced the website brand component with an inline logo SVG.
  • Restructured the test directory and added integration tests (#​1880).
  • Updated nx to ^23.0.1 and pnpm to 11.9.0.

Full Changelog: Rel1cx/eslint-react@v5.9.2...v5.9.3


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

@renovate
renovate Bot requested review from benelan and jcfranco as code owners June 30, 2026 08:03
@renovate renovate Bot added chore Issues with changes that don't modify src or test files. dependencies Pull requests that update a dependency file labels Jun 30, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 6fa7998 to 4705e48 Compare July 1, 2026 09:34
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.9.5 build(deps): update dependency @eslint-react/kit to v5.10.0 Jul 1, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 4705e48 to 94d255a Compare July 5, 2026 18:07
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.10.0 build(deps): update dependency @eslint-react/kit to v5.10.1 Jul 5, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 94d255a to 6aaa858 Compare July 6, 2026 08:07
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.10.1 build(deps): update dependency @eslint-react/kit to v5.10.2 Jul 6, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 6aaa858 to 4f32b52 Compare July 7, 2026 04:15
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.10.2 build(deps): update dependency @eslint-react/kit to v5.10.3 Jul 7, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 4f32b52 to 100f2ca Compare July 7, 2026 13:50
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.10.3 build(deps): update dependency @eslint-react/kit to v5.10.4 Jul 7, 2026
@jcfranco jcfranco added the skip visual snapshots Pull requests that do not need visual regression testing. label Jul 8, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 100f2ca to fa4dbff Compare July 8, 2026 10:29
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.10.4 build(deps): update dependency @eslint-react/kit to v5.11.0 Jul 8, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from fa4dbff to 3d900c7 Compare July 8, 2026 12:41
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.11.0 build(deps): update dependency @eslint-react/kit to v5.11.2 Jul 8, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 3d900c7 to 6314bc9 Compare July 10, 2026 05:38
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.11.2 build(deps): update dependency @eslint-react/kit to v5.11.3 Jul 10, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 6314bc9 to d5cff90 Compare July 11, 2026 10:11
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.11.3 build(deps): update dependency @eslint-react/kit to v5.12.0 Jul 11, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from d5cff90 to 65553d3 Compare July 11, 2026 13:10
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.12.0 build(deps): update dependency @eslint-react/kit to v5.12.1 Jul 11, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 65553d3 to f7d69ff Compare July 12, 2026 04:46
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.12.1 build(deps): update dependency @eslint-react/kit to v5.13.1 Jul 12, 2026
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.13.1 build(deps): update dependency @eslint-react/kit to v5.13.2 Jul 12, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from f7d69ff to 33c1bb3 Compare July 12, 2026 19:13
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.14.7 build(deps): update dependency @eslint-react/kit to v5.16.1 Jul 19, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from d8111a3 to d7b0b77 Compare July 20, 2026 05:45
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.16.1 build(deps): update dependency @eslint-react/kit to v5.17.0 Jul 20, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from d7b0b77 to b534f5d Compare July 20, 2026 11:22
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.17.0 build(deps): update dependency @eslint-react/kit to v5.17.1 Jul 20, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch 2 times, most recently from 7dd795a to 26edc62 Compare July 22, 2026 17:14
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.17.1 build(deps): update dependency @eslint-react/kit to v5.17.2 Jul 22, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 26edc62 to 35fd549 Compare July 23, 2026 09:49
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.17.2 build(deps): update dependency @eslint-react/kit to v5.17.3 Jul 23, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch 2 times, most recently from f96b4ce to 94bffe0 Compare July 25, 2026 21:43
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.17.3 build(deps): update dependency @eslint-react/kit to v5.18.0 Jul 25, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch 3 times, most recently from 1615226 to 4bd0f60 Compare August 2, 2026 18:14
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.18.0 build(deps): update dependency @eslint-react/kit to v5.18.1 Aug 2, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from 4bd0f60 to c104ab6 Compare August 7, 2026 17:47
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.18.1 build(deps): update dependency @eslint-react/kit to v5.18.2 Aug 7, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from c104ab6 to 485da97 Compare August 9, 2026 09:13
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.18.2 build(deps): update dependency @eslint-react/kit to v5.18.3 Aug 9, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch 3 times, most recently from f4efb07 to a3ee0b4 Compare August 14, 2026 23:59
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.18.3 build(deps): update dependency @eslint-react/kit to v5.18.4 Aug 14, 2026
@renovate
renovate Bot force-pushed the renovate/eslint-react-kit-5.x branch from a3ee0b4 to a75b774 Compare August 16, 2026 06:07
@renovate renovate Bot changed the title build(deps): update dependency @eslint-react/kit to v5.18.4 build(deps): update dependency @eslint-react/kit to v5.18.6 Aug 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This PR has been automatically marked as stale because it has not had recent activity. Please close your PR if it is no longer relevant. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Issues with changes that don't modify src or test files. dependencies Pull requests that update a dependency file skip visual snapshots Pull requests that do not need visual regression testing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant