Home / File/ serverModuleRunner.ts — vite Source File

serverModuleRunner.ts — vite Source File

Architecture documentation for serverModuleRunner.ts, a typescript file in the vite codebase. 10 imports, 5 dependents.

File typescript ViteCore ConfigEngine 10 imports 5 dependents 5 functions

Entity Profile

Dependency Diagram

graph LR
  d14cf24c_f830_6905_0df1_4e9b0f67c84b["serverModuleRunner.ts"]
  7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> 7916c84f_5621_2b3b_d220_a171ebce997f
  f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> f634223d_ed8e_a65b_08f8_a839ec17994a
  18db4f26_79f1_5b7d_b291_4feeaf95538f["hmr.ts"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> 18db4f26_79f1_5b7d_b291_4feeaf95538f
  b706f44e_01d6_7e4d_ecae_855c7a08c218["HotChannelClient"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> b706f44e_01d6_7e4d_ecae_855c7a08c218
  7c428646_092a_d4a3_4ee1_a6544a5cae8a["NormalizedServerHotChannel"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> 7c428646_092a_d4a3_4ee1_a6544a5cae8a
  a469d907_868c_e1c2_3f7a_7aaf42cc6a7a["moduleRunnerTransport.ts"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> a469d907_868c_e1c2_3f7a_7aaf42cc6a7a
  a247e169_2684_25ae_f8ce_bdc392ce8295["ModuleRunnerTransport"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> a247e169_2684_25ae_f8ce_bdc392ce8295
  e6032fbc_44cf_58d6_868d_dd15106c18c5["node:fs"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> e6032fbc_44cf_58d6_868d_dd15106c18c5
  9ca835cf_b489_83a7_91dd_00ed2ef4e6f6["module-runner"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> 9ca835cf_b489_83a7_91dd_00ed2ef4e6f6
  ccb8a028_b1ec_3743_cfbe_0ac5315bc7c3["hmrPayload"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b --> ccb8a028_b1ec_3743_cfbe_0ac5315bc7c3
  43a88d28_8249_43cb_6290_40948912d7f6["environment.spec.ts"]
  43a88d28_8249_43cb_6290_40948912d7f6 --> d14cf24c_f830_6905_0df1_4e9b0f67c84b
  4178ebd0_8773_071c_311f_24390932e54b["resolve.spec.ts"]
  4178ebd0_8773_071c_311f_24390932e54b --> d14cf24c_f830_6905_0df1_4e9b0f67c84b
  e21da89c_08b2_d4be_4023_7ef3ad334bdb["runnableEnvironment.ts"]
  e21da89c_08b2_d4be_4023_7ef3ad334bdb --> d14cf24c_f830_6905_0df1_4e9b0f67c84b
  01ea9ea3_8399_6861_2813_c2cb84e13dbd["utils.ts"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> d14cf24c_f830_6905_0df1_4e9b0f67c84b
  style d14cf24c_f830_6905_0df1_4e9b0f67c84b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { existsSync, readFileSync } from 'node:fs'
import { ModuleRunner, createNodeImportMeta } from 'vite/module-runner'
import type {
  ModuleEvaluator,
  ModuleRunnerHmr,
  ModuleRunnerOptions,
} from 'vite/module-runner'
import type { HotPayload } from '#types/hmrPayload'
import type { DevEnvironment } from '../../server/environment'
import type {
  HotChannelClient,
  NormalizedServerHotChannel,
} from '../../server/hmr'
import type { ModuleRunnerTransport } from '../../../shared/moduleRunnerTransport'

/**
 * @experimental
 */
export interface ServerModuleRunnerOptions extends Omit<
  ModuleRunnerOptions,
  'root' | 'fetchModule' | 'hmr' | 'transport'
> {
  /**
   * Disable HMR or configure HMR logger.
   */
  hmr?:
    | false
    | {
        logger?: ModuleRunnerHmr['logger']
      }
  /**
   * Provide a custom module evaluator. This controls how the code is executed.
   */
  evaluator?: ModuleEvaluator
}

function createHMROptions(
  environment: DevEnvironment,
  options: ServerModuleRunnerOptions,
) {
  if (environment.config.server.hmr === false || options.hmr === false) {
    return false
  }
  if (!('api' in environment.hot)) return false
  return {
    logger: options.hmr?.logger,
  }
}

const prepareStackTrace = {
  retrieveFile(id: string) {
    if (existsSync(id)) {
      return readFileSync(id, 'utf-8')
    }
  },
}

function resolveSourceMapOptions(options: ServerModuleRunnerOptions) {
  if (options.sourcemapInterceptor != null) {
    if (options.sourcemapInterceptor === 'prepareStackTrace') {
// ... (88 more lines)

Domain

Subdomains

Frequently Asked Questions

What does serverModuleRunner.ts do?
serverModuleRunner.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in serverModuleRunner.ts?
serverModuleRunner.ts defines 5 function(s): createHMROptions, createServerModuleRunner, createServerModuleRunnerTransport, prepareStackTrace.retrieveFile, resolveSourceMapOptions.
What does serverModuleRunner.ts depend on?
serverModuleRunner.ts imports 10 module(s): DevEnvironment, HotChannelClient, ModuleRunnerTransport, NormalizedServerHotChannel, environment.ts, hmr.ts, hmrPayload, module-runner, and 2 more.
What files import serverModuleRunner.ts?
serverModuleRunner.ts is imported by 5 file(s): environment.spec.ts, resolve.spec.ts, runnableEnvironment.ts, ssrModuleLoader.ts, utils.ts.
Where is serverModuleRunner.ts in the architecture?
serverModuleRunner.ts is located at packages/vite/src/node/ssr/runtime/serverModuleRunner.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr/runtime).

Analyze Your Own Codebase

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

Try Supermodel Free