evaluatedModules.ts — vite Source File
Architecture documentation for evaluatedModules.ts, a typescript file in the vite codebase. 11 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR 9f67d7a4_f300_a592_a5b0_c8f97c2d3564["evaluatedModules.ts"] abfc9e70_3c15_b3f0_a595_3cf27afb7e64["utils.ts"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> abfc9e70_3c15_b3f0_a595_3cf27afb7e64 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> 10b9dea8_362c_1af2_93be_afa4dd9aed9e f094d39d_cd97_2548_86c3_38902c2f3301["slash"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> f094d39d_cd97_2548_86c3_38902c2f3301 795dec35_22f9_80f5_ccab_9c2d170af0d3["unwrapId"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> 795dec35_22f9_80f5_ccab_9c2d170af0d3 ffe942a0_fdea_ef58_0f68_6f1fec25f285["constants.ts"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> ffe942a0_fdea_ef58_0f68_6f1fec25f285 81939ddb_795d_a69b_d1ea_fb1af459ccc2["utils.ts"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> 81939ddb_795d_a69b_d1ea_fb1af459ccc2 1f98cd6a_b860_9dfb_69e1_70665d44d35c["decodeBase64"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> 1f98cd6a_b860_9dfb_69e1_70665d44d35c d4f6d186_baf8_38ee_e63e_b58f4d86f016["decoder.ts"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> d4f6d186_baf8_38ee_e63e_b58f4d86f016 d26160cf_98b0_224e_37f8_05fe0a3df273["DecodedMap"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> d26160cf_98b0_224e_37f8_05fe0a3df273 bf48f7e9_65f6_54c3_7dce_f44769180bd7["types.ts"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> bf48f7e9_65f6_54c3_7dce_f44769180bd7 f370aa53_30b9_8599_b1b3_ad6da4a977aa["ResolvedResult"] 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 --> f370aa53_30b9_8599_b1b3_ad6da4a977aa 29e248d2_9983_1037_00e6_8bcd9ee87840["runner.ts"] 29e248d2_9983_1037_00e6_8bcd9ee87840 --> 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 95cae2f2_ad8c_91c1_5a74_93d939dbc47b["interceptor.ts"] 95cae2f2_ad8c_91c1_5a74_93d939dbc47b --> 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 bf48f7e9_65f6_54c3_7dce_f44769180bd7["types.ts"] bf48f7e9_65f6_54c3_7dce_f44769180bd7 --> 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 style 9f67d7a4_f300_a592_a5b0_c8f97c2d3564 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { cleanUrl, isWindows, slash, unwrapId } from '../shared/utils'
import { SOURCEMAPPING_URL } from '../shared/constants'
import { decodeBase64 } from './utils'
import { DecodedMap } from './sourcemap/decoder'
import type { ResolvedResult } from './types'
const MODULE_RUNNER_SOURCEMAPPING_REGEXP = new RegExp(
`//# ${SOURCEMAPPING_URL}=data:application/json;base64,(.+)`,
)
export class EvaluatedModuleNode {
public importers: Set<string> = new Set()
public imports: Set<string> = new Set()
public evaluated = false
public meta: ResolvedResult | undefined
public promise: Promise<any> | undefined
public exports: any | undefined
public file: string
public map: DecodedMap | undefined
constructor(
public id: string,
public url: string,
) {
this.file = cleanUrl(id)
}
}
export class EvaluatedModules {
public readonly idToModuleMap: Map<string, EvaluatedModuleNode> = new Map()
public readonly fileToModulesMap: Map<string, Set<EvaluatedModuleNode>> =
new Map()
public readonly urlToIdModuleMap: Map<string, EvaluatedModuleNode> = new Map()
/**
* Returns the module node by the resolved module ID. Usually, module ID is
* the file system path with query and/or hash. It can also be a virtual module.
*
* Module runner graph will have 1 to 1 mapping with the server module graph.
* @param id Resolved module ID
*/
public getModuleById(id: string): EvaluatedModuleNode | undefined {
return this.idToModuleMap.get(id)
}
/**
* Returns all modules related to the file system path. Different modules
* might have different query parameters or hash, so it's possible to have
* multiple modules for the same file.
* @param file The file system path of the module
*/
public getModulesByFile(file: string): Set<EvaluatedModuleNode> | undefined {
return this.fileToModulesMap.get(file)
}
/**
* Returns the module node by the URL that was used in the import statement.
* Unlike module graph on the server, the URL is not resolved and is used as is.
* @param url Server URL that was used in the import statement
*/
// ... (99 more lines)
Domain
Subdomains
Functions
Dependencies
Imported By
Source
Frequently Asked Questions
What does evaluatedModules.ts do?
evaluatedModules.ts is a source file in the vite codebase, written in typescript. It belongs to the ModuleRunner domain, SSRRuntime subdomain.
What functions are defined in evaluatedModules.ts?
evaluatedModules.ts defines 1 function(s): normalizeModuleId.
What does evaluatedModules.ts depend on?
evaluatedModules.ts imports 11 module(s): DecodedMap, ResolvedResult, cleanUrl, constants.ts, decodeBase64, decoder.ts, slash, types.ts, and 3 more.
What files import evaluatedModules.ts?
evaluatedModules.ts is imported by 3 file(s): interceptor.ts, runner.ts, types.ts.
Where is evaluatedModules.ts in the architecture?
evaluatedModules.ts is located at packages/vite/src/module-runner/evaluatedModules.ts (domain: ModuleRunner, subdomain: SSRRuntime, directory: packages/vite/src/module-runner).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free