@@ -67,8 +67,6 @@ export const serverLogs: string[] = []
67
67
export const browserLogs : string [ ] = [ ]
68
68
export const browserErrors : Error [ ] = [ ]
69
69
70
- export let resolvedConfig : ResolvedConfig = undefined !
71
-
72
70
export let page : Page = undefined !
73
71
export let browser : Browser = undefined !
74
72
export let viteTestUrl : string = ''
@@ -107,15 +105,6 @@ beforeAll(async (s) => {
107
105
browser = await chromium . connect ( wsEndpoint )
108
106
page = await browser . newPage ( )
109
107
110
- const globalConsole = global . console
111
- const warn = globalConsole . warn
112
- globalConsole . warn = ( msg , ...args ) => {
113
- // suppress @vue /reactivity-transform warning
114
- if ( msg . includes ( '@vue/reactivity-transform' ) ) return
115
- if ( msg . includes ( 'Generated an empty chunk' ) ) return
116
- warn . call ( globalConsole , msg , ...args )
117
- }
118
-
119
108
try {
120
109
page . on ( 'console' , ( msg ) => {
121
110
// ignore favicon request in headed browser
@@ -226,9 +215,6 @@ async function loadConfig(configEnv: ConfigEnv) {
226
215
usePolling : true ,
227
216
interval : 100 ,
228
217
} ,
229
- fs : {
230
- strict : ! isBuild ,
231
- } ,
232
218
} ,
233
219
build : {
234
220
// esbuild do not minify ES lib output since that would remove pure annotations and break tree-shaking
@@ -249,13 +235,14 @@ export async function startDefaultServe(): Promise<void> {
249
235
process . env . VITE_INLINE = 'inline-serve'
250
236
const config = await loadConfig ( { command : 'serve' , mode : 'development' } )
251
237
viteServer = server = await ( await createServer ( config ) ) . listen ( )
252
- viteTestUrl = server . resolvedUrls . local [ 0 ]
253
- if ( server . config . base === '/' ) {
254
- viteTestUrl = viteTestUrl . replace ( / \/ $ / , '' )
255
- }
238
+ viteTestUrl = stripTrailingSlashIfNeeded (
239
+ server . resolvedUrls . local [ 0 ] ,
240
+ server . config . base ,
241
+ )
256
242
await page . goto ( viteTestUrl )
257
243
} else {
258
244
process . env . VITE_INLINE = 'inline-build'
245
+ let resolvedConfig : ResolvedConfig
259
246
// determine build watch
260
247
const resolvedPlugin : ( ) => PluginOption = ( ) => ( {
261
248
name : 'vite-plugin-watcher' ,
@@ -294,7 +281,10 @@ export async function startDefaultServe(): Promise<void> {
294
281
const previewServer = await preview ( previewConfig )
295
282
// prevent preview change NODE_ENV
296
283
process . env . NODE_ENV = _nodeEnv
297
- viteTestUrl = previewServer . resolvedUrls . local [ 0 ]
284
+ viteTestUrl = stripTrailingSlashIfNeeded (
285
+ previewServer . resolvedUrls . local [ 0 ] ,
286
+ previewServer . config . base ,
287
+ )
298
288
await page . goto ( viteTestUrl )
299
289
}
300
290
}
@@ -362,6 +352,13 @@ export function slash(p: string): string {
362
352
return p . replace ( / \\ / g, '/' )
363
353
}
364
354
355
+ function stripTrailingSlashIfNeeded ( url : string , base : string ) : string {
356
+ if ( base === '/' ) {
357
+ return url . replace ( / \/ $ / , '' )
358
+ }
359
+ return url
360
+ }
361
+
365
362
declare module 'vite' {
366
363
export interface UserConfig {
367
364
/**
0 commit comments