@@ -92,28 +92,28 @@ test.describe(() => {
92
92
src : 'examples/starter' ,
93
93
dest : root ,
94
94
files : {
95
+ 'vite.config.base.ts' : { cp : 'vite.config.ts' } ,
95
96
'vite.config.ts' : /* js */ `
96
97
import rsc from '@vitejs/plugin-rsc'
97
98
import react from '@vitejs/plugin-react'
98
- import { defineConfig } from 'vite'
99
+ import { defineConfig, mergeConfig } from 'vite'
100
+ import baseConfig from './vite.config.base.ts'
101
+
102
+ delete baseConfig.plugins
99
103
100
- export default defineConfig({
104
+ const overrideConfig = defineConfig({
101
105
plugins: [
102
106
react({
103
107
babel: { plugins: ['babel-plugin-react-compiler'] },
104
108
}).map((p) => ({
105
109
...p,
106
110
applyToEnvironment: (e) => e.name === 'client',
107
111
})),
108
- rsc({
109
- entries: {
110
- client: './src/framework/entry.browser.tsx',
111
- ssr: './src/framework/entry.ssr.tsx',
112
- rsc: './src/framework/entry.rsc.tsx',
113
- }
114
- }),
112
+ rsc(),
115
113
],
116
114
})
115
+
116
+ export default mergeConfig(baseConfig, overrideConfig)
117
117
` ,
118
118
} ,
119
119
} )
@@ -145,24 +145,16 @@ test.describe(() => {
145
145
src : 'examples/starter' ,
146
146
dest : root ,
147
147
files : {
148
+ 'vite.config.base.ts' : { cp : 'vite.config.ts' } ,
148
149
'vite.config.ts' : /* js */ `
149
- import rsc from '@vitejs/plugin-rsc'
150
- import react from '@vitejs/plugin-react'
151
- import { defineConfig } from 'vite'
150
+ import { defineConfig, mergeConfig } from 'vite'
151
+ import baseConfig from './vite.config.base.ts'
152
152
153
- export default defineConfig({
153
+ const overrideConfig = defineConfig({
154
154
base: '/custom-base/',
155
- plugins: [
156
- react(),
157
- rsc({
158
- entries: {
159
- client: './src/framework/entry.browser.tsx',
160
- ssr: './src/framework/entry.ssr.tsx',
161
- rsc: './src/framework/entry.rsc.tsx',
162
- }
163
- }),
164
- ],
165
155
})
156
+
157
+ export default mergeConfig(baseConfig, overrideConfig)
166
158
` ,
167
159
} ,
168
160
} )
@@ -193,22 +185,12 @@ test.describe(() => {
193
185
src : 'examples/starter' ,
194
186
dest : root ,
195
187
files : {
188
+ 'vite.config.base.ts' : { cp : 'vite.config.ts' } ,
196
189
'vite.config.ts' : /* js */ `
197
- import rsc from '@vitejs/plugin-rsc'
198
- import react from '@vitejs/plugin-react'
199
- import { defineConfig, createRunnableDevEnvironment } from 'vite'
190
+ import { defineConfig, mergeConfig, createRunnableDevEnvironment } from 'vite'
191
+ import baseConfig from './vite.config.base.ts'
200
192
201
- export default defineConfig({
202
- plugins: [
203
- react(),
204
- rsc({
205
- entries: {
206
- client: './src/framework/entry.browser.tsx',
207
- ssr: './src/framework/entry.ssr.tsx',
208
- rsc: './src/framework/entry.rsc.tsx',
209
- }
210
- }),
211
- ],
193
+ const overrideConfig = defineConfig({
212
194
environments: {
213
195
ssr: {
214
196
dev: {
@@ -234,6 +216,8 @@ test.describe(() => {
234
216
},
235
217
},
236
218
})
219
+
220
+ export default mergeConfig(baseConfig, overrideConfig)
237
221
` ,
238
222
} ,
239
223
} )
0 commit comments