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

ssrTransform.spec.ts — vite Source File

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

File typescript ViteCore ConfigEngine 10 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  e13631c4_f21a_fed4_e229_655ad83f39af["ssrTransform.spec.ts"]
  926e3b98_b813_2ff8_abb3_16447ab95544["esbuild.ts"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 926e3b98_b813_2ff8_abb3_16447ab95544
  bf4a41be_9dbf_35be_2072_4283cd478ae7["transformWithEsbuild"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> bf4a41be_9dbf_35be_2072_4283cd478ae7
  20c20aaf_ad5b_4014_72b5_c8262a2b5be1["ssrTransform.ts"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 20c20aaf_ad5b_4014_72b5_c8262a2b5be1
  1ee4af98_1554_7714_4370_05ac2b2589cd["ssrTransform"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 1ee4af98_1554_7714_4370_05ac2b2589cd
  8377ae20_ffba_2f9c_bded_58742b7f1c3b["index.ts"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 8377ae20_ffba_2f9c_bded_58742b7f1c3b
  e6032fbc_44cf_58d6_868d_dd15106c18c5["node:fs"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> e6032fbc_44cf_58d6_868d_dd15106c18c5
  6feed3e8_55b8_cce7_b5ef_e40b872585f7["node:url"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 6feed3e8_55b8_cce7_b5ef_e40b872585f7
  a340ba46_b2b7_3048_3bb3_6907a74c8464["vitest"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> a340ba46_b2b7_3048_3bb3_6907a74c8464
  693ca867_249b_3e5a_0ce1_8930413b7fcd["rolldown"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> 693ca867_249b_3e5a_0ce1_8930413b7fcd
  b84d7b55_2c14_7c59_01d9_b663416bfad1["trace-mapping"]
  e13631c4_f21a_fed4_e229_655ad83f39af --> b84d7b55_2c14_7c59_01d9_b663416bfad1
  style e13631c4_f21a_fed4_e229_655ad83f39af fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { readFileSync } from 'node:fs'
import { fileURLToPath } from 'node:url'
import { assert, expect, test } from 'vitest'
import type { SourceMap } from 'rolldown'
import { TraceMap, originalPositionFor } from '@jridgewell/trace-mapping'
import { transformWithEsbuild } from '../../plugins/esbuild'
import { ssrTransform } from '../ssrTransform'
import { createServer } from '../..'

const ssrTransformSimple = async (code: string, url = '') =>
  ssrTransform(code, null, url, code)
const ssrTransformSimpleCode = async (code: string, url?: string) =>
  (await ssrTransformSimple(code, url))?.code

test('default import', async () => {
  expect(
    await ssrTransformSimpleCode(`import foo from 'vue';console.log(foo.bar)`),
  ).toMatchInlineSnapshot(
    `
    "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue", {"importedNames":["default"]});
    console.log(__vite_ssr_import_0__.default.bar)"
  `,
  )
})

test('named import', async () => {
  expect(
    await ssrTransformSimpleCode(
      `import { ref } from 'vue';function foo() { return ref(0) }`,
    ),
  ).toMatchInlineSnapshot(
    `
    "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue", {"importedNames":["ref"]});
    function foo() { return (0,__vite_ssr_import_0__.ref)(0) }"
  `,
  )
})

test('named import: arbitrary module namespace specifier', async () => {
  expect(
    await ssrTransformSimpleCode(
      `import { "some thing" as ref } from 'vue';function foo() { return ref(0) }`,
    ),
  ).toMatchInlineSnapshot(
    `
    "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue", {"importedNames":["some thing"]});
    function foo() { return (0,__vite_ssr_import_0__["some thing"])(0) }"
  `,
  )
})

test('namespace import', async () => {
  expect(
    await ssrTransformSimpleCode(
      `import * as vue from 'vue';function foo() { return vue.ref(0) }`,
    ),
  ).toMatchInlineSnapshot(
    `
    "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue");
    function foo() { return __vite_ssr_import_0__.ref(0) }"
// ... (1562 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does ssrTransform.spec.ts do?
ssrTransform.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 ssrTransform.spec.ts?
ssrTransform.spec.ts defines 2 function(s): ssrTransformSimple, ssrTransformSimpleCode.
What does ssrTransform.spec.ts depend on?
ssrTransform.spec.ts imports 10 module(s): esbuild.ts, index.ts, node:fs, node:url, rolldown, ssrTransform, ssrTransform.ts, trace-mapping, and 2 more.
Where is ssrTransform.spec.ts in the architecture?
ssrTransform.spec.ts is located at packages/vite/src/node/ssr/__tests__/ssrTransform.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