Skip to content

fix(deps): update dependency eslint-plugin-react-refresh to ^0.5.0 - #559

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/eslint-plugin-react-refresh-0.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/eslint-plugin-react-refresh-0.x

Conversation

@renovate

@renovate renovate Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
eslint-plugin-react-refresh ^0.4.7 → ^0.5.0 age confidence

Release Notes

ArnaudBarre/eslint-plugin-react-refresh (eslint-plugin-react-refresh)

v0.5.7

Compare Source

Add allowCompoundComponents option (#​117)

Default: false (true in vite config)

Don't warn when components are exported as an object gathering them. Every member of the object must be a component, and a member holding an anonymous function requires a component name as key.

This should be enabled if the fast refresh implementation correctly handles this case. Vite supports it since @vitejs/plugin-react 4.7.0, @vitejs/plugin-react-swc 3.11.0.

{
  "react-refresh/only-export-components": [
    "error",
    { "allowCompoundComponents": true }
  ]
}

Enabling this option allows code such as the following:

const Root = () => <></>;
const Label = () => <></>;
export const Tag = { Root, Label };

v0.5.6

Compare Source

  • Support re-exporting namespace components (fixes #​116)

v0.5.5

Compare Source

  • Fix SCREAMING_SNAKE_CASE constant exported via export { Name } incorrectly treated as React component #​114 (fixes #​113)
  • Add contentType and size to allowExportNames in Next config #​115

v0.5.4

Compare Source

  • Add instant to allowExportNames in Next config #​112

v0.5.3

Compare Source

  • Fix check for non component class exported via export { } #​110 (fixes #​109)

v0.5.2

Compare Source

  • Support nested function calls for extraHOCs (actually fixes #​104)

v0.5.1

Compare Source

  • Mark ESLint v10 as supported
  • Support false positives with TypeScript function overloading (fixes #​105)
  • Support nested function calls for extraHOCs (fixes #​104)

v0.5.0

Compare Source

Breaking changes
  • The package now ships as ESM and requires ESLint 9 + node 20. Because legacy config doesn't support ESM, this requires to use flat config
  • A new reactRefresh export is available and prefered over the default export. It's an object with two properties:
    • plugin: The plugin object with the rules
    • configs: An object containing configuration presets, each exposed as a function. These functions accept your custom options, merge them with sensible defaults for that config, and return the final config object.
  • customHOCs option was renamed to extraHOCs
  • Validation of HOCs calls is now more strict, you may need to add some HOCs to the extraHOCs option

Config example:

import { defineConfig } from "eslint/config";
import { reactRefresh } from "eslint-plugin-react-refresh";

export default defineConfig(
  /* Main config */
  reactRefresh.configs.vite({ extraHOCs: ["someLibHOC"] }),
);

Config example without config:

import { defineConfig } from "eslint/config";
import { reactRefresh } from "eslint-plugin-react-refresh";

export default defineConfig({
  files: ["**/*.ts", "**/*.tsx"],
  plugins: {
    // other plugins
    "react-refresh": reactRefresh.plugin,
  },
  rules: {
    // other rules
    "react-refresh/only-export-components": [
      "warn",
      { extraHOCs: ["someLibHOC"] },
    ],
  },
});
Why

This version follows a revamp of the internal logic to better make the difference between random call expressions like export const Enum = Object.keys(Record) and actual React HOC calls like export const MemoComponent = memo(Component). (fixes #​93)

The rule now handles ternaries and patterns like export default customHOC(props)(Component) which makes it able to correctly support files like this one given this config:

{
  "react-refresh/only-export-components": [
    "warn",
    { "extraHOCs": ["createRootRouteWithContext"] }
  ]
}

[!NOTE]
Actually createRoute functions from TanStack Router are not React HOCs, they return route objects that fake to be a memoized component but are not. When only doing createRootRoute({ component: Foo }), HMR will work fine, but as soon as you add a prop to the options that is not a React component, HMR will not work. I would recommend to avoid adding any TanStack function to extraHOCs it you want to preserve good HMR in the long term. Bluesky thread.

Because I'm not 100% sure this new logic doesn't introduce any false positive, this is done in a major-like version. This also give me the occasion to remove the hardcoded connect from the rule. If you are using connect from react-redux, you should now add it to extraHOCs like this:

{
  "react-refresh/only-export-components": ["warn", { "extraHOCs": ["connect"] }]
}

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • "before 6am on monday"
  • 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 Aug 24, 2026
@renovate

renovate Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: react-ssr-client/pnpm-lock.yaml
Error:   × installing dependencies
  ├─▶ Failed to resolve dependency tree: Failed to resolve dependency: Could
  │   not install from "/tmp/renovate/repos/github/modelix/modelix.editor/
  │   projectional-editor-ssr-client-lib/build/packages/js" as it does not
  │   exist.
  │   
  │   Failed to resolve @modelix/projectional-editor-ssr-client-lib@file:../
  │   projectional-editor-ssr-client-lib/build/packages/js
  ╰─▶ Failed to resolve dependency: Could not install from "/tmp/renovate/
      repos/github/modelix/modelix.editor/projectional-editor-ssr-client-lib/
      build/packages/js" as it does not exist.


@github-actions
github-actions Bot enabled auto-merge (squash) August 24, 2026 03:09
@github-actions

github-actions Bot commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

538 tests   525 ✅  6m 17s ⏱️
 85 suites   13 💤
 85 files      0 ❌

Results for commit fbe5f37.

♻️ This comment has been updated with latest results.

@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch 2 times, most recently from 02783e5 to 44041cf Compare August 29, 2026 08:56
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch 3 times, most recently from 67bca84 to 002c7a2 Compare September 7, 2026 21:38
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch from 002c7a2 to 3f9c547 Compare September 15, 2026 20:55
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch 2 times, most recently from e4fdefc to ad0eab2 Compare October 1, 2026 08:24
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch 3 times, most recently from d4702f9 to d77e324 Compare October 7, 2026 08:33
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch 2 times, most recently from 59ba252 to dd0fddb Compare October 20, 2026 10:17
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch from dd0fddb to c2c200d Compare October 26, 2026 23:43
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch from c2c200d to 05d1ac4 Compare November 5, 2026 21:31
@renovate
renovate Bot force-pushed the renovate/eslint-plugin-react-refresh-0.x branch from 05d1ac4 to fbe5f37 Compare November 11, 2026 17:47

This branch has not been deployed

No deployments
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