Home / File/ baseEnvironment.ts — vite Source File

baseEnvironment.ts — vite Source File

Architecture documentation for baseEnvironment.ts, a typescript file in the vite codebase. 8 imports, 16 dependents.

File typescript ViteCore ConfigEngine 8 imports 16 dependents 3 classes

Entity Profile

Dependency Diagram

graph LR
  84057c57_14eb_2f16_cd5c_1899e8da6db0["baseEnvironment.ts"]
  eca93de5_04d5_dda0_7ae6_2ceb5379ea81["logger.ts"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> eca93de5_04d5_dda0_7ae6_2ceb5379ea81
  fff7f05e_fc73_d337_53a0_b846230bc8e2["Logger"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> fff7f05e_fc73_d337_53a0_b846230bc8e2
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  eb5604c2_58e1_1c00_5a1a_5d97ea5236ad["ResolvedConfig"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> eb5604c2_58e1_1c00_5a1a_5d97ea5236ad
  9e1b2927_040f_72f4_c9cc_b3797d7128de["ResolvedEnvironmentOptions"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> 9e1b2927_040f_72f4_c9cc_b3797d7128de
  5abb8c87_ffcb_f2d4_7421_e36705d9e5c7["plugin.ts"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7
  1dc2cf7d_5d97_c778_8c33_6449a7607aef["Plugin"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> 1dc2cf7d_5d97_c778_8c33_6449a7607aef
  bff4f846_ab01_b5ba_74d4_c1608e434d2c["picocolors"]
  84057c57_14eb_2f16_cd5c_1899e8da6db0 --> bff4f846_ab01_b5ba_74d4_c1608e434d2c
  35b0e4f0_6e49_5afb_03d5_4d5a2f9632c2["external.spec.ts"]
  35b0e4f0_6e49_5afb_03d5_4d5a2f9632c2 --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  1186ae5f_9c47_47d1_a997_97009f0e87d5["assetImportMetaUrl.spec.ts"]
  1186ae5f_9c47_47d1_a997_97009f0e87d5 --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  ba0c3c35_a24f_6cf5_28b0_577f95582f08["css.spec.ts"]
  ba0c3c35_a24f_6cf5_28b0_577f95582f08 --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  bf20def2_a431_dfdf_d6e4_85c97827d9ad["define.spec.ts"]
  bf20def2_a431_dfdf_d6e4_85c97827d9ad --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  d6dd4268_24a5_9669_1bf7_bf10416c60f7["workerImportMetaUrl.spec.ts"]
  d6dd4268_24a5_9669_1bf7_bf10416c60f7 --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"]
  45981d85_cbdd_e969_8c88_c17072ea0eda --> 84057c57_14eb_2f16_cd5c_1899e8da6db0
  style 84057c57_14eb_2f16_cd5c_1899e8da6db0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import colors from 'picocolors'
import type { Logger } from './logger'
import type { ResolvedConfig, ResolvedEnvironmentOptions } from './config'
import type { Plugin } from './plugin'

const environmentColors = [
  colors.blue,
  colors.magenta,
  colors.green,
  colors.gray,
]

export class PartialEnvironment {
  name: string
  getTopLevelConfig(): ResolvedConfig {
    return this._topLevelConfig
  }

  config: ResolvedConfig & ResolvedEnvironmentOptions

  logger: Logger

  /**
   * @internal
   */
  _options: ResolvedEnvironmentOptions
  /**
   * @internal
   */
  _topLevelConfig: ResolvedConfig

  constructor(
    name: string,
    topLevelConfig: ResolvedConfig,
    options: ResolvedEnvironmentOptions = topLevelConfig.environments[name],
  ) {
    // only allow some characters so that we can use name without escaping for directory names
    // and make users easier to access with `environments.*`
    if (!/^[\w$]+$/.test(name)) {
      throw new Error(
        `Invalid environment name "${name}". Environment names must only contain alphanumeric characters and "$", "_".`,
      )
    }
    this.name = name
    this._topLevelConfig = topLevelConfig
    this._options = options
    this.config = new Proxy(
      options as ResolvedConfig & ResolvedEnvironmentOptions,
      {
        get: (target, prop: keyof ResolvedConfig) => {
          if (prop === 'logger') {
            return this.logger
          }
          if (prop in target) {
            return this._options[prop as keyof ResolvedEnvironmentOptions]
          }
          return this._topLevelConfig[prop]
        },
      },
    )
// ... (78 more lines)

Domain

Subdomains

Frequently Asked Questions

What does baseEnvironment.ts do?
baseEnvironment.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What does baseEnvironment.ts depend on?
baseEnvironment.ts imports 8 module(s): Logger, Plugin, ResolvedConfig, ResolvedEnvironmentOptions, config.ts, logger.ts, picocolors, plugin.ts.
What files import baseEnvironment.ts?
baseEnvironment.ts is imported by 16 file(s): asset.ts, assetImportMetaUrl.spec.ts, build.ts, config.ts, css.spec.ts, css.ts, define.spec.ts, environment.ts, and 8 more.
Where is baseEnvironment.ts in the architecture?
baseEnvironment.ts is located at packages/vite/src/node/baseEnvironment.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node).

Analyze Your Own Codebase

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

Try Supermodel Free