environment.ts — vite Source File
Architecture documentation for environment.ts, a typescript file in the vite codebase. 9 imports, 21 dependents.
Entity Profile
Dependency Diagram
graph LR 0c33ff62_54e9_5c90_902b_b26728e71fca["environment.ts"] 7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 7916c84f_5621_2b3b_d220_a171ebce997f f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> f634223d_ed8e_a65b_08f8_a839ec17994a 45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 45981d85_cbdd_e969_8c88_c17072ea0eda 8a1be4dc_fab4_3c44_dfe9_6115f2fdf4e8["BuildEnvironment"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 8a1be4dc_fab4_3c44_dfe9_6115f2fdf4e8 6c7a7f5e_5d30_3576_49bf_9041362fd3fd["scan.ts"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 6c7a7f5e_5d30_3576_49bf_9041362fd3fd aba3fdee_817a_43e8_0481_2e4ff445f775["ScanEnvironment"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> aba3fdee_817a_43e8_0481_2e4ff445f775 84057c57_14eb_2f16_cd5c_1899e8da6db0["baseEnvironment.ts"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 84057c57_14eb_2f16_cd5c_1899e8da6db0 c4fa5057_050b_ca86_b753_4c4c415f0ab9["UnknownEnvironment"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> c4fa5057_050b_ca86_b753_4c4c415f0ab9 693ca867_249b_3e5a_0ce1_8930413b7fcd["rolldown"] 0c33ff62_54e9_5c90_902b_b26728e71fca --> 693ca867_249b_3e5a_0ce1_8930413b7fcd 45981d85_cbdd_e969_8c88_c17072ea0eda["build.ts"] 45981d85_cbdd_e969_8c88_c17072ea0eda --> 0c33ff62_54e9_5c90_902b_b26728e71fca b64390ad_e6bf_4b1e_f7f0_39d49791e7e0["external.ts"] b64390ad_e6bf_4b1e_f7f0_39d49791e7e0 --> 0c33ff62_54e9_5c90_902b_b26728e71fca 55b2a3d2_8787_d760_1a76_1d2854a39807["idResolver.ts"] 55b2a3d2_8787_d760_1a76_1d2854a39807 --> 0c33ff62_54e9_5c90_902b_b26728e71fca 2f328851_91ee_fb05_63f0_4f466b9d6250["index.ts"] 2f328851_91ee_fb05_63f0_4f466b9d6250 --> 0c33ff62_54e9_5c90_902b_b26728e71fca f5dd930e_f496_d00c_dda8_8cf9daf4b473["resolve.ts"] f5dd930e_f496_d00c_dda8_8cf9daf4b473 --> 0c33ff62_54e9_5c90_902b_b26728e71fca 88c474dd_3ef0_0479_2549_43cd02a6f84b["rolldownDepPlugin.ts"] 88c474dd_3ef0_0479_2549_43cd02a6f84b --> 0c33ff62_54e9_5c90_902b_b26728e71fca style 0c33ff62_54e9_5c90_902b_b26728e71fca fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { PluginContext } from 'rolldown'
import type { DevEnvironment } from './server/environment'
import type { BuildEnvironment } from './build'
import type { ScanEnvironment } from './optimizer/scan'
import type { UnknownEnvironment } from './baseEnvironment'
export type Environment =
| DevEnvironment
| BuildEnvironment
| /** @internal */ ScanEnvironment
| UnknownEnvironment
/**
* Creates a function that hides the complexities of a WeakMap with an initial value
* to implement object metadata. Used by plugins to implement cross hooks per
* environment metadata
*
* @experimental
*/
export function perEnvironmentState<State>(
initial: (environment: Environment) => State,
): (context: PluginContext) => State {
const stateMap = new WeakMap<Environment, State>()
return function (context: PluginContext) {
const { environment } = context
let state = stateMap.get(environment)
if (!state) {
state = initial(environment)
stateMap.set(environment, state)
}
return state
}
}
Domain
Subdomains
Functions
Types
Dependencies
Imported By
- packages/vite/src/node/plugins/asset.ts
- packages/vite/src/node/build.ts
- packages/vite/src/node/plugins/clientInjections.ts
- packages/vite/src/node/plugins/define.ts
- packages/vite/src/node/plugins/dynamicImportVars.ts
- packages/vite/src/node/external.ts
- packages/vite/src/node/server/environments/fetchableEnvironments.ts
- packages/vite/src/node/server/hmr.ts
- packages/vite/src/node/plugins/html.ts
- packages/vite/src/node/idResolver.ts
- packages/vite/src/node/plugins/importMetaGlob.ts
- packages/vite/src/node/optimizer/index.ts
- packages/vite/src/node/plugins/manifest.ts
- packages/vite/src/node/plugin.ts
- packages/vite/src/node/server/pluginContainer.ts
- packages/vite/src/node/plugins/prepareOutDir.ts
- packages/vite/src/node/plugins/reporter.ts
- packages/vite/src/node/optimizer/resolve.ts
- packages/vite/src/node/optimizer/rolldownDepPlugin.ts
- packages/vite/src/node/server/environments/runnableEnvironment.ts
- packages/vite/src/node/ssr/ssrManifestPlugin.ts
Source
Frequently Asked Questions
What does environment.ts do?
environment.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 environment.ts?
environment.ts defines 1 function(s): perEnvironmentState.
What does environment.ts depend on?
environment.ts imports 9 module(s): BuildEnvironment, DevEnvironment, ScanEnvironment, UnknownEnvironment, baseEnvironment.ts, build.ts, environment.ts, rolldown, and 1 more.
What files import environment.ts?
environment.ts is imported by 21 file(s): asset.ts, build.ts, clientInjections.ts, define.ts, dynamicImportVars.ts, external.ts, fetchableEnvironments.ts, hmr.ts, and 13 more.
Where is environment.ts in the architecture?
environment.ts is located at packages/vite/src/node/environment.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