Skip to content

Commit 26fc749

Browse files
hi-ogawaclaude
andcommitted
test(rsc): add e2e test for nested RSC outDir
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent f5337c7 commit 26fc749

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import fs from 'node:fs'
2+
import path from 'node:path'
3+
import { expect, test } from '@playwright/test'
4+
import { setupInlineFixture, useFixture } from './fixture'
5+
import { defineStarterTest } from './starter'
6+
7+
test.describe(() => {
8+
const root = 'examples/e2e/temp/nested-outDir'
9+
10+
test.beforeAll(async () => {
11+
await setupInlineFixture({
12+
src: 'examples/starter',
13+
dest: root,
14+
files: {
15+
'vite.config.base.ts': { cp: 'vite.config.ts' },
16+
'vite.config.ts': /* js */ `
17+
import baseConfig from './vite.config.base.ts'
18+
19+
// Modify baseConfig to use nested outDir (rsc inside ssr)
20+
baseConfig.environments.rsc.build.outDir = './dist/server/rsc'
21+
baseConfig.environments.ssr.build.outDir = './dist/server'
22+
23+
export default baseConfig
24+
`,
25+
},
26+
})
27+
})
28+
29+
test.describe('build-nested-outDir', () => {
30+
const f = useFixture({ root, mode: 'build' })
31+
defineStarterTest(f)
32+
33+
test('verify nested outDir structure', () => {
34+
// RSC output exists inside SSR outDir
35+
expect(fs.existsSync(path.join(f.root, 'dist/server/rsc/index.js'))).toBe(
36+
true,
37+
)
38+
expect(
39+
fs.existsSync(
40+
path.join(f.root, 'dist/server/rsc/__vite_rsc_assets_manifest.js'),
41+
),
42+
).toBe(true)
43+
// SSR output exists
44+
expect(fs.existsSync(path.join(f.root, 'dist/server/index.js'))).toBe(
45+
true,
46+
)
47+
expect(
48+
fs.existsSync(
49+
path.join(f.root, 'dist/server/__vite_rsc_assets_manifest.js'),
50+
),
51+
).toBe(true)
52+
})
53+
})
54+
})

0 commit comments

Comments
 (0)