Skip to content

Commit 2966af5

Browse files
authored
test(rsc): test react compiler (#529)
1 parent 46df0fd commit 2966af5

File tree

4 files changed

+46
-2
lines changed

4 files changed

+46
-2
lines changed

packages/plugin-rsc/e2e/basic.test.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,39 @@ test.describe('build-base', () => {
4343
defineTest(f)
4444
})
4545

46+
test.describe('dev-react-compiler', () => {
47+
const f = useFixture({
48+
root: 'examples/basic',
49+
mode: 'dev',
50+
cliOptions: {
51+
env: {
52+
TEST_REACT_COMPILER: 'true',
53+
},
54+
},
55+
})
56+
defineTest(f)
57+
58+
test('verify react compiler', async ({ page }) => {
59+
await page.goto(f.url())
60+
await waitForHydration(page)
61+
const res = await page.request.get(f.url('src/routes/client.tsx'))
62+
expect(await res.text()).toContain('react.memo_cache_sentinel')
63+
})
64+
})
65+
66+
test.describe('build-react-compiler', () => {
67+
const f = useFixture({
68+
root: 'examples/basic',
69+
mode: 'build',
70+
cliOptions: {
71+
env: {
72+
TEST_REACT_COMPILER: 'true',
73+
},
74+
},
75+
})
76+
defineTest(f)
77+
})
78+
4679
test.describe(() => {
4780
// disabled by default
4881
if (!process.env.TEST_ISOLATED) return

packages/plugin-rsc/examples/basic/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"@vitejs/test-dep-client-in-server2": "file:./test-dep/client-in-server2",
2626
"@vitejs/test-dep-server-in-client": "file:./test-dep/server-in-client",
2727
"@vitejs/test-dep-server-in-server": "file:./test-dep/server-in-server",
28+
"babel-plugin-react-compiler": "19.1.0-rc.2",
2829
"tailwindcss": "^4.1.4",
2930
"vite": "^7.0.2",
3031
"vite-plugin-inspect": "^11.2.0"

packages/plugin-rsc/examples/basic/vite.config.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,14 @@ export default defineConfig({
2222
clearScreen: false,
2323
plugins: [
2424
tailwindcss(),
25-
react(),
25+
process.env.TEST_REACT_COMPILER
26+
? (react({
27+
babel: { plugins: ['babel-plugin-react-compiler'] },
28+
}).map((p) => ({
29+
...p,
30+
applyToEnvironment: (e: any) => e.name === 'client',
31+
})) as any)
32+
: react(),
2633
vitePluginUseCache(),
2734
rsc({
2835
entries: {

pnpm-lock.yaml

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)