@@ -16,7 +16,7 @@ import { readFile } from 'node:fs/promises';
16
16
import { ServerResponse } from 'node:http' ;
17
17
import type { AddressInfo } from 'node:net' ;
18
18
import path from 'node:path' ;
19
- import { Connect , InlineConfig , ViteDevServer , createServer , normalizePath } from 'vite' ;
19
+ import type { Connect , InlineConfig , ViteDevServer } from 'vite' ;
20
20
import { JavaScriptTransformer } from '../../tools/esbuild/javascript-transformer' ;
21
21
import { RenderOptions , renderPage } from '../../utils/server-rendering/render-page' ;
22
22
import { buildEsbuildBrowser } from '../browser-esbuild' ;
@@ -63,6 +63,9 @@ export async function* serveWithVite(
63
63
serverOptions . servePath = browserOptions . baseHref ;
64
64
}
65
65
66
+ // dynamically import Vite for ESM compatibility
67
+ const { createServer, normalizePath } = await import ( 'vite' ) ;
68
+
66
69
let server : ViteDevServer | undefined ;
67
70
let listeningAddress : AddressInfo | undefined ;
68
71
const generatedFiles = new Map < string , OutputFileRecord > ( ) ;
@@ -74,7 +77,7 @@ export async function* serveWithVite(
74
77
assert ( result . outputFiles , 'Builder did not provide result files.' ) ;
75
78
76
79
// Analyze result files for changes
77
- analyzeResultFiles ( result . outputFiles , generatedFiles ) ;
80
+ analyzeResultFiles ( normalizePath , result . outputFiles , generatedFiles ) ;
78
81
79
82
assetFiles . clear ( ) ;
80
83
if ( result . assetFiles ) {
@@ -136,6 +139,7 @@ export async function* serveWithVite(
136
139
}
137
140
138
141
function analyzeResultFiles (
142
+ normalizePath : ( id : string ) => string ,
139
143
resultFiles : OutputFile [ ] ,
140
144
generatedFiles : Map < string , OutputFileRecord > ,
141
145
) {
@@ -203,6 +207,9 @@ export async function setupServer(
203
207
true ,
204
208
) ;
205
209
210
+ // dynamically import Vite for ESM compatibility
211
+ const { normalizePath } = await import ( 'vite' ) ;
212
+
206
213
const configuration : InlineConfig = {
207
214
configFile : false ,
208
215
envFile : false ,
0 commit comments