Home / Function/ setupModuleRunner() — vite Function Reference

setupModuleRunner() — vite Function Reference

Architecture documentation for the setupModuleRunner() function in hmr-ssr.spec.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  9e717dd4_9e19_fc9c_9699_c1993d73656a["setupModuleRunner()"]
  2f2e510b_d491_14bf_c7ee_0c390a8b3218["hmr-ssr.spec.ts"]
  9e717dd4_9e19_fc9c_9699_c1993d73656a -->|defined in| 2f2e510b_d491_14bf_c7ee_0c390a8b3218
  dc4764bf_ed7e_59c7_6669_d4e1787e551b["log()"]
  9e717dd4_9e19_fc9c_9699_c1993d73656a -->|calls| dc4764bf_ed7e_59c7_6669_d4e1787e551b
  ec81ed77_50ee_2fff_de4d_794033c60791["waitForWatcher()"]
  9e717dd4_9e19_fc9c_9699_c1993d73656a -->|calls| ec81ed77_50ee_2fff_de4d_794033c60791
  style 9e717dd4_9e19_fc9c_9699_c1993d73656a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

playground/hmr-ssr/__tests__/hmr-ssr.spec.ts lines 1104–1169

async function setupModuleRunner(
  entrypoint: string,
  serverOptions: InlineConfig = {},
  waitForFile: string = entrypoint,
  initHmrState: Record<string, string> = {},
) {
  if (server) {
    await server.close()
    clientLogs.length = 0
    serverLogs.length = 0
    runner.clearCache()
  }

  globalThis.__HMR__ = initHmrState as any

  const logger = new HMRMockLogger()
  // @ts-expect-error not typed for HMR
  globalThis.log = (...msg) => logger.log(...msg)

  server = await createServer({
    configFile: resolve(testDir, 'vite.config.ts'),
    root: testDir,
    customLogger: createInMemoryLogger(serverLogs),
    server: {
      middlewareMode: true,
      watch: {
        // During tests we edit the files too fast and sometimes chokidar
        // misses change events, so enforce polling for consistency
        usePolling: true,
        interval: 100,
      },
      hmr: {
        port: 9609,
      },
      preTransformRequests: false,
    },
    environments: {
      ssr: {
        dev: {
          createEnvironment(name, config) {
            return createRunnableDevEnvironment(name, config, {
              runnerOptions: { hmr: { logger } },
            })
          },
        },
      },
    },
    optimizeDeps: {
      disabled: true,
      noDiscovery: true,
      include: [],
    },
    ...serverOptions,
  })

  runner = (server.environments.ssr as RunnableDevEnvironment).runner

  await waitForWatcher(server, waitForFile)

  await runner.import(entrypoint)

  return {
    runtime: runner,
    server,
  }
}

Domain

Subdomains

Frequently Asked Questions

What does setupModuleRunner() do?
setupModuleRunner() is a function in the vite codebase, defined in playground/hmr-ssr/__tests__/hmr-ssr.spec.ts.
Where is setupModuleRunner() defined?
setupModuleRunner() is defined in playground/hmr-ssr/__tests__/hmr-ssr.spec.ts at line 1104.
What does setupModuleRunner() call?
setupModuleRunner() calls 2 function(s): log, waitForWatcher.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free