Skip to content

Releases: Rel1cx/eslint-react

v5.18.6 (2026-08-13)

Choose a tag to compare

@github-actions github-actions released this 13 Aug 05:43
Immutable release. Only release title and notes can be modified.
9b8e5fa

What's Changed

🏗️ 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: v5.18.5...v5.18.6

Attestation

https://github.com/Rel1cx/eslint-react/attestations/40429819

v5.18.5 (2026-08-13)

Choose a tag to compare

@github-actions github-actions released this 13 Aug 02:16
Immutable release. Only release title and notes can be modified.
419e0b2

What's Changed

📝 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: v5.18.4...v5.18.5

Attestation

https://github.com/Rel1cx/eslint-react/attestations/40407345

v5.18.4 (2026-08-12)

Choose a tag to compare

@github-actions github-actions released this 11 Aug 23:32
Immutable release. Only release title and notes can be modified.
07bc3ec

What's Changed

🐞 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: v5.18.3...v5.18.4

Attestation

https://github.com/Rel1cx/eslint-react/attestations/40152188

v5.18.3 (2026-08-06)

Choose a tag to compare

@github-actions github-actions released this 06 Aug 08:45
Immutable release. Only release title and notes can be modified.
8ca03d2

What's Changed

🐞 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: v5.18.2...v5.18.3

Attestation

https://github.com/Rel1cx/eslint-react/attestations/39220601

v5.18.2 (2026-08-05)

Choose a tag to compare

@github-actions github-actions released this 04 Aug 17:43
Immutable release. Only release title and notes can be modified.
36e7edc

What's Changed

🐞 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: v5.18.1...v5.18.2

Attestation

https://github.com/Rel1cx/eslint-react/attestations/38852008

v5.18.1 (2026-07-30)

Choose a tag to compare

@github-actions github-actions released this 30 Jul 14:42
Immutable release. Only release title and notes can be modified.
70c8e0c

What's Changed

📝 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: v5.18.0...v5.18.1

Attestation

https://github.com/Rel1cx/eslint-react/attestations/37979913

v5.18.0 (2026-07-23)

Choose a tag to compare

@github-actions github-actions released this 22 Jul 19:55
Immutable release. Only release title and notes can be modified.
560237a

What's Changed

✨ 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: v5.17.3...v5.18.0

Attestation

https://github.com/Rel1cx/eslint-react/attestations/36633587

v5.17.3 (2026-07-20)

Choose a tag to compare

@github-actions github-actions released this 20 Jul 07:16
Immutable release. Only release title and notes can be modified.
3026dc6

What's Changed

🏗️ 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: v5.17.2...v5.17.3

Attestation

https://github.com/Rel1cx/eslint-react/attestations/36106563

v5.17.2 (2026-07-19)

Choose a tag to compare

@github-actions github-actions released this 19 Jul 14:05
Immutable release. Only release title and notes can be modified.
e0b4db2

What's Changed

📝 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: v5.17.1...v5.17.2

Attestation

https://github.com/Rel1cx/eslint-react/attestations/36041651

v5.17.1 (2026-07-17)

Choose a tag to compare

@github-actions github-actions released this 17 Jul 10:00
Immutable release. Only release title and notes can be modified.
b421bfa

What's Changed

🏗️ 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: v5.17.0...v5.17.1

Attestation

https://github.com/Rel1cx/eslint-react/attestations/35804801