Home / File/ ssrLoadModule.spec.ts — vite Source File

ssrLoadModule.spec.ts — vite Source File

Architecture documentation for ssrLoadModule.spec.ts, a typescript file in the vite codebase. 9 imports, 0 dependents.

File typescript ViteCore ConfigEngine 9 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  b862ddde_18cd_47de_09e0_9276876754db["ssrLoadModule.spec.ts"]
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  b862ddde_18cd_47de_09e0_9276876754db --> a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  19009191_26ac_2526_d048_41ac02638e55["createServer"]
  b862ddde_18cd_47de_09e0_9276876754db --> 19009191_26ac_2526_d048_41ac02638e55
  031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"]
  b862ddde_18cd_47de_09e0_9276876754db --> 031bc221_67a8_c579_f2bf_bb30a08beeb2
  a4adb1a7_cf54_091f_eb63_8217e684a8e1["normalizePath"]
  b862ddde_18cd_47de_09e0_9276876754db --> a4adb1a7_cf54_091f_eb63_8217e684a8e1
  6feed3e8_55b8_cce7_b5ef_e40b872585f7["node:url"]
  b862ddde_18cd_47de_09e0_9276876754db --> 6feed3e8_55b8_cce7_b5ef_e40b872585f7
  51e96894_3556_ed5c_1ede_97d449867adf["node:path"]
  b862ddde_18cd_47de_09e0_9276876754db --> 51e96894_3556_ed5c_1ede_97d449867adf
  e6032fbc_44cf_58d6_868d_dd15106c18c5["node:fs"]
  b862ddde_18cd_47de_09e0_9276876754db --> e6032fbc_44cf_58d6_868d_dd15106c18c5
  10809968_066c_58db_f8b4_cb0464da805e["node:util"]
  b862ddde_18cd_47de_09e0_9276876754db --> 10809968_066c_58db_f8b4_cb0464da805e
  a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"]
  b862ddde_18cd_47de_09e0_9276876754db --> a340ba46_b2b7_3048_3bb3_6907a74c8464
  style b862ddde_18cd_47de_09e0_9276876754db fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { fileURLToPath } from 'node:url'
import path from 'node:path'
import fs from 'node:fs'
import { stripVTControlCharacters } from 'node:util'
import { expect, onTestFinished, test, vi } from 'vitest'
import { createServer } from '../../server'
import { normalizePath } from '../../utils'

const root = fileURLToPath(new URL('./', import.meta.url))

async function createDevServer() {
  const server = await createServer({
    configFile: false,
    root,
    logLevel: 'silent',
    optimizeDeps: {
      noDiscovery: true,
    },
  })
  await server.environments.ssr.pluginContainer.buildStart({})
  return server
}

test('ssrLoad', async () => {
  expect.assertions(1)
  const server = await createDevServer()
  const moduleRelativePath = '/fixtures/modules/has-invalid-import.js'
  const moduleAbsolutePath = normalizePath(path.join(root, moduleRelativePath))
  try {
    await server.ssrLoadModule(moduleRelativePath)
  } catch (e) {
    expect(e.message).toBe(
      `Failed to load url ./non-existent.js (resolved id: ./non-existent.js) in ${moduleAbsolutePath}. Does the file exist?`,
    )
  }
})

test('error has same instance', async () => {
  expect.assertions(3)
  const s = Symbol()

  const server = await createDevServer()
  try {
    await server.ssrLoadModule('/fixtures/modules/has-error.js')
  } catch (e) {
    expect(e[s]).toBeUndefined()
    e[s] = true
    expect(e[s]).toBe(true)
  }

  try {
    await server.ssrLoadModule('/fixtures/modules/has-error.js')
  } catch (e) {
    expect(e[s]).toBe(true)
  }
})

test('import.meta.filename/dirname returns same value with Node', async () => {
  const server = await createDevServer()
  const moduleRelativePath = '/fixtures/modules/import-meta.js'
// ... (322 more lines)

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does ssrLoadModule.spec.ts do?
ssrLoadModule.spec.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 ssrLoadModule.spec.ts?
ssrLoadModule.spec.ts defines 1 function(s): createDevServer.
What does ssrLoadModule.spec.ts depend on?
ssrLoadModule.spec.ts imports 9 module(s): createServer, index.ts, node:fs, node:path, node:url, node:util, normalizePath, utils.ts, and 1 more.
Where is ssrLoadModule.spec.ts in the architecture?
ssrLoadModule.spec.ts is located at packages/vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr/__tests__).

Analyze Your Own Codebase

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

Try Supermodel Free