diff --git a/playground/class-components/package.json b/playground/class-components/package.json index 5b3fe896..2a7e9057 100644 --- a/playground/class-components/package.json +++ b/playground/class-components/package.json @@ -8,12 +8,12 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { - "@types/react": "^18.3.20", - "@types/react-dom": "^18.3.6", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", "@vitejs/plugin-react": "workspace:*" } } diff --git a/playground/compiler/package.json b/playground/compiler/package.json index 4241fc46..c55f2651 100644 --- a/playground/compiler/package.json +++ b/playground/compiler/package.json @@ -13,8 +13,8 @@ }, "devDependencies": { "@babel/plugin-transform-react-jsx-development": "^7.25.9", - "@types/react": "^18.3.20", - "@types/react-dom": "^18.3.6", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", "@vitejs/plugin-react": "workspace:*", "babel-plugin-react-compiler": "0.0.0-experimental-dc8bd44-20241121", "typescript": "^5.8.3" diff --git a/playground/mdx/package.json b/playground/mdx/package.json index fa940750..04d70bd4 100644 --- a/playground/mdx/package.json +++ b/playground/mdx/package.json @@ -8,13 +8,13 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@mdx-js/rollup": "^3.1.0", - "@types/react": "^18.3.20", - "@types/react-dom": "^18.3.6", + "@types/react": "^19.1.2", + "@types/react-dom": "^19.1.2", "@vitejs/plugin-react": "workspace:*" } } diff --git a/playground/react-classic/__tests__/react.spec.ts b/playground/react-classic/__tests__/react.spec.ts index 33fe7dac..c0cd2b73 100644 --- a/playground/react-classic/__tests__/react.spec.ts +++ b/playground/react-classic/__tests__/react.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from 'vitest' -import { editFile, isServe, page, untilUpdated } from '~utils' +import { editFile, isServe, page, untilUpdated, viteTestUrl } from '~utils' test('should render', async () => { expect(await page.textContent('h1')).toMatch('Hello Vite + React') @@ -21,19 +21,9 @@ test.runIf(isServe)('should hmr', async () => { test.runIf(isServe)( 'should have annotated jsx with file location metadata', async () => { - const meta = await page.evaluate(() => { - const button = document.querySelector('button') - const key = Object.keys(button).find( - (key) => key.indexOf('__reactFiber') === 0, - ) - return button[key]._debugSource - }) - // If the evaluate call doesn't crash, and the returned metadata has - // the expected fields, we're good. - expect(Object.keys(meta).sort()).toEqual([ - 'columnNumber', - 'fileName', - 'lineNumber', - ]) + const res = await page.request.get(viteTestUrl + '/App.jsx') + const code = await res.text() + expect(code).toMatch(/lineNumber:\s*\d+/) + expect(code).toMatch(/columnNumber:\s*\d+/) }, ) diff --git a/playground/react-classic/package.json b/playground/react-classic/package.json index 1fe88e13..93bb56f6 100644 --- a/playground/react-classic/package.json +++ b/playground/react-classic/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/playground/react-emotion/package.json b/playground/react-emotion/package.json index 73babe1b..35e127e0 100644 --- a/playground/react-emotion/package.json +++ b/playground/react-emotion/package.json @@ -11,8 +11,8 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "react": "^19.1.0", + "react-dom": "^19.1.0", "react-switch": "^7.1.0" }, "devDependencies": { diff --git a/playground/react-env/package.json b/playground/react-env/package.json index 9eeddfd0..c0f990c7 100644 --- a/playground/react-env/package.json +++ b/playground/react-env/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/playground/react-sourcemap/package.json b/playground/react-sourcemap/package.json index d5ada3cb..4bcd6e22 100644 --- a/playground/react-sourcemap/package.json +++ b/playground/react-sourcemap/package.json @@ -11,8 +11,8 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/playground/react/__tests__/react.spec.ts b/playground/react/__tests__/react.spec.ts index d5d9c7d9..924c4e4b 100644 --- a/playground/react/__tests__/react.spec.ts +++ b/playground/react/__tests__/react.spec.ts @@ -7,6 +7,7 @@ import { page, untilBrowserLogAfter, untilUpdated, + viteTestUrl, } from '~utils' test('should render', async () => { @@ -53,20 +54,10 @@ test.runIf(isServe)('should not invalidate when code is invalid', async () => { test.runIf(isServe)( 'should have annotated jsx with file location metadata', async () => { - const meta = await page.evaluate(() => { - const button = document.querySelector('#state-button') - const key = Object.keys(button).find( - (key) => key.indexOf('__reactFiber') === 0, - ) - return button[key]._debugSource - }) - // If the evaluate call doesn't crash, and the returned metadata has - // the expected fields, we're good. - expect(Object.keys(meta).sort()).toEqual([ - 'columnNumber', - 'fileName', - 'lineNumber', - ]) + const res = await page.request.get(viteTestUrl + '/App.jsx') + const code = await res.text() + expect(code).toMatch(/lineNumber:\s*\d+/) + expect(code).toMatch(/columnNumber:\s*\d+/) }, ) diff --git a/playground/react/package.json b/playground/react/package.json index ad1fa743..abb756b7 100644 --- a/playground/react/package.json +++ b/playground/react/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "jsx-entry": "file:./jsx-entry", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/playground/ssr-react/package.json b/playground/ssr-react/package.json index 152907fa..23fcd26a 100644 --- a/playground/ssr-react/package.json +++ b/playground/ssr-react/package.json @@ -8,8 +8,8 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1" + "react": "^19.1.0", + "react-dom": "^19.1.0" }, "devDependencies": { "@vitejs/plugin-react": "workspace:*" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e58dbdf3..43b3e368 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -436,18 +436,18 @@ importers: playground/class-components: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@types/react': - specifier: ^18.3.20 - version: 18.3.20 + specifier: ^19.1.2 + version: 19.1.2 '@types/react-dom': - specifier: ^18.3.6 - version: 18.3.6(@types/react@18.3.20) + specifier: ^19.1.2 + version: 19.1.2(@types/react@19.1.2) '@vitejs/plugin-react': specifier: workspace:* version: link:../../packages/plugin-react @@ -465,11 +465,11 @@ importers: specifier: ^7.25.9 version: 7.25.9(@babel/core@7.26.10) '@types/react': - specifier: ^18.3.20 - version: 18.3.20 + specifier: ^19.1.2 + version: 19.1.2 '@types/react-dom': - specifier: ^18.3.6 - version: 18.3.6(@types/react@18.3.20) + specifier: ^19.1.2 + version: 19.1.2(@types/react@19.1.2) '@vitejs/plugin-react': specifier: workspace:* version: link:../../packages/plugin-react @@ -514,21 +514,21 @@ importers: playground/mdx: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@mdx-js/rollup': specifier: ^3.1.0 version: 3.1.0(rollup@4.37.0) '@types/react': - specifier: ^18.3.20 - version: 18.3.20 + specifier: ^19.1.2 + version: 19.1.2 '@types/react-dom': - specifier: ^18.3.6 - version: 18.3.6(@types/react@18.3.20) + specifier: ^19.1.2 + version: 19.1.2(@types/react@19.1.2) '@vitejs/plugin-react': specifier: workspace:* version: link:../../packages/plugin-react @@ -539,11 +539,11 @@ importers: specifier: file:./jsx-entry version: link:jsx-entry react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@vitejs/plugin-react': specifier: workspace:* @@ -552,11 +552,11 @@ importers: playground/react-classic: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@vitejs/plugin-react': specifier: workspace:* @@ -566,19 +566,19 @@ importers: dependencies: '@emotion/react': specifier: ^11.14.0 - version: 11.14.0(react@18.3.1) + version: 11.14.0(@types/react@19.1.2)(react@19.1.0) '@emotion/styled': specifier: ^11.14.0 - version: 11.14.0(@emotion/react@11.14.0(react@18.3.1))(react@18.3.1) + version: 11.14.0(@emotion/react@11.14.0(@types/react@19.1.2)(react@19.1.0))(@types/react@19.1.2)(react@19.1.0) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) react-switch: specifier: ^7.1.0 - version: 7.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) devDependencies: '@babel/plugin-proposal-pipeline-operator': specifier: ^7.26.7 @@ -593,11 +593,11 @@ importers: playground/react-env: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@vitejs/plugin-react': specifier: workspace:* @@ -606,11 +606,11 @@ importers: playground/react-sourcemap: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@vitejs/plugin-react': specifier: workspace:* @@ -621,11 +621,11 @@ importers: playground/ssr-react: dependencies: react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: ^19.1.0 + version: 19.1.0 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: ^19.1.0 + version: 19.1.0(react@19.1.0) devDependencies: '@vitejs/plugin-react': specifier: workspace:* @@ -2739,6 +2739,10 @@ packages: resolution: {integrity: sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ==} engines: {node: '>= 12.0.0'} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -4167,20 +4171,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@emotion/react@11.14.0(react@18.3.1)': - dependencies: - '@babel/runtime': 7.23.5 - '@emotion/babel-plugin': 11.13.5 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - hoist-non-react-statics: 3.3.2 - react: 18.3.1 - transitivePeerDependencies: - - supports-color - '@emotion/serialize@1.3.3': dependencies: '@emotion/hash': 0.9.2 @@ -4206,27 +4196,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@emotion/styled@11.14.0(@emotion/react@11.14.0(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.23.5 - '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(react@18.3.1) - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) - '@emotion/utils': 1.4.2 - react: 18.3.1 - transitivePeerDependencies: - - supports-color - '@emotion/unitless@0.10.0': {} '@emotion/unitless@0.8.1': {} - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)': - dependencies: - react: 18.3.1 - '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.1.0)': dependencies: react: 19.1.0 @@ -5353,7 +5326,7 @@ snapshots: cssnano@7.0.6(postcss@8.5.3): dependencies: cssnano-preset-default: 7.0.6(postcss@8.5.3) - lilconfig: 3.1.3 + lilconfig: 3.1.2 postcss: 8.5.3 csso@5.0.5: @@ -6006,6 +5979,8 @@ snapshots: lightningcss-win32-arm64-msvc: 1.29.3 lightningcss-win32-x64-msvc: 1.29.3 + lilconfig@3.1.2: {} + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -6810,11 +6785,11 @@ snapshots: optionalDependencies: react-dom: 19.1.0(react@19.1.0) - react-switch@7.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-switch@7.1.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) react@18.3.1: dependencies: