_ensureEntryFromUrl() — vite Function Reference
Architecture documentation for the _ensureEntryFromUrl() function in moduleGraph.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6["_ensureEntryFromUrl()"] cdb618b6_fede_c732_1a58_98b86b491151["EnvironmentModuleGraph"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|defined in| cdb618b6_fede_c732_1a58_98b86b491151 77ccd6ac_9a63_b9a5_0b1b_b3bd2ee25604["ensureEntryFromUrl()"] 77ccd6ac_9a63_b9a5_0b1b_b3bd2ee25604 -->|calls| 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 9bd7b32c_5b79_ac16_8541_4f64cc8ce19b["doTransform()"] 9bd7b32c_5b79_ac16_8541_4f64cc8ce19b -->|calls| 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 bdac5327_5085_933f_41df_0fc270134a38["loadAndTransform()"] bdac5327_5085_933f_41df_0fc270134a38 -->|calls| 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 20603770_de32_a33d_398f_c8a4c3058b90["_getUnresolvedUrlToModule()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| 20603770_de32_a33d_398f_c8a4c3058b90 a69b5383_4b15_a514_cf32_5e44ffa5b05e["_resolveUrl()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| a69b5383_4b15_a514_cf32_5e44ffa5b05e d7018840_b8ab_781c_1869_8cc9d2f0036e["_setUnresolvedUrlToModule()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| d7018840_b8ab_781c_1869_8cc9d2f0036e 92b179fa_3139_d3e0_f865_77312413686b["removeImportQuery()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| 92b179fa_3139_d3e0_f865_77312413686b 3f57c8be_be57_4cf4_aa11_4ed077229c70["removeTimestampQuery()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| 3f57c8be_be57_4cf4_aa11_4ed077229c70 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl()"] 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 -->|calls| 10b9dea8_362c_1af2_93be_afa4dd9aed9e style 1df76a35_b65f_4f0a_d9fb_00d2905ad5a6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/server/moduleGraph.ts lines 343–389
async _ensureEntryFromUrl(
rawUrl: string,
setIsSelfAccepting = true,
// Optimization, avoid resolving the same url twice if the caller already did it
resolved?: PartialResolvedId,
): Promise<EnvironmentModuleNode> {
// Quick path, if we already have a module for this rawUrl (even without extension)
rawUrl = removeImportQuery(removeTimestampQuery(rawUrl))
let mod = this._getUnresolvedUrlToModule(rawUrl)
if (mod) {
return mod
}
const modPromise = (async () => {
const [url, resolvedId, meta] = await this._resolveUrl(rawUrl, resolved)
mod = this.idToModuleMap.get(resolvedId)
if (!mod) {
mod = new EnvironmentModuleNode(
url,
this.environment,
setIsSelfAccepting,
)
if (meta) mod.meta = meta
this.urlToModuleMap.set(url, mod)
mod.id = resolvedId
this.idToModuleMap.set(resolvedId, mod)
const file = (mod.file = cleanUrl(resolvedId))
let fileMappedModules = this.fileToModulesMap.get(file)
if (!fileMappedModules) {
fileMappedModules = new Set()
this.fileToModulesMap.set(file, fileMappedModules)
}
fileMappedModules.add(mod)
}
// multiple urls can map to the same module and id, make sure we register
// the url to the existing module in that case
else if (!this.urlToModuleMap.has(url)) {
this.urlToModuleMap.set(url, mod)
}
this._setUnresolvedUrlToModule(rawUrl, mod)
return mod
})()
// Also register the clean url to the module, so that we can short-circuit
// resolving the same url twice
this._setUnresolvedUrlToModule(rawUrl, modPromise)
return modPromise
}
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does _ensureEntryFromUrl() do?
_ensureEntryFromUrl() is a function in the vite codebase, defined in packages/vite/src/node/server/moduleGraph.ts.
Where is _ensureEntryFromUrl() defined?
_ensureEntryFromUrl() is defined in packages/vite/src/node/server/moduleGraph.ts at line 343.
What does _ensureEntryFromUrl() call?
_ensureEntryFromUrl() calls 6 function(s): _getUnresolvedUrlToModule, _resolveUrl, _setUnresolvedUrlToModule, cleanUrl, removeImportQuery, removeTimestampQuery.
What calls _ensureEntryFromUrl()?
_ensureEntryFromUrl() is called by 3 function(s): doTransform, ensureEntryFromUrl, loadAndTransform.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free