fetchModule.ts — vite Source File
Architecture documentation for fetchModule.ts, a typescript file in the vite codebase. 16 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR 4b293f94_dc8f_b625_ac09_35b43008310b["fetchModule.ts"] dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> dcff87b0_a8ea_57a2_3b29_a7b8f19986f3 310b19b4_2716_b45b_716d_edfca3064152["tryNodeResolve"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 310b19b4_2716_b45b_716d_edfca3064152 031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 031bc221_67a8_c579_f2bf_bb30a08beeb2 5d2580c9_3b65_7396_afe1_ab2aa13f8ed9["isBuiltin"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 5d2580c9_3b65_7396_afe1_ab2aa13f8ed9 23257aa1_5e3f_7e6e_1b43_875b139e4ec5["isExternalUrl"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 23257aa1_5e3f_7e6e_1b43_875b139e4ec5 a3a231c1_e1f6_f7c0_6d09_1d3c7fbf6ac6["isFilePathESM"] 4b293f94_dc8f_b625_ac09_35b43008310b --> a3a231c1_e1f6_f7c0_6d09_1d3c7fbf6ac6 abfc9e70_3c15_b3f0_a595_3cf27afb7e64["utils.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> abfc9e70_3c15_b3f0_a595_3cf27afb7e64 795dec35_22f9_80f5_ccab_9c2d170af0d3["unwrapId"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 795dec35_22f9_80f5_ccab_9c2d170af0d3 ffe942a0_fdea_ef58_0f68_6f1fec25f285["constants.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> ffe942a0_fdea_ef58_0f68_6f1fec25f285 18244f7c_8357_ba88_c896_32c6447f1faf["sourcemap.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 18244f7c_8357_ba88_c896_32c6447f1faf 0857a370_8db0_3f2b_ac58_b48c57bd6a12["genSourceMapUrl"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 0857a370_8db0_3f2b_ac58_b48c57bd6a12 7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 7916c84f_5621_2b3b_d220_a171ebce997f f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"] 4b293f94_dc8f_b625_ac09_35b43008310b --> f634223d_ed8e_a65b_08f8_a839ec17994a 6feed3e8_55b8_cce7_b5ef_e40b872585f7["node:url"] 4b293f94_dc8f_b625_ac09_35b43008310b --> 6feed3e8_55b8_cce7_b5ef_e40b872585f7 style 4b293f94_dc8f_b625_ac09_35b43008310b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { pathToFileURL } from 'node:url'
import type { FetchResult } from 'vite/module-runner'
import type { EnvironmentModuleNode, TransformResult } from '..'
import { tryNodeResolve } from '../plugins/resolve'
import { isBuiltin, isExternalUrl, isFilePathESM } from '../utils'
import { unwrapId } from '../../shared/utils'
import {
MODULE_RUNNER_SOURCEMAPPING_SOURCE,
SOURCEMAPPING_URL,
} from '../../shared/constants'
import { genSourceMapUrl } from '../server/sourcemap'
import type { DevEnvironment } from '../server/environment'
export interface FetchModuleOptions {
cached?: boolean
inlineSourceMap?: boolean
startOffset?: number
}
/**
* Fetch module information for Vite runner.
* @experimental
*/
export async function fetchModule(
environment: DevEnvironment,
url: string,
importer?: string,
options: FetchModuleOptions = {},
): Promise<FetchResult> {
if (
url.startsWith('data:') ||
isBuiltin(environment.config.resolve.builtins, url)
) {
return { externalize: url, type: 'builtin' }
}
// handle file urls from not statically analyzable dynamic import
const isFileUrl = url.startsWith('file://')
if (isExternalUrl(url) && !isFileUrl) {
return { externalize: url, type: 'network' }
}
// if there is no importer, the file is an entry point
// entry points are always internalized
if (!isFileUrl && importer && url[0] !== '.' && url[0] !== '/') {
const { isProduction, root } = environment.config
const { externalConditions, dedupe, preserveSymlinks } =
environment.config.resolve
const resolved = tryNodeResolve(url, importer, {
mainFields: ['main'],
conditions: externalConditions,
externalConditions,
external: [],
noExternal: [],
extensions: ['.js', '.cjs', '.json'],
dedupe,
preserveSymlinks,
tsconfigPaths: false,
// ... (94 more lines)
Domain
Subdomains
Functions
Types
Dependencies
Imported By
Source
Frequently Asked Questions
What does fetchModule.ts do?
fetchModule.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 fetchModule.ts?
fetchModule.ts defines 2 function(s): fetchModule, inlineSourceMap.
What does fetchModule.ts depend on?
fetchModule.ts imports 16 module(s): .., DevEnvironment, constants.ts, environment.ts, genSourceMapUrl, isBuiltin, isExternalUrl, isFilePathESM, and 8 more.
What files import fetchModule.ts?
fetchModule.ts is imported by 1 file(s): environment.ts.
Where is fetchModule.ts in the architecture?
fetchModule.ts is located at packages/vite/src/node/ssr/fetchModule.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/ssr).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free