tryFsResolve() — vite Function Reference
Architecture documentation for the tryFsResolve() function in resolve.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 2c262e8e_4e5d_80f3_98ab_102647c58f78["tryFsResolve()"] dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"] 2c262e8e_4e5d_80f3_98ab_102647c58f78 -->|defined in| dcff87b0_a8ea_57a2_3b29_a7b8f19986f3 33523ba7_f2f0_89b0_b6ac_912e8d2dc8bc["assetImportMetaUrlPlugin()"] 33523ba7_f2f0_89b0_b6ac_912e8d2dc8bc -->|calls| 2c262e8e_4e5d_80f3_98ab_102647c58f78 ff420344_db87_ddaa_de80_eb7cf9a4644d["resolvePackageEntry()"] ff420344_db87_ddaa_de80_eb7cf9a4644d -->|calls| 2c262e8e_4e5d_80f3_98ab_102647c58f78 b2e6fca1_a66d_30a7_9a9e_9c6de6c46d25["resolveDeepImport()"] b2e6fca1_a66d_30a7_9a9e_9c6de6c46d25 -->|calls| 2c262e8e_4e5d_80f3_98ab_102647c58f78 5a1e6eac_e85e_4779_6f3b_704e48e41b29["tryResolveBrowserEntry()"] 5a1e6eac_e85e_4779_6f3b_704e48e41b29 -->|calls| 2c262e8e_4e5d_80f3_98ab_102647c58f78 cc381763_acbd_6aeb_4970_907e43d5b95f["workerImportMetaUrlPlugin()"] cc381763_acbd_6aeb_4970_907e43d5b95f -->|calls| 2c262e8e_4e5d_80f3_98ab_102647c58f78 50ac7e51_9f94_e985_bfec_ae95273b23b0["isInNodeModules()"] 2c262e8e_4e5d_80f3_98ab_102647c58f78 -->|calls| 50ac7e51_9f94_e985_bfec_ae95273b23b0 8ac17738_0641_9534_aa4e_c559f410561a["tryCleanFsResolve()"] 2c262e8e_4e5d_80f3_98ab_102647c58f78 -->|calls| 8ac17738_0641_9534_aa4e_c559f410561a 09d0a948_4a89_8bbc_50ce_129fc70dbd66["splitFileAndPostfix()"] 2c262e8e_4e5d_80f3_98ab_102647c58f78 -->|calls| 09d0a948_4a89_8bbc_50ce_129fc70dbd66 style 2c262e8e_4e5d_80f3_98ab_102647c58f78 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/resolve.ts lines 550–573
export function tryFsResolve(
fsPath: string,
options: InternalResolveOptions,
tryIndex = true,
skipPackageJson = false,
): string | undefined {
// Dependencies like es5-ext use `#` in their paths. We don't support `#` in user
// source code so we only need to perform the check for dependencies.
// We don't support `?` in node_modules paths, so we only need to check in this branch.
const hashIndex = fsPath.indexOf('#')
if (hashIndex >= 0 && isInNodeModules(fsPath)) {
const queryIndex = fsPath.indexOf('?')
// We only need to check foo#bar?baz and foo#bar, ignore foo?bar#baz
if (queryIndex < 0 || queryIndex > hashIndex) {
const file = queryIndex > hashIndex ? fsPath.slice(0, queryIndex) : fsPath
const res = tryCleanFsResolve(file, options, tryIndex, skipPackageJson)
if (res) return res + fsPath.slice(file.length)
}
}
const { file, postfix } = splitFileAndPostfix(fsPath)
const res = tryCleanFsResolve(file, options, tryIndex, skipPackageJson)
if (res) return res + postfix
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does tryFsResolve() do?
tryFsResolve() is a function in the vite codebase, defined in packages/vite/src/node/plugins/resolve.ts.
Where is tryFsResolve() defined?
tryFsResolve() is defined in packages/vite/src/node/plugins/resolve.ts at line 550.
What does tryFsResolve() call?
tryFsResolve() calls 3 function(s): isInNodeModules, splitFileAndPostfix, tryCleanFsResolve.
What calls tryFsResolve()?
tryFsResolve() is called by 5 function(s): assetImportMetaUrlPlugin, resolveDeepImport, resolvePackageEntry, tryResolveBrowserEntry, workerImportMetaUrlPlugin.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free