dynamicImportVarsPlugin() — vite Function Reference
Architecture documentation for the dynamicImportVarsPlugin() function in dynamicImportVars.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD c10ddb4f_144e_78b3_e0f7_d70979a75e3a["dynamicImportVarsPlugin()"] e962fae7_53df_5265_a6c6_b9cfe28d06e1["dynamicImportVars.ts"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|defined in| e962fae7_53df_5265_a6c6_b9cfe28d06e1 b1b40b5b_3e43_2197_dea0_d36389d312a1["resolvePlugins()"] b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| c10ddb4f_144e_78b3_e0f7_d70979a75e3a 7ee86c21_2650_c869_2f5d_720909757e00["createBackCompatIdResolver()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| 7ee86c21_2650_c869_2f5d_720909757e00 dfa3f5a8_b519_cb65_4b7e_9d4824406fd4["perEnvironmentPlugin()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| dfa3f5a8_b519_cb65_4b7e_9d4824406fd4 16a00926_f0e9_60f1_3006_9132a6d78745["perEnvironmentState()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| 16a00926_f0e9_60f1_3006_9132a6d78745 c8ee919d_d03e_b4e1_7f6d_c4e274847312["transformDynamicImport()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| c8ee919d_d03e_b4e1_7f6d_c4e274847312 6841c80c_8127_d8ce_ac5d_bb48de9eee42["transformStableResult()"] c10ddb4f_144e_78b3_e0f7_d70979a75e3a -->|calls| 6841c80c_8127_d8ce_ac5d_bb48de9eee42 style c10ddb4f_144e_78b3_e0f7_d70979a75e3a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/dynamicImportVars.ts lines 169–298
export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin {
const resolve = createBackCompatIdResolver(config, {
preferRelative: true,
tryIndex: false,
extensions: [],
})
if (config.isBundled && config.nativePluginEnabledLevel >= 1) {
return perEnvironmentPlugin('native:dynamic-import-vars', (environment) => {
const { include, exclude } =
environment.config.build.dynamicImportVarsOptions
return nativeDynamicImportVarsPlugin({
include,
exclude,
resolver(id, importer) {
return resolve(environment, id, importer)
},
sourcemap: !!environment.config.build.sourcemap,
})
})
}
const getFilter = perEnvironmentState((environment: Environment) => {
const { include, exclude } =
environment.config.build.dynamicImportVarsOptions
return createFilter(include, exclude)
})
return {
name: 'vite:dynamic-import-vars',
resolveId: {
filter: { id: exactRegex(dynamicImportHelperId) },
handler(id) {
return id
},
},
load: {
filter: { id: exactRegex(dynamicImportHelperId) },
handler(_id) {
return `export default ${dynamicImportHelper.toString()}`
},
},
transform: {
filter: {
id: { exclude: exactRegex(CLIENT_ENTRY) },
code: hasDynamicImportRE,
},
async handler(source, importer) {
const { environment } = this
if (!getFilter(this)(importer)) {
return
}
await init
let imports: readonly ImportSpecifier[] = []
try {
imports = parseImports(source)[0]
} catch {
// ignore as it might not be a JS file, the subsequent plugins will catch the error
return null
}
if (!imports.length) {
return null
}
let s: MagicString | undefined
let needDynamicImportHelper = false
for (let index = 0; index < imports.length; index++) {
const {
s: start,
e: end,
ss: expStart,
se: expEnd,
d: dynamicIndex,
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does dynamicImportVarsPlugin() do?
dynamicImportVarsPlugin() is a function in the vite codebase, defined in packages/vite/src/node/plugins/dynamicImportVars.ts.
Where is dynamicImportVarsPlugin() defined?
dynamicImportVarsPlugin() is defined in packages/vite/src/node/plugins/dynamicImportVars.ts at line 169.
What does dynamicImportVarsPlugin() call?
dynamicImportVarsPlugin() calls 5 function(s): createBackCompatIdResolver, perEnvironmentPlugin, perEnvironmentState, transformDynamicImport, transformStableResult.
What calls dynamicImportVarsPlugin()?
dynamicImportVarsPlugin() is called by 1 function(s): resolvePlugins.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free