MCPcopy
hub / github.com/vitejs/vite / setupModuleRunner

Function setupModuleRunner

playground/hmr-ssr/__tests__/hmr-ssr.spec.ts:1103–1168  ·  view source on GitHub ↗
(
  entrypoint: string,
  serverOptions: InlineConfig = {},
  waitForFile: string = entrypoint,
  initHmrState: Record<string, string> = {},
)

Source from the content-addressed store, hash-verified

1101}
1102
1103async function setupModuleRunner(
1104 entrypoint: string,
1105 serverOptions: InlineConfig = {},
1106 waitForFile: string = entrypoint,
1107 initHmrState: Record<string, string> = {},
1108) {
1109 if (server) {
1110 await server.close()
1111 clientLogs.length = 0
1112 serverLogs.length = 0
1113 runner.clearCache()
1114 }
1115
1116 globalThis.__HMR__ = initHmrState as any
1117
1118 const logger = new HMRMockLogger()
1119 // @ts-expect-error not typed for HMR
1120 globalThis.log = (...msg) => logger.log(...msg)
1121
1122 server = await createServer({
1123 configFile: resolve(testDir, 'vite.config.ts'),
1124 root: testDir,
1125 customLogger: createInMemoryLogger(serverLogs),
1126 server: {
1127 middlewareMode: true,
1128 watch: {
1129 // During tests we edit the files too fast and sometimes chokidar
1130 // misses change events, so enforce polling for consistency
1131 usePolling: true,
1132 interval: 100,
1133 },
1134 hmr: {
1135 port: 9609,
1136 },
1137 preTransformRequests: false,
1138 },
1139 environments: {
1140 ssr: {
1141 dev: {
1142 createEnvironment(name, config) {
1143 return createRunnableDevEnvironment(name, config, {
1144 runnerOptions: { hmr: { logger } },
1145 })
1146 },
1147 },
1148 },
1149 },
1150 optimizeDeps: {
1151 disabled: true,
1152 noDiscovery: true,
1153 include: [],
1154 },
1155 ...serverOptions,
1156 })
1157
1158 runner = (server.environments.ssr as RunnableDevEnvironment).runner
1159
1160 await waitForWatcher(server, waitForFile)

Callers 2

hmr-ssr.spec.tsFile · 0.85
testStarExportsFunction · 0.85

Calls 8

logMethod · 0.95
createServerFunction · 0.90
createInMemoryLoggerFunction · 0.85
clearCacheMethod · 0.80
importMethod · 0.80
waitForWatcherFunction · 0.70
closeMethod · 0.65
resolveFunction · 0.50

Tested by

no test coverage detected