Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 9, 2024

This PR contains the following updates:

Package Change Age Confidence
@vitejs/plugin-react (source) 4.0.0 -> 4.7.0 age confidence

Release Notes

vitejs/vite-plugin-react (@​vitejs/plugin-react)

v4.7.0

Compare Source

Add HMR support for compound components (#​518)

HMR now works for compound components like this:

const Root = () => <div>Accordion Root</div>
const Item = () => <div>Accordion Item</div>

export const Accordion = { Root, Item }
Return Plugin[] instead of PluginOption[] (#​537)

The return type has changed from react(): PluginOption[] to more specialized type react(): Plugin[]. This allows for type-safe manipulation of plugins, for example:

// previously this causes type errors
react({ babel: { plugins: ['babel-plugin-react-compiler'] } })
  .map(p => ({ ...p, applyToEnvironment: e => e.name === 'client' }))

v4.6.0

Compare Source

Add raw Rolldown support

This plugin only worked with Vite. But now it can also be used with raw Rolldown. The main purpose for using this plugin with Rolldown is to use react compiler.

v4.5.2

Compare Source

Suggest @vitejs/plugin-react-oxc if rolldown-vite is detected #​491

Emit a log which recommends @vitejs/plugin-react-oxc when rolldown-vite is detected to improve performance and use Oxc under the hood. The warning can be disabled by setting disableOxcRecommendation: false in the plugin options.

Use optimizeDeps.rollupOptions instead of optimizeDeps.esbuildOptions for rolldown-vite #​489

This suppresses the warning about optimizeDeps.esbuildOptions being deprecated in rolldown-vite.

Add Vite 7-beta to peerDependencies range #​497

React plugins are compatible with Vite 7, this removes the warning when testing the beta.

v4.5.1

Compare Source

Add explicit semicolon in preambleCode #​485

This fixes an edge case when using HTML minifiers that strips line breaks aggressively.

v4.5.0

Compare Source

Add filter for rolldown-vite #​470

Added filter so that it is more performant when running this plugin with rolldown-powered version of Vite.

Skip HMR for JSX files with hooks #​480

This removes the HMR warning for hooks with JSX.

v4.4.1

Compare Source

Fix type issue when using moduleResolution: "node" in tsconfig #​462

v4.4.0

Compare Source

Make compatible with rolldown-vite

This plugin is now compatible with rolldown-powered version of Vite.
Note that currently the __source property value position might be incorrect. This will be fixed in the near future.

v4.3.4

Compare Source

Add Vite 6 to peerDependencies range

Vite 6 is highly backward compatible, not much to add!

Force Babel to output spec compliant import attributes #​386

The default was an old spec (with type: "json"). We now enforce spec compliant (with { type: "json" })

v4.3.3

Compare Source

React Compiler runtimeModule option removed

React Compiler was updated to accept a target option and runtimeModule was removed. vite-plugin-react will still detect runtimeModule for backwards compatibility.

When using a custom runtimeModule or target !== '19', the plugin will not try to pre-optimize react/compiler-runtime dependency.

The react-compiler-runtime is now available on npm can be used instead of the local shim for people using the compiler with React < 19.

Here is the configuration to use the compiler with React 18 and correct source maps in development:

npm install babel-plugin-react-compiler react-compiler-runtime @&#8203;babel/plugin-transform-react-jsx-development
export default defineConfig(({ command }) => {
  const babelPlugins = [['babel-plugin-react-compiler', { target: '18' }]]
  if (command === 'serve') {
    babelPlugins.push(['@&#8203;babel/plugin-transform-react-jsx-development', {}])
  }

  return {
    plugins: [react({ babel: { plugins: babelPlugins } })],
  }
})

v4.3.2

Compare Source

Ignore directive sourcemap error #​369

v4.3.1

Compare Source

Fix support for React Compiler with React 18

The previous version made this assumption that the compiler was only usable with React 19, but it's possible to use it with React 18 and a custom runtimeModule: https://gist.github.com/poteto/37c076bf112a07ba39d0e5f0645fec43

When using a custom runtimeModule, the plugin will not try to pre-optimize react/compiler-runtime dependency.

Reminder: Vite expect code outside of node_modules to be ESM, so you will need to update the gist with import React from 'react'.

v4.3.0

Compare Source

Fix support for React compiler

Don't set retainLines: true when the React compiler is used. This creates whitespace issues and the compiler is modifying the JSX too much to get correct line numbers after that. If you want to use the React compiler and get back correct line numbers for tools like vite-plugin-react-click-to-component to work, you should update your config to something like:

export default defineConfig(({ command }) => {
  const babelPlugins = [['babel-plugin-react-compiler', {}]]
  if (command === 'serve') {
    babelPlugins.push(['@&#8203;babel/plugin-transform-react-jsx-development', {}])
  }

  return {
    plugins: [react({ babel: { plugins: babelPlugins } })],
  }
})
Support HMR for class components

This is a long overdue and should fix some issues people had with HMR when migrating from CRA.

v4.2.1

Compare Source

Remove generic parameter on Plugin to avoid type error with Rollup 4/Vite 5 and skipLibCheck: false.

I expect very few people to currently use this feature, but if you are extending the React plugin via api object, you can get back the typing of the hook by importing ViteReactPluginApi:

import type { Plugin } from 'vite'
import type { ViteReactPluginApi } from '@&#8203;vitejs/plugin-react'

export const somePlugin: Plugin = {
  name: 'some-plugin',
  api: {
    reactBabel: (babelConfig) => {
      babelConfig.plugins.push('some-babel-plugin')
    },
  } satisfies ViteReactPluginApi,
}

v4.2.0

Compare Source

Update peer dependency range to target Vite 5

There were no breaking change that impacted this plugin, so any combination of React plugins and Vite core version will work.

Align jsx runtime for optimized dependencies

This will only affect people using internal libraries that contains untranspiled JSX. This change aligns the optimizer with the source code and avoid issues when the published source don't have React in the scope.

Reminder: While being partially supported in Vite, publishing TS & JSX outside of internal libraries is highly discouraged.

v4.1.1

Compare Source

  • Enable retainLines to get correct line numbers for jsxDev (fix #​235)

v4.1.0

Compare Source

  • Add @types/babel__cores to dependencies (fix #​211)
  • Improve build perf when not using Babel plugins by lazy loading @babel/core #​212
  • Better invalidation message when an export is added & fix HMR for export of nullish values #​215
  • Include non-dev jsx runtime in optimizeDeps & support HMR for JS files using the non dev runtime #​224
  • The build output now contains a index.d.cts file so you don't get types errors when setting moduleResolution to node16 or nodenext in your tsconfig (we recommend using bundler which is more close to how Vite works)

v4.0.4

Compare Source

  • Fix #​198: Enable Babel if presets list is not empty

v4.0.3

Compare Source

  • Revert #​108: Remove throw when refresh runtime is loaded twice to enable usage in micro frontend apps. This was added to help fix setup usage, and this is not worth an annoying warning for others or a config parameter.

v4.0.2

Compare Source

  • Fix fast-refresh for files that are transformed into jsx (#​188)

v4.0.1

Compare Source


Configuration

📅 Schedule: 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 force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from 6c4f691 to 77115a0 Compare January 30, 2025 18:45
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 77115a0 to abb6301 Compare February 9, 2025 13:39
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from abb6301 to 454d534 Compare March 3, 2025 17:55
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 3 times, most recently from 9504299 to 2deabaa Compare March 17, 2025 16:53
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from f01a687 to caa14c5 Compare April 8, 2025 10:58
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from caa14c5 to 6099e3e Compare April 15, 2025 12:49
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.3.4 chore(deps): update dependency @vitejs/plugin-react to v4.4.0 Apr 15, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 6099e3e to 345167a Compare April 19, 2025 14:12
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.4.0 chore(deps): update dependency @vitejs/plugin-react to v4.4.1 Apr 19, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 345167a to 42c7f77 Compare April 24, 2025 05:53
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 42c7f77 to f66bfd4 Compare May 19, 2025 20:45
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.4.1 chore(deps): update dependency @vitejs/plugin-react to v4.5.0 May 23, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from 3342af3 to 23dce3d Compare May 28, 2025 08:00
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.5.0 chore(deps): update dependency @vitejs/plugin-react to v4.5.1 Jun 6, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from 73c9a61 to 8b44c07 Compare June 10, 2025 02:04
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.5.1 chore(deps): update dependency @vitejs/plugin-react to v4.5.2 Jun 10, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from 69d470c to 0323d39 Compare June 23, 2025 06:26
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.5.2 chore(deps): update dependency @vitejs/plugin-react to v4.6.0 Jun 23, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 0323d39 to e5b64d5 Compare July 2, 2025 14:47
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from e5b64d5 to ed6bd6b Compare July 18, 2025 04:11
@renovate renovate bot changed the title chore(deps): update dependency @vitejs/plugin-react to v4.6.0 chore(deps): update dependency @vitejs/plugin-react to v4.7.0 Jul 18, 2025
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch 2 times, most recently from ca5cfae to 5089a58 Compare August 13, 2025 11:45
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from 5089a58 to fbabe31 Compare August 19, 2025 16:06
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from fbabe31 to b265f92 Compare August 31, 2025 10:51
@renovate renovate bot force-pushed the renovate/vitejs-plugin-react-4.x-lockfile branch from b265f92 to 5baca11 Compare September 25, 2025 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants