Add React Compiler integration to webview-ui (#9565)

This commit is contained in:
Alik Aslanyan 2026-01-29 10:32:27 +04:00 committed by GitHub
parent 8d38e60187
commit 31bed9cebe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 42 additions and 7 deletions

35
pnpm-lock.yaml generated
View file

@ -269,7 +269,7 @@ importers:
version: 0.518.0(react@18.3.1)
next:
specifier: ~15.2.8
version: 15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@ -378,7 +378,7 @@ importers:
version: 0.518.0(react@18.3.1)
next:
specifier: ~15.2.8
version: 15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
version: 15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@ -445,7 +445,7 @@ importers:
version: 10.4.21(postcss@8.5.4)
next-sitemap:
specifier: ^4.2.3
version: 4.2.3(next@15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
version: 4.2.3(next@15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
postcss:
specifier: ^8.5.4
version: 8.5.4
@ -1236,6 +1236,9 @@ importers:
react:
specifier: ^18.3.1
version: 18.3.1
react-compiler-runtime:
specifier: ^1.0.0
version: 1.0.0(react@18.3.1)
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
@ -1363,6 +1366,9 @@ importers:
'@vitest/ui':
specifier: ^3.2.3
version: 3.2.4(vitest@3.2.4)
babel-plugin-react-compiler:
specifier: ^1.0.0
version: 1.0.0
identity-obj-proxy:
specifier: ^3.0.0
version: 3.0.0
@ -4854,6 +4860,9 @@ packages:
b4a@1.6.7:
resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==}
babel-plugin-react-compiler@1.0.0:
resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==}
bail@1.0.5:
resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==}
@ -8877,6 +8886,11 @@ packages:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
react-compiler-runtime@1.0.0:
resolution: {integrity: sha512-rRfjYv66HlG8896yPUDONgKzG5BxZD1nV9U6rkm+7VCuvQc903C4MjcoZR4zPw53IKSOX9wMQVpA1IAbRtzQ7w==}
peerDependencies:
react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental
react-cookie-consent@9.0.0:
resolution: {integrity: sha512-Blyj+m+Zz7SFHYqT18p16EANgnSg2sIyU6Yp3vk83AnOnSW7qnehPkUe4+8+qxztJrNmCH5GP+VHsWzAKVOoZA==}
engines: {node: '>=10'}
@ -15039,6 +15053,10 @@ snapshots:
b4a@1.6.7: {}
babel-plugin-react-compiler@1.0.0:
dependencies:
'@babel/types': 7.27.1
bail@1.0.5: {}
bail@2.0.2: {}
@ -18855,20 +18873,20 @@ snapshots:
netmask@2.0.2: {}
next-sitemap@4.2.3(next@15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
next-sitemap@4.2.3(next@15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
dependencies:
'@corex/deepmerge': 4.0.43
'@next/env': 13.5.11
fast-glob: 3.3.3
minimist: 1.2.8
next: 15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next: 15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-themes@0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
next@15.2.8(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
next@15.2.8(@opentelemetry/api@1.9.0)(babel-plugin-react-compiler@1.0.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@next/env': 15.2.8
'@swc/counter': 0.1.3
@ -18889,6 +18907,7 @@ snapshots:
'@next/swc-win32-arm64-msvc': 15.2.5
'@next/swc-win32-x64-msvc': 15.2.5
'@opentelemetry/api': 1.9.0
babel-plugin-react-compiler: 1.0.0
sharp: 0.33.5
transitivePeerDependencies:
- '@babel/core'
@ -19600,6 +19619,10 @@ snapshots:
strip-json-comments: 2.0.1
optional: true
react-compiler-runtime@1.0.0(react@18.3.1):
dependencies:
react: 18.3.1
react-cookie-consent@9.0.0(react@18.3.1):
dependencies:
js-cookie: 2.2.1

View file

@ -58,6 +58,7 @@
"qrcode": "^1.5.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-compiler-runtime": "^1.0.0",
"react-i18next": "^15.4.1",
"react-icons": "^5.5.0",
"react-markdown": "^9.0.3",
@ -85,6 +86,7 @@
"zod": "^3.25.61"
},
"devDependencies": {
"babel-plugin-react-compiler": "^1.0.0",
"@roo-code/config-eslint": "workspace:^",
"@roo-code/config-typescript": "workspace:^",
"@testing-library/jest-dom": "^6.6.3",

View file

@ -81,7 +81,17 @@ export default defineConfig(({ mode }) => {
define["process.env.PKG_OUTPUT_CHANNEL"] = JSON.stringify("Roo-Code-Nightly")
}
const plugins: PluginOption[] = [react(), tailwindcss(), persistPortPlugin(), wasmPlugin(), sourcemapPlugin()]
const plugins: PluginOption[] = [
react({
babel: {
plugins: [["babel-plugin-react-compiler", { target: "18" }]],
},
}),
tailwindcss(),
persistPortPlugin(),
wasmPlugin(),
sourcemapPlugin(),
]
return {
plugins,