Home / File/ utils.ts — vite Source File

utils.ts — vite Source File

Architecture documentation for utils.ts, a typescript file in the vite codebase. 15 imports, 4 dependents.

File typescript ViteCore ConfigEngine 15 imports 4 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  01ea9ea3_8399_6861_2813_c2cb84e13dbd["utils.ts"]
  d14cf24c_f830_6905_0df1_4e9b0f67c84b["serverModuleRunner.ts"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> d14cf24c_f830_6905_0df1_4e9b0f67c84b
  981bce9f_678d_05fa_327e_a90532eff213["ServerModuleRunnerOptions"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 981bce9f_678d_05fa_327e_a90532eff213
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  31fbe894_2070_4b11_3ffa_96b46ed3dfa9["ViteDevServer"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 31fbe894_2070_4b11_3ffa_96b46ed3dfa9
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  6729b047_29e8_ba18_f1ca_c87655a130d3["InlineConfig"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 6729b047_29e8_ba18_f1ca_c87655a130d3
  19009191_26ac_2526_d048_41ac02638e55["createServer"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 19009191_26ac_2526_d048_41ac02638e55
  ebea5da1_fa3d_b3f6_9793_71dfb88847a4["createServerModuleRunner"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> ebea5da1_fa3d_b3f6_9793_71dfb88847a4
  7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 7916c84f_5621_2b3b_d220_a171ebce997f
  f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> f634223d_ed8e_a65b_08f8_a839ec17994a
  e6032fbc_44cf_58d6_868d_dd15106c18c5["node:fs"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> e6032fbc_44cf_58d6_868d_dd15106c18c5
  51e96894_3556_ed5c_1ede_97d449867adf["node:path"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 51e96894_3556_ed5c_1ede_97d449867adf
  6feed3e8_55b8_cce7_b5ef_e40b872585f7["node:url"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> 6feed3e8_55b8_cce7_b5ef_e40b872585f7
  a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"]
  01ea9ea3_8399_6861_2813_c2cb84e13dbd --> a340ba46_b2b7_3048_3bb3_6907a74c8464
  style 01ea9ea3_8399_6861_2813_c2cb84e13dbd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import fs from 'node:fs'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import type { TestAPI } from 'vitest'
import { afterEach, beforeEach, onTestFinished, test } from 'vitest'
import type { ModuleRunner } from 'vite/module-runner'
import type { ServerModuleRunnerOptions } from '../serverModuleRunner'
import type { ViteDevServer } from '../../../server'
import type { InlineConfig } from '../../../config'
import { createServer } from '../../../server'
import { createServerModuleRunner } from '../serverModuleRunner'
import type { DevEnvironment } from '../../../server/environment'

interface TestClient {
  server: ViteDevServer
  runner: ModuleRunner
  environment: DevEnvironment
}

export async function createModuleRunnerTester(
  config: InlineConfig = {},
  runnerConfig: ServerModuleRunnerOptions = {},
): Promise<TestAPI<TestClient>> {
  function waitForWatcher(server: ViteDevServer) {
    return new Promise<void>((resolve) => {
      if ((server.watcher as any)._readyEmitted) {
        resolve()
      } else {
        server.watcher.once('ready', () => resolve())
      }
    })
  }

  beforeEach<TestClient>(async (t) => {
    // @ts-ignore
    globalThis.__HMR__ = {}

    t.server = await createServer({
      root: import.meta.dirname,
      logLevel: 'error',
      server: {
        middlewareMode: true,
        watch: null,
        ws: false,
      },
      ssr: {
        external: ['@vitejs/cjs-external', '@vitejs/esm-external'],
      },
      optimizeDeps: {
        disabled: true,
        noDiscovery: true,
        include: [],
      },
      plugins: [
        {
          name: 'vite-plugin-virtual',
          resolveId(id) {
            if (id === 'virtual0:test') {
              return `\0virtual:test`
            }
// ... (72 more lines)

Domain

Subdomains

Frequently Asked Questions

What does utils.ts do?
utils.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 utils.ts?
utils.ts defines 4 function(s): createFixtureEditor, createModuleRunnerTester, file, resolvePath.
What does utils.ts depend on?
utils.ts imports 15 module(s): DevEnvironment, InlineConfig, ServerModuleRunnerOptions, ViteDevServer, config.ts, createServer, createServerModuleRunner, environment.ts, and 7 more.
What files import utils.ts?
utils.ts is imported by 4 file(s): server-hmr.spec.ts, server-no-hmr.spec.ts, server-runtime.spec.ts, server-source-maps.spec.ts.
Where is utils.ts in the architecture?
utils.ts is located at packages/vite/src/node/ssr/runtime/__tests__/utils.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr/runtime/__tests__).

Analyze Your Own Codebase

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

Try Supermodel Free