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

ssrStacktrace.spec.ts — vite Source File

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

File typescript ViteCore ConfigEngine 4 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  2a011df2_9a29_85fb_8cb0_b4440caaa94f["ssrStacktrace.spec.ts"]
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  2a011df2_9a29_85fb_8cb0_b4440caaa94f --> a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  19009191_26ac_2526_d048_41ac02638e55["createServer"]
  2a011df2_9a29_85fb_8cb0_b4440caaa94f --> 19009191_26ac_2526_d048_41ac02638e55
  6feed3e8_55b8_cce7_b5ef_e40b872585f7["node:url"]
  2a011df2_9a29_85fb_8cb0_b4440caaa94f --> 6feed3e8_55b8_cce7_b5ef_e40b872585f7
  a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"]
  2a011df2_9a29_85fb_8cb0_b4440caaa94f --> a340ba46_b2b7_3048_3bb3_6907a74c8464
  style 2a011df2_9a29_85fb_8cb0_b4440caaa94f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { fileURLToPath } from 'node:url'
import { expect, test } from 'vitest'
import { createServer } from '../../server'

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('call rewriteStacktrace twice', async () => {
  const server = await createDevServer()
  for (let i = 0; i < 2; i++) {
    try {
      await server.ssrLoadModule('/fixtures/modules/has-error.js')
    } catch (e: any) {
      server.ssrFixStacktrace(e)
    }
  }
})

test('outputs message when stacktrace appears to be already rewritten', async () => {
  const server = await createDevServer()
  try {
    await server.ssrLoadModule('/fixtures/modules/has-error.js')
  } catch (e: any) {
    // Manually craft an already-rewritten stacktrace with invalid line/column
    // that will trigger the alreadyRewritten flag
    e.stack = e.stack.replace(
      /fixtures\/modules\/has-error\.js:\d+:\d+/,
      'fixtures/modules/has-error.js:1:1',
    )
    server.ssrFixStacktrace(e)
    expect(e.message).toContain(
      'The stacktrace appears to be already rewritten by something else',
    )
  }
})

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does ssrStacktrace.spec.ts do?
ssrStacktrace.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 ssrStacktrace.spec.ts?
ssrStacktrace.spec.ts defines 1 function(s): createDevServer.
What does ssrStacktrace.spec.ts depend on?
ssrStacktrace.spec.ts imports 4 module(s): createServer, index.ts, node:url, vitest.
Where is ssrStacktrace.spec.ts in the architecture?
ssrStacktrace.spec.ts is located at packages/vite/src/node/ssr/__tests__/ssrStacktrace.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