Home / File/ fullBundleEnvironment.ts — vite Source File

fullBundleEnvironment.ts — vite Source File

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

File typescript ViteCore ConfigEngine 23 imports 4 dependents 1 functions 3 classes

Entity Profile

Dependency Diagram

graph LR
  f070fb78_2f2a_ef11_0530_d34862fa95ca["fullBundleEnvironment.ts"]
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 45981d85_cbdd_e969_8c88_c17072ea0eda
  5f248dff_9bc5_81c9_2fb1_99ac1026a9ef["ChunkMetadataMap"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 5f248dff_9bc5_81c9_2fb1_99ac1026a9ef
  a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52["resolveRolldownOptions"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52
  706c7fc5_ca45_d178_75a9_66940b856450["clientInjections.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 706c7fc5_ca45_d178_75a9_66940b856450
  b2ef9799_cd96_ba83_06a5_28e8fa51363d["getHmrImplementation"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> b2ef9799_cd96_ba83_06a5_28e8fa51363d
  7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 7916c84f_5621_2b3b_d220_a171ebce997f
  f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> f634223d_ed8e_a65b_08f8_a839ec17994a
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  eb5604c2_58e1_1c00_5a1a_5d97ea5236ad["ResolvedConfig"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> eb5604c2_58e1_1c00_5a1a_5d97ea5236ad
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  31fbe894_2070_4b11_3ffa_96b46ed3dfa9["ViteDevServer"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 31fbe894_2070_4b11_3ffa_96b46ed3dfa9
  031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 031bc221_67a8_c579_f2bf_bb30a08beeb2
  23a2e685_f919_9578_27ba_bde71c122058["createDebugger"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 23a2e685_f919_9578_27ba_bde71c122058
  18db4f26_79f1_5b7d_b291_4feeaf95538f["hmr.ts"]
  f070fb78_2f2a_ef11_0530_d34862fa95ca --> 18db4f26_79f1_5b7d_b291_4feeaf95538f
  style f070fb78_2f2a_ef11_0530_d34862fa95ca fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { randomUUID } from 'node:crypto'
import { setTimeout } from 'node:timers/promises'
import {
  type BindingClientHmrUpdate,
  type DevEngine,
  dev,
} from 'rolldown/experimental'
import colors from 'picocolors'
import getEtag from 'etag'
import type { Update } from '#types/hmrPayload'
import { ChunkMetadataMap, resolveRolldownOptions } from '../../build'
import { getHmrImplementation } from '../../plugins/clientInjections'
import { DevEnvironment, type DevEnvironmentContext } from '../environment'
import type { ResolvedConfig } from '../../config'
import type { ViteDevServer } from '../../server'
import { createDebugger } from '../../utils'
import { type NormalizedHotChannelClient, getShortName } from '../hmr'
import { prepareError } from '../middlewares/error'

const debug = createDebugger('vite:full-bundle-mode')

type HmrOutput = BindingClientHmrUpdate['update']

type MemoryFile = {
  source: string | Uint8Array
  etag?: string
}

export class MemoryFiles {
  private files = new Map<string, MemoryFile | (() => MemoryFile)>()

  get size(): number {
    return this.files.size
  }

  get(file: string): MemoryFile | undefined {
    const result = this.files.get(file)
    if (result === undefined) {
      return undefined
    }
    if (typeof result === 'function') {
      const content = result()
      this.files.set(file, content)
      return content
    }
    return result
  }

  set(file: string, content: MemoryFile | (() => MemoryFile)): void {
    this.files.set(file, content)
  }

  has(file: string): boolean {
    return this.files.has(file)
  }

  clear(): void {
    this.files.clear()
  }
}
// ... (352 more lines)

Domain

Subdomains

Functions

Frequently Asked Questions

What does fullBundleEnvironment.ts do?
fullBundleEnvironment.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 fullBundleEnvironment.ts?
fullBundleEnvironment.ts defines 1 function(s): debounce.
What does fullBundleEnvironment.ts depend on?
fullBundleEnvironment.ts imports 23 module(s): ChunkMetadataMap, DevEnvironment, ResolvedConfig, ViteDevServer, build.ts, clientInjections.ts, config.ts, createDebugger, and 15 more.
What files import fullBundleEnvironment.ts?
fullBundleEnvironment.ts is imported by 4 file(s): config.ts, htmlFallback.ts, indexHtml.ts, memoryFiles.ts.
Where is fullBundleEnvironment.ts in the architecture?
fullBundleEnvironment.ts is located at packages/vite/src/node/server/environments/fullBundleEnvironment.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/server/environments).

Analyze Your Own Codebase

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

Try Supermodel Free