Skip to content

Comments

perf: avoid sourcemap for refresh wrapper injection#835

Merged
sapphi-red merged 7 commits intomainfrom
perf/avoid-sourcemap-for-refresh-wrapper-injection
Sep 11, 2025
Merged

perf: avoid sourcemap for refresh wrapper injection#835
sapphi-red merged 7 commits intomainfrom
perf/avoid-sourcemap-for-refresh-wrapper-injection

Conversation

@sapphi-red
Copy link
Member

Description

By changing $RefreshReg$ / $RefreshSig$ to a local variable and leveraging the function hoisting, we can avoid the sourcemap generation for the refresh wrapper completely. Also this would reduce the code size, which would also improve the perf a bit.

@sapphi-red sapphi-red marked this pull request as ready for review September 11, 2025 09:07
Copy link
Member

@ArnaudBarre ArnaudBarre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice

@sapphi-red sapphi-red merged commit 3a8b4a9 into main Sep 11, 2025
11 checks passed
@sapphi-red sapphi-red deleted the perf/avoid-sourcemap-for-refresh-wrapper-injection branch September 11, 2025 12:15
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Sep 17, 2025
| datasource | package              | from  | to    |
| ---------- | -------------------- | ----- | ----- |
| npm        | @vitejs/plugin-react | 5.0.2 | 5.0.3 |


## [v5.0.3](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#503-2025-09-17)

##### HMR did not work for components imported with queries with rolldown-vite ([#872](vitejs/vite-plugin-react#872))

##### Perf: simplify refresh wrapper generation ([#835](vitejs/vite-plugin-react#835))
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Sep 18, 2025
| datasource | package              | from  | to    |
| ---------- | -------------------- | ----- | ----- |
| npm        | @vitejs/plugin-react | 5.0.2 | 5.0.3 |


## [v5.0.3](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#503-2025-09-17)

##### HMR did not work for components imported with queries with rolldown-vite ([#872](vitejs/vite-plugin-react#872))

##### Perf: simplify refresh wrapper generation ([#835](vitejs/vite-plugin-react#835))
736-c41-2c1-e464fc974 pushed a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 12, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | major | [`^4.5.2` → `^5.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/4.7.0/5.1.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite-plugin-react/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite-plugin-react) |

---

### Release Notes

<details>
<summary>vitejs/vite-plugin-react (@&#8203;vitejs/plugin-react)</summary>

### [`v5.1.2`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#512-2025-12-08)

[Compare Source](vitejs/vite-plugin-react@23db727...f127a24)

### [`v5.1.1`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#511-2025-11-12)

[Compare Source](vitejs/vite-plugin-react@3e5a374...23db727)

##### Update code to support newer `rolldown-vite` ([#&#8203;976](vitejs/vite-plugin-react#976))

`rolldown-vite` will remove `optimizeDeps.rollupOptions` in favor of `optimizeDeps.rolldownOptions` soon. This plugin now uses `optimizeDeps.rolldownOptions` to support newer `rolldown-vite`. Please update `rolldown-vite` to the latest version if you are using an older version.

### [`v5.1.0`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#510-2025-10-24)

[Compare Source](vitejs/vite-plugin-react@450d7df...3e5a374)

##### Add `@vitejs/plugin-react/preamble` virtual module for SSR HMR ([#&#8203;890](vitejs/vite-plugin-react#890))

SSR applications can now initialize HMR runtime by importing `@vitejs/plugin-react/preamble` at the top of their client entry instead of manually calling `transformIndexHtml`. This simplifies SSR setup for applications that don't use the `transformIndexHtml` API.

##### Fix raw Rolldown support for Rolldown 1.0.0-beta.44+ ([#&#8203;930](vitejs/vite-plugin-react#930))

Rolldown 1.0.0-beta.44+ removed the top-level `jsx` option in favor of `transform.jsx`. This plugin now uses the `transform.jsx` option to support Rolldown 1.0.0-beta.44+.

### [`v5.0.4`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#504-2025-09-27)

[Compare Source](vitejs/vite-plugin-react@8293cb3...450d7df)

##### Perf: use native refresh wrapper plugin in rolldown-vite ([#&#8203;881](vitejs/vite-plugin-react#881))

### [`v5.0.3`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#503-2025-09-17)

[Compare Source](vitejs/vite-plugin-react@1f4b4d9...8293cb3)

##### HMR did not work for components imported with queries with rolldown-vite ([#&#8203;872](vitejs/vite-plugin-react#872))

##### Perf: simplify refresh wrapper generation ([#&#8203;835](vitejs/vite-plugin-react#835))

### [`v5.0.2`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#502-2025-08-28)

[Compare Source](vitejs/vite-plugin-react@efe4344...1f4b4d9)

##### Skip transform hook completely in rolldown-vite in dev if possible ([#&#8203;783](vitejs/vite-plugin-react#783))

### [`v5.0.1`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#501-2025-08-19)

[Compare Source](vitejs/vite-plugin-react@9e4a944...efe4344)

##### Set `optimizeDeps.rollupOptions.transform.jsx` instead of `optimizeDeps.rollupOptions.jsx` for rolldown-vite ([#&#8203;735](vitejs/vite-plugin-react#735))

`optimizeDeps.rollupOptions.jsx` is going to be deprecated in favor of `optimizeDeps.rollupOptions.transform.jsx`.

##### Perf: skip `babel-plugin-react-compiler` if code has no `"use memo"` when `{ compilationMode: "annotation" }` ([#&#8203;734](vitejs/vite-plugin-react#734))

##### Respect tsconfig `jsxImportSource` ([#&#8203;726](vitejs/vite-plugin-react#726))

##### Fix `reactRefreshHost` option on rolldown-vite ([#&#8203;716](vitejs/vite-plugin-react#716))

##### Fix `RefreshRuntime` being injected twice for class components on rolldown-vite ([#&#8203;708](vitejs/vite-plugin-react#708))

##### Skip `babel-plugin-react-compiler` on non client environment ([689](vitejs/vite-plugin-react#689))

### [`v5.0.0`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#500-2025-08-07)

[Compare Source](vitejs/vite-plugin-react@8041706...9e4a944)

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjguMSIsInVwZGF0ZWRJblZlciI6IjQyLjcwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlIl19-->

See merge request swiss-armed-forces/cyber-command/cea/loom!212

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 12, 2026
chore(deps): update @vitejs/plugin-react (major)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | major | [`^4.5.2` → `^5.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/4.7.0/5.1.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/vitejs/vite-plugin-react/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vitejs/vite-plugin-react) |

---

### Release Notes

<details>
<summary>vitejs/vite-plugin-react (@&#8203;vitejs/plugin-react)</summary>

### [`v5.1.2`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#512-2025-12-08)

[Compare Source](vitejs/vite-plugin-react@23db727...f127a24)

### [`v5.1.1`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#511-2025-11-12)

[Compare Source](vitejs/vite-plugin-react@3e5a374...23db727)

##### Update code to support newer `rolldown-vite` ([#&#8203;976](vitejs/vite-plugin-react#976))

`rolldown-vite` will remove `optimizeDeps.rollupOptions` in favor of `optimizeDeps.rolldownOptions` soon. This plugin now uses `optimizeDeps.rolldownOptions` to support newer `rolldown-vite`. Please update `rolldown-vite` to the latest version if you are using an older version.

### [`v5.1.0`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#510-2025-10-24)

[Compare Source](vitejs/vite-plugin-react@450d7df...3e5a374)

##### Add `@vitejs/plugin-react/preamble` virtual module for SSR HMR ([#&#8203;890](vitejs/vite-plugin-react#890))

SSR applications can now initialize HMR runtime by importing `@vitejs/plugin-react/preamble` at the top of their client entry instead of manually calling `transformIndexHtml`. This simplifies SSR setup for applications that don't use the `transformIndexHtml` API.

##### Fix raw Rolldown support for Rolldown 1.0.0-beta.44+ ([#&#8203;930](vitejs/vite-plugin-react#930))

Rolldown 1.0.0-beta.44+ removed the top-level `jsx` option in favor of `transform.jsx`. This plugin now uses the `transform.jsx` option to support Rolldown 1.0.0-beta.44+.

### [`v5.0.4`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#504-2025-09-27)

[Compare Source](vitejs/vite-plugin-react@8293cb3...450d7df)

##### Perf: use native refresh wrapper plugin in rolldown-vite ([#&#8203;881](vitejs/vite-plugin-react#881))

### [`v5.0.3`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#503-2025-09-17)

[Compare Source](vitejs/vite-plugin-react@1f4b4d9...8293cb3)

##### HMR did not work for components imported with queries with rolldown-vite ([#&#8203;872](vitejs/vite-plugin-react#872))

##### Perf: simplify refresh wrapper generation ([#&#8203;835](vitejs/vite-plugin-react#835))

### [`v5.0.2`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#502-2025-08-28)

[Compare Source](vitejs/vite-plugin-react@efe4344...1f4b4d9)

##### Skip transform hook completely in rolldown-vite in dev if possible ([#&#8203;783](vitejs/vite-plugin-react#783))

### [`v5.0.1`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#501-2025-08-19)

[Compare Source](vitejs/vite-plugin-react@9e4a944...efe4344)

##### Set `optimizeDeps.rollupOptions.transform.jsx` instead of `optimizeDeps.rollupOptions.jsx` for rolldown-vite ([#&#8203;735](vitejs/vite-plugin-react#735))

`optimizeDeps.rollupOptions.jsx` is going to be deprecated in favor of `optimizeDeps.rollupOptions.transform.jsx`.

##### Perf: skip `babel-plugin-react-compiler` if code has no `"use memo"` when `{ compilationMode: "annotation" }` ([#&#8203;734](vitejs/vite-plugin-react#734))

##### Respect tsconfig `jsxImportSource` ([#&#8203;726](vitejs/vite-plugin-react#726))

##### Fix `reactRefreshHost` option on rolldown-vite ([#&#8203;716](vitejs/vite-plugin-react#716))

##### Fix `RefreshRuntime` being injected twice for class components on rolldown-vite ([#&#8203;708](vitejs/vite-plugin-react#708))

##### Skip `babel-plugin-react-compiler` on non client environment ([689](vitejs/vite-plugin-react#689))

### [`v5.0.0`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#500-2025-08-07)

[Compare Source](vitejs/vite-plugin-react@8041706...9e4a944)

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjguMSIsInVwZGF0ZWRJblZlciI6IjQyLjcwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlIl19-->

See merge request swiss-armed-forces/cyber-command/cea/loom!212

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
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.

2 participants