Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 5, 2026

This PR contains the following updates:

Package Change Age Confidence
eslint-plugin-perfectionist (source) 5.4.05.5.0 age confidence
eslint-plugin-react-refresh 0.4.260.5.0 age confidence
globals 17.2.017.3.0 age confidence
package-directory 8.1.08.2.0 age confidence

Release Notes

azat-io/eslint-plugin-perfectionist (eslint-plugin-perfectionist)

v5.5.0

Compare Source

compare changes

🚀 Features
  • sort-classes: Improve dependency detection algorithm
    (8bcbc88a)
🐞 Bug Fixes
  • Prevent spread operator reordering in sort-sets and sort-array-includes
    (06b0f73e)
❤️ Contributors
ArnaudBarre/eslint-plugin-react-refresh (eslint-plugin-react-refresh)

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"] }]
}
sindresorhus/globals (globals)

v17.3.0

Compare Source


sindresorhus/package-directory (package-directory)

v8.2.0

Compare Source

  • Add ignoreTypeOnlyPackageJson option b1d0aec


Configuration

📅 Schedule: Branch creation - "before 4:00am on Friday" in timezone Asia/Tokyo, 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 renovate Created by renovate label Feb 5, 2026
@changeset-bot
Copy link

changeset-bot bot commented Feb 5, 2026

🦋 Changeset detected

Latest commit: 9b979e9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@virtual-live-lab/eslint-config Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added the eslint issues about eslint label Feb 5, 2026
@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 5, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@virtual-live-lab/eslint-config@602

commit: 9b979e9

@github-actions
Copy link
Contributor

github-actions bot commented Feb 5, 2026

🚨 Snapshot test failed

See the details: workflow run

Errors

  • ESLint

⏭️ Next Steps

If snapshot changes are...

expected: update the snapshots by adding update-snapshot label

unexpected: check diff and fix rules

@renovate renovate bot force-pushed the renovate/eslint branch from 6836d42 to 0f2d2d8 Compare February 8, 2026 04:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eslint issues about eslint renovate Created by renovate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants