diff --git a/packages/plugin-react/CHANGELOG.md b/packages/plugin-react/CHANGELOG.md
index c84ee713f..138dfe07b 100644
--- a/packages/plugin-react/CHANGELOG.md
+++ b/packages/plugin-react/CHANGELOG.md
@@ -2,6 +2,8 @@
## Unreleased
+### Respect tsconfig `jsxImportSource` ([#726](https://github.com/vitejs/vite-plugin-react/pull/726))
+
### Fix `reactRefreshHost` option on rolldown-vite ([#716](https://github.com/vitejs/vite-plugin-react/pull/716))
### Fix `RefreshRuntime` being injected twice for class components on rolldown-vite ([#708](https://github.com/vitejs/vite-plugin-react/pull/708))
diff --git a/packages/plugin-react/README.md b/packages/plugin-react/README.md
index 3b66e4658..b7ee2f3f7 100644
--- a/packages/plugin-react/README.md
+++ b/packages/plugin-react/README.md
@@ -38,7 +38,7 @@ export default defineConfig({
### jsxImportSource
-Control where the JSX factory is imported from. Default to `'react'`
+Control where the JSX factory is imported from. By default, this is inferred from `jsxImportSource` from corresponding a tsconfig file for a transformed file.
```js
react({ jsxImportSource: '@emotion/react' })
diff --git a/packages/plugin-react/src/index.ts b/packages/plugin-react/src/index.ts
index b111c5be1..bb2b224fa 100644
--- a/packages/plugin-react/src/index.ts
+++ b/packages/plugin-react/src/index.ts
@@ -153,7 +153,7 @@ export default function viteReact(opts: Options = {}): Plugin[] {
oxc: {
jsx: {
runtime: 'automatic',
- importSource: jsxImportSource,
+ importSource: opts.jsxImportSource,
refresh: command === 'serve',
},
jsxRefreshInclude: include,
@@ -174,7 +174,8 @@ export default function viteReact(opts: Options = {}): Plugin[] {
return {
esbuild: {
jsx: 'automatic',
- jsxImportSource: jsxImportSource,
+ // keep undefined by default so that vite's esbuild transform can prioritize jsxImportSource from tsconfig
+ jsxImportSource: opts.jsxImportSource,
},
optimizeDeps: { esbuildOptions: { jsx: 'automatic' } },
}
diff --git a/playground/tsconfig-jsx-preserve/__tests__/tsconfig-jsx-preserve.spec.ts b/playground/tsconfig-jsx-preserve/__tests__/tsconfig-jsx-preserve.spec.ts
new file mode 100644
index 000000000..3624bf898
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/__tests__/tsconfig-jsx-preserve.spec.ts
@@ -0,0 +1,6 @@
+import { expect, test } from 'vitest'
+import { page } from '~utils'
+
+test('override tsconfig jsx preserve', async () => {
+ await expect.poll(() => page.textContent('#app')).toBe('ok')
+})
diff --git a/playground/tsconfig-jsx-preserve/index.html b/playground/tsconfig-jsx-preserve/index.html
new file mode 100644
index 000000000..fb1aeef55
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/index.html
@@ -0,0 +1,2 @@
+
+
diff --git a/playground/tsconfig-jsx-preserve/package.json b/playground/tsconfig-jsx-preserve/package.json
new file mode 100644
index 000000000..631eeca92
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "@vitejs/test-react-tsconfig-jsx-preserve",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "debug": "node --inspect-brk vite",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "^19.1.1",
+ "react-dom": "^19.1.1"
+ },
+ "devDependencies": {
+ "@types/react": "^19.1.9",
+ "@types/react-dom": "^19.1.7",
+ "@vitejs/plugin-react": "workspace:*"
+ }
+}
diff --git a/playground/tsconfig-jsx-preserve/src/App.tsx b/playground/tsconfig-jsx-preserve/src/App.tsx
new file mode 100644
index 000000000..911d75eed
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/src/App.tsx
@@ -0,0 +1,3 @@
+export default function App() {
+ return ok
+}
diff --git a/playground/tsconfig-jsx-preserve/src/main.tsx b/playground/tsconfig-jsx-preserve/src/main.tsx
new file mode 100644
index 000000000..056386a7d
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/src/main.tsx
@@ -0,0 +1,4 @@
+import ReactDOM from 'react-dom/client'
+import App from './App.jsx'
+
+ReactDOM.createRoot(document.getElementById('app')!).render()
diff --git a/playground/tsconfig-jsx-preserve/tsconfig.json b/playground/tsconfig-jsx-preserve/tsconfig.json
new file mode 100644
index 000000000..52a1eea02
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "include": ["src"],
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "types": ["vite/client"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "preserve",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ }
+}
diff --git a/playground/tsconfig-jsx-preserve/vite.config.ts b/playground/tsconfig-jsx-preserve/vite.config.ts
new file mode 100644
index 000000000..ae745180e
--- /dev/null
+++ b/playground/tsconfig-jsx-preserve/vite.config.ts
@@ -0,0 +1,6 @@
+import react from '@vitejs/plugin-react'
+import { defineConfig } from 'vite'
+
+export default defineConfig({
+ plugins: [react()],
+})
diff --git a/playground/tsconfig/__tests__/tsconfig.spec.ts b/playground/tsconfig/__tests__/tsconfig.spec.ts
new file mode 100644
index 000000000..cabfa5b4d
--- /dev/null
+++ b/playground/tsconfig/__tests__/tsconfig.spec.ts
@@ -0,0 +1,10 @@
+import { expect, test } from 'vitest'
+import { page } from '~utils'
+
+test('respect tsconfig jsxImportSource', async () => {
+ await expect
+ .poll(() =>
+ page.getByTestId('emotion').evaluate((el) => getComputedStyle(el).color),
+ )
+ .toBe('rgb(255, 0, 0)')
+})
diff --git a/playground/tsconfig/index.html b/playground/tsconfig/index.html
new file mode 100644
index 000000000..fb1aeef55
--- /dev/null
+++ b/playground/tsconfig/index.html
@@ -0,0 +1,2 @@
+
+
diff --git a/playground/tsconfig/package.json b/playground/tsconfig/package.json
new file mode 100644
index 000000000..9de9c768c
--- /dev/null
+++ b/playground/tsconfig/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "@vitejs/test-react-tsconfig",
+ "private": true,
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "debug": "node --inspect-brk vite",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "@emotion/react": "^11.14.0",
+ "react": "^19.1.1",
+ "react-dom": "^19.1.1"
+ },
+ "devDependencies": {
+ "@types/react": "^19.1.9",
+ "@types/react-dom": "^19.1.7",
+ "@vitejs/plugin-react": "workspace:*"
+ }
+}
diff --git a/playground/tsconfig/src/App.tsx b/playground/tsconfig/src/App.tsx
new file mode 100644
index 000000000..27b40fe02
--- /dev/null
+++ b/playground/tsconfig/src/App.tsx
@@ -0,0 +1,7 @@
+export default function App() {
+ return (
+
+ This should be red
+
+ )
+}
diff --git a/playground/tsconfig/src/main.tsx b/playground/tsconfig/src/main.tsx
new file mode 100644
index 000000000..056386a7d
--- /dev/null
+++ b/playground/tsconfig/src/main.tsx
@@ -0,0 +1,4 @@
+import ReactDOM from 'react-dom/client'
+import App from './App.jsx'
+
+ReactDOM.createRoot(document.getElementById('app')!).render()
diff --git a/playground/tsconfig/tsconfig.json b/playground/tsconfig/tsconfig.json
new file mode 100644
index 000000000..3801cb87d
--- /dev/null
+++ b/playground/tsconfig/tsconfig.json
@@ -0,0 +1,26 @@
+{
+ "include": ["src"],
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "types": ["vite/client"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "jsxImportSource": "@emotion/react",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ }
+}
diff --git a/playground/tsconfig/vite.config.ts b/playground/tsconfig/vite.config.ts
new file mode 100644
index 000000000..ae745180e
--- /dev/null
+++ b/playground/tsconfig/vite.config.ts
@@ -0,0 +1,6 @@
+import react from '@vitejs/plugin-react'
+import { defineConfig } from 'vite'
+
+export default defineConfig({
+ plugins: [react()],
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index bdbf04429..f71f2162b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -7,8 +7,8 @@ settings:
catalogs:
rolldown-vite:
vite:
- specifier: npm:rolldown-vite@^7.1.2
- version: 7.1.2
+ specifier: npm:rolldown-vite@^7.1.3
+ version: 7.1.3
overrides:
'@types/estree': ^1.0.8
@@ -140,7 +140,7 @@ importers:
version: 0.14.1(publint@0.3.12)(typescript@5.9.2)
vite:
specifier: catalog:rolldown-vite
- version: rolldown-vite@7.1.2(@types/node@22.17.2)(esbuild@0.25.5)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.7.1)
+ version: rolldown-vite@7.1.3(@types/node@22.17.2)(esbuild@0.25.5)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.7.1)
packages/plugin-react-swc:
dependencies:
@@ -1028,6 +1028,47 @@ importers:
specifier: workspace:*
version: link:../../packages/plugin-react
+ playground/tsconfig:
+ dependencies:
+ '@emotion/react':
+ specifier: ^11.14.0
+ version: 11.14.0(@types/react@19.1.10)(react@19.1.1)
+ react:
+ specifier: ^19.1.1
+ version: 19.1.1
+ react-dom:
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
+ devDependencies:
+ '@types/react':
+ specifier: ^19.1.9
+ version: 19.1.10
+ '@types/react-dom':
+ specifier: ^19.1.7
+ version: 19.1.7(@types/react@19.1.10)
+ '@vitejs/plugin-react':
+ specifier: workspace:*
+ version: link:../../packages/plugin-react
+
+ playground/tsconfig-jsx-preserve:
+ dependencies:
+ react:
+ specifier: ^19.1.1
+ version: 19.1.1
+ react-dom:
+ specifier: ^19.1.1
+ version: 19.1.1(react@19.1.1)
+ devDependencies:
+ '@types/react':
+ specifier: ^19.1.9
+ version: 19.1.10
+ '@types/react-dom':
+ specifier: ^19.1.7
+ version: 19.1.7(@types/react@19.1.10)
+ '@vitejs/plugin-react':
+ specifier: workspace:*
+ version: link:../../packages/plugin-react
+
packages:
'@aashutoshrathi/word-wrap@1.2.6':
@@ -1908,9 +1949,16 @@ packages:
resolution: {integrity: sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==}
engines: {node: '>=6.9.0'}
+ '@oxc-project/runtime@0.82.2':
+ resolution: {integrity: sha512-cYxcj5CPn/vo5QSpCZcYzBiLidU5+GlFSqIeNaMgBDtcVRBsBJHZg3pHw999W6nHamFQ1EHuPPByB26tjaJiJw==}
+ engines: {node: '>=6.9.0'}
+
'@oxc-project/types@0.81.0':
resolution: {integrity: sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==}
+ '@oxc-project/types@0.82.2':
+ resolution: {integrity: sha512-WMGSwd9FsNBs/WfqIOH0h3k1LBdjZJQGYjGnC+vla/fh6HUsu5HzGPerRljiq1hgMQ6gs031YJR12VyP57b/hQ==}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -1976,74 +2024,147 @@ packages:
cpu: [arm64]
os: [android]
+ '@rolldown/binding-android-arm64@1.0.0-beta.33':
+ resolution: {integrity: sha512-xhDQXKftRkEULIxCddrKMR8y0YO/Y+6BKk/XrQP2B29YjV2wr8DByoEz+AHX9BfLHb2srfpdN46UquBW2QXWpQ==}
+ cpu: [arm64]
+ os: [android]
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.32':
resolution: {integrity: sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==}
cpu: [arm64]
os: [darwin]
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.33':
+ resolution: {integrity: sha512-7lhhY08v5ZtRq8JJQaJ49fnJombAPnqllKKCDLU/UvaqNAOEyTGC8J1WVOLC4EA4zbXO5U3CCRgVGyAFNH2VtQ==}
+ cpu: [arm64]
+ os: [darwin]
+
'@rolldown/binding-darwin-x64@1.0.0-beta.32':
resolution: {integrity: sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==}
cpu: [x64]
os: [darwin]
+ '@rolldown/binding-darwin-x64@1.0.0-beta.33':
+ resolution: {integrity: sha512-U2iGjcDV7NWyYyhap8YuY0nwrLX6TvX/9i7gBtdEMPm9z3wIUVGNMVdGlA43uqg7xDpRGpEqGnxbeDgiEwYdnA==}
+ cpu: [x64]
+ os: [darwin]
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.32':
resolution: {integrity: sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==}
cpu: [x64]
os: [freebsd]
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.33':
+ resolution: {integrity: sha512-gd6ASromVHFLlzrjJWMG5CXHkS7/36DEZ8HhvGt2NN8eZALCIuyEx8HMMLqvKA7z4EAztVkdToVrdxpGMsKZxw==}
+ cpu: [x64]
+ os: [freebsd]
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.32':
resolution: {integrity: sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==}
cpu: [arm]
os: [linux]
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.33':
+ resolution: {integrity: sha512-xmeLfkfGthuynO1EpCdyTVr0r4G+wqvnKCuyR6rXOet+hLrq5HNAC2XtP/jU2TB4Bc6aiLYxl868B8CGtFDhcw==}
+ cpu: [arm]
+ os: [linux]
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.32':
resolution: {integrity: sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==}
cpu: [arm64]
os: [linux]
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.33':
+ resolution: {integrity: sha512-cHGp8yfHL4pes6uaLbO5L58ceFkUK4efd8iE86jClD1QPPDLKiqEXJCFYeuK3OfODuF5EBOmf0SlcUZNEYGdmw==}
+ cpu: [arm64]
+ os: [linux]
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.32':
resolution: {integrity: sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==}
cpu: [arm64]
os: [linux]
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.33':
+ resolution: {integrity: sha512-wZ1t7JAvVeFgskH1L9y7c47ITitPytpL0s8FmAT8pVfXcaTmS58ZyoXT+y6cz8uCkQnETjrX3YezTGI18u3ecg==}
+ cpu: [arm64]
+ os: [linux]
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.32':
resolution: {integrity: sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==}
cpu: [x64]
os: [linux]
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.33':
+ resolution: {integrity: sha512-cDndWo3VEYbm7yeujOV6Ie2XHz0K8YX/R/vbNmMo03m1QwtBKKvbYNSyJb3B9+8igltDjd8zNM9mpiNNrq/ekQ==}
+ cpu: [x64]
+ os: [linux]
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.32':
resolution: {integrity: sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==}
cpu: [x64]
os: [linux]
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.33':
+ resolution: {integrity: sha512-bl7uzi6es/l6LT++NZcBpiX43ldLyKXCPwEZGY1rZJ99HQ7m1g3KxWwYCcGxtKjlb2ExVvDZicF6k+96vxOJKg==}
+ cpu: [x64]
+ os: [linux]
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.32':
resolution: {integrity: sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==}
cpu: [arm64]
os: [openharmony]
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.33':
+ resolution: {integrity: sha512-TrgzQanpLgcmmzolCbYA9BPZgF1gYxkIGZhU/HROnJPsq67gcyaYw/JBLioqQLjIwMipETkn25YY799D2OZzJA==}
+ cpu: [arm64]
+ os: [openharmony]
+
'@rolldown/binding-wasm32-wasi@1.0.0-beta.32':
resolution: {integrity: sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.33':
+ resolution: {integrity: sha512-z0LltdUfvoKak9SuaLz/M9AVSg+RTOZjFksbZXzC6Svl1odyW4ai21VHhZy3m2Faeeb/rl/9efVLayj+qYEGxw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.32':
resolution: {integrity: sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==}
cpu: [arm64]
os: [win32]
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.33':
+ resolution: {integrity: sha512-CpvOHyqDNOYx9riD4giyXQDIu72bWRU2Dwt1xFSPlBudk6NumK0OJl6Ch+LPnkp5podQHcQg0mMauAXPVKct7g==}
+ cpu: [arm64]
+ os: [win32]
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.32':
resolution: {integrity: sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==}
cpu: [ia32]
os: [win32]
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.33':
+ resolution: {integrity: sha512-/tNTvZTWHz6HiVuwpR3zR0kGIyCNb+/tFhnJmti+Aw2fAXs3l7Aj0DcXd0646eFKMX8L2w5hOW9H08FXTUkN0g==}
+ cpu: [ia32]
+ os: [win32]
+
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.32':
resolution: {integrity: sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==}
cpu: [x64]
os: [win32]
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.33':
+ resolution: {integrity: sha512-Bb2qK3z7g2mf4zaKRvkohHzweaP1lLbaoBmXZFkY6jJWMm0Z8Pfnh8cOoRlH1IVM1Ufbo8ZZ1WXp1LbOpRMtXw==}
+ cpu: [x64]
+ os: [win32]
+
'@rolldown/pluginutils@1.0.0-beta.32':
resolution: {integrity: sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==}
+ '@rolldown/pluginutils@1.0.0-beta.33':
+ resolution: {integrity: sha512-she25NCG6NoEPC/SEB4pHs5STcnfI4VBFOzjeI63maSPrWME5J2XC8ogrBgp8NaE/xzj28/kbpSaebiMvFRj+w==}
+
'@rollup/plugin-replace@6.0.2':
resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==}
engines: {node: '>=14.0.0'}
@@ -4269,8 +4390,8 @@ packages:
vue-tsc:
optional: true
- rolldown-vite@7.1.2:
- resolution: {integrity: sha512-9VwY/BOirnPDJ8HXiXTdVdLXTSQkNGDVgpuhfmMxAH7HxSBb71VaTyQh/FHPtMk2psAyglQXWheYKXV53N27/Q==}
+ rolldown-vite@7.1.3:
+ resolution: {integrity: sha512-J22JlCJQbIRxR6KGwpf76Uq3R4wk6avQHCijXGPsXsbVpPt+Uavg5M5dvzP7XdlAKL8uZE5Xof9j4Y9yu+cxxg==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -4313,6 +4434,10 @@ packages:
resolution: {integrity: sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==}
hasBin: true
+ rolldown@1.0.0-beta.33:
+ resolution: {integrity: sha512-mgu118ZuRguC8unhPCbdZbyRbjQfEMiWqlojBA5aRIncBelRaBomnHNpGKYkYWeK7twRz5Cql30xgqqrA3Xelw==}
+ hasBin: true
+
rollup@4.44.1:
resolution: {integrity: sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -5837,8 +5962,12 @@ snapshots:
'@oxc-project/runtime@0.81.0': {}
+ '@oxc-project/runtime@0.82.2': {}
+
'@oxc-project/types@0.81.0': {}
+ '@oxc-project/types@0.82.2': {}
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -5928,49 +6057,95 @@ snapshots:
'@rolldown/binding-android-arm64@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-android-arm64@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-darwin-x64@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-darwin-x64@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-wasm32-wasi@1.0.0-beta.32':
dependencies:
'@napi-rs/wasm-runtime': 1.0.3
optional: true
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.33':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.3
+ optional: true
+
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.33':
+ optional: true
+
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.32':
optional: true
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.33':
+ optional: true
+
'@rolldown/pluginutils@1.0.0-beta.32': {}
+ '@rolldown/pluginutils@1.0.0-beta.33': {}
+
'@rollup/plugin-replace@6.0.2(rollup@4.44.1)':
dependencies:
'@rollup/pluginutils': 5.1.4(rollup@4.44.1)
@@ -6257,7 +6432,7 @@ snapshots:
'@types/hoist-non-react-statics@3.3.6':
dependencies:
- '@types/react': 18.3.20
+ '@types/react': 19.1.10
hoist-non-react-statics: 3.3.2
'@types/json-schema@7.0.15': {}
@@ -8290,7 +8465,7 @@ snapshots:
rfdc@1.4.1: {}
- rolldown-plugin-dts@0.15.6(rolldown@1.0.0-beta.32)(typescript@5.9.2):
+ rolldown-plugin-dts@0.15.6(rolldown@1.0.0-beta.33)(typescript@5.9.2):
dependencies:
'@babel/generator': 7.28.0
'@babel/parser': 7.28.0
@@ -8300,20 +8475,20 @@ snapshots:
debug: 4.4.1
dts-resolver: 2.1.1
get-tsconfig: 4.10.1
- rolldown: 1.0.0-beta.32
+ rolldown: 1.0.0-beta.33
optionalDependencies:
typescript: 5.9.2
transitivePeerDependencies:
- oxc-resolver
- supports-color
- rolldown-vite@7.1.2(@types/node@22.17.2)(esbuild@0.25.5)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.7.1):
+ rolldown-vite@7.1.3(@types/node@22.17.2)(esbuild@0.25.5)(jiti@2.5.1)(tsx@4.20.4)(yaml@2.7.1):
dependencies:
fdir: 6.4.6(picomatch@4.0.3)
lightningcss: 1.30.1
picomatch: 4.0.3
postcss: 8.5.6
- rolldown: 1.0.0-beta.32
+ rolldown: 1.0.0-beta.33
tinyglobby: 0.2.14
optionalDependencies:
'@types/node': 22.17.2
@@ -8345,6 +8520,28 @@ snapshots:
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.32
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.32
+ rolldown@1.0.0-beta.33:
+ dependencies:
+ '@oxc-project/runtime': 0.82.2
+ '@oxc-project/types': 0.82.2
+ '@rolldown/pluginutils': 1.0.0-beta.33
+ ansis: 4.1.0
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-beta.33
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.33
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.33
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.33
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.33
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.33
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.33
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.33
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.33
+ '@rolldown/binding-openharmony-arm64': 1.0.0-beta.33
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.33
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.33
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.33
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.33
+
rollup@4.44.1:
dependencies:
'@types/estree': 1.0.8
@@ -8634,8 +8831,8 @@ snapshots:
diff: 8.0.2
empathic: 2.0.0
hookable: 5.5.3
- rolldown: 1.0.0-beta.32
- rolldown-plugin-dts: 0.15.6(rolldown@1.0.0-beta.32)(typescript@5.9.2)
+ rolldown: 1.0.0-beta.33
+ rolldown-plugin-dts: 0.15.6(rolldown@1.0.0-beta.33)(typescript@5.9.2)
semver: 7.7.2
tinyexec: 1.0.1
tinyglobby: 0.2.14
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 4899ba5cf..ee8e18021 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -6,7 +6,7 @@ packages:
catalogs:
rolldown-vite:
- vite: npm:rolldown-vite@^7.1.2
+ vite: npm:rolldown-vite@^7.1.3
overrides:
'@types/estree': ^1.0.8