transformDynamicImport() — vite Function Reference
Architecture documentation for the transformDynamicImport() function in dynamicImportVars.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD c8ee919d_d03e_b4e1_7f6d_c4e274847312["transformDynamicImport()"] e962fae7_53df_5265_a6c6_b9cfe28d06e1["dynamicImportVars.ts"] c8ee919d_d03e_b4e1_7f6d_c4e274847312 -->|defined in| e962fae7_53df_5265_a6c6_b9cfe28d06e1 5249d8ad_aa91_06b9_bc9a_efd575b1f133["run()"] 5249d8ad_aa91_06b9_bc9a_efd575b1f133 -->|calls| c8ee919d_d03e_b4e1_7f6d_c4e274847312 c10ddb4f_144e_78b3_e0f7_d70979a75e3a["dynamicImportVarsPlugin()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| c8ee919d_d03e_b4e1_7f6d_c4e274847312 a4adb1a7_cf54_091f_eb63_8217e684a8e1["normalizePath()"] c8ee919d_d03e_b4e1_7f6d_c4e274847312 -->|calls| a4adb1a7_cf54_091f_eb63_8217e684a8e1 90d02f66_c42a_35ba_8986_3c8bd82c2411["parseDynamicImportPattern()"] c8ee919d_d03e_b4e1_7f6d_c4e274847312 -->|calls| 90d02f66_c42a_35ba_8986_3c8bd82c2411 style c8ee919d_d03e_b4e1_7f6d_c4e274847312 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/dynamicImportVars.ts lines 114–167
export async function transformDynamicImport(
importSource: string,
importer: string,
resolve: (
url: string,
importer?: string,
) => Promise<string | undefined> | string | undefined,
root: string,
): Promise<{
glob: string
pattern: string
rawPattern: string
} | null> {
if (importSource[1] !== '.' && importSource[1] !== '/') {
const resolvedFileName = await resolve(importSource.slice(1, -1), importer)
if (!resolvedFileName) {
return null
}
const relativeFileName = normalizePath(
posix.relative(
posix.dirname(normalizePath(importer)),
normalizePath(resolvedFileName),
),
)
importSource =
'`' + (relativeFileName[0] === '.' ? '' : './') + relativeFileName + '`'
}
const dynamicImportPattern = parseDynamicImportPattern(importSource)
if (!dynamicImportPattern) {
return null
}
const { globParams, rawPattern, userPattern } = dynamicImportPattern
const params = globParams ? `, ${JSON.stringify(globParams)}` : ''
const dir = importer ? posix.dirname(importer) : root
const normalized =
rawPattern[0] === '/'
? posix.join(root, rawPattern.slice(1))
: posix.join(dir, rawPattern)
let newRawPattern = posix.relative(posix.dirname(importer), normalized)
if (!relativePathRE.test(newRawPattern)) {
newRawPattern = `./${newRawPattern}`
}
const exp = `(import.meta.glob(${JSON.stringify(userPattern)}${params}))`
return {
rawPattern: newRawPattern,
pattern: userPattern,
glob: exp,
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does transformDynamicImport() do?
transformDynamicImport() is a function in the vite codebase, defined in packages/vite/src/node/plugins/dynamicImportVars.ts.
Where is transformDynamicImport() defined?
transformDynamicImport() is defined in packages/vite/src/node/plugins/dynamicImportVars.ts at line 114.
What does transformDynamicImport() call?
transformDynamicImport() calls 2 function(s): normalizePath, parseDynamicImportPattern.
What calls transformDynamicImport()?
transformDynamicImport() is called by 2 function(s): dynamicImportVarsPlugin, run.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free