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