transform() — vite Function Reference
Architecture documentation for the transform() function in pluginContainer.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD dcf6f9d5_316b_0287_6984_8729d3e6c0aa["transform()"] 285b1044_dd20_6f59_7cf5_0ad094eeacee["EnvironmentPluginContainer"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|defined in| 285b1044_dd20_6f59_7cf5_0ad094eeacee e1266b03_e0f1_635b_5994_e16420bc0263["transform()"] e1266b03_e0f1_635b_5994_e16420bc0263 -->|calls| dcf6f9d5_316b_0287_6984_8729d3e6c0aa 94464637_e13d_00af_69ed_f92d6e6cc584["load()"] 94464637_e13d_00af_69ed_f92d6e6cc584 -->|calls| dcf6f9d5_316b_0287_6984_8729d3e6c0aa bdac5327_5085_933f_41df_0fc270134a38["loadAndTransform()"] bdac5327_5085_933f_41df_0fc270134a38 -->|calls| dcf6f9d5_316b_0287_6984_8729d3e6c0aa dd2702df_a5d5_5b3e_9167_da46e2046bc0["_getAddedImports()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| dd2702df_a5d5_5b3e_9167_da46e2046bc0 740b85c6_7fbd_cec6_1dc6_e19314ddecba["handleHookPromise()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 740b85c6_7fbd_cec6_1dc6_e19314ddecba e1266b03_e0f1_635b_5994_e16420bc0263["transform()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| e1266b03_e0f1_635b_5994_e16420bc0263 c42acd29_f3d2_c03f_de55_553d650a5fbf["throwClosedServerError()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| c42acd29_f3d2_c03f_de55_553d650a5fbf 52da5dad_0e46_dc8f_fae0_b17308d247cc["getCachedFilterForPlugin()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 52da5dad_0e46_dc8f_fae0_b17308d247cc 3ac77420_8a39_d233_cf59_650944f4a9fa["isFutureDeprecationEnabled()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 3ac77420_8a39_d233_cf59_650944f4a9fa 43459d27_10c2_86a0_84b1_ecf5663dca68["warnFutureDeprecation()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 43459d27_10c2_86a0_84b1_ecf5663dca68 b7368e97_ca47_08c0_9ca2_49c2fa72e70d["_updateActiveInfo()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| b7368e97_ca47_08c0_9ca2_49c2fa72e70d 58719e23_70bd_67e0_1ed8_f61c19ec725b["getHookHandler()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 58719e23_70bd_67e0_1ed8_f61c19ec725b 14c1c6b3_e4b1_62ce_7196_077ecd00ef57["timeFrom()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 14c1c6b3_e4b1_62ce_7196_077ecd00ef57 0850ad90_f980_60a3_ab1f_b17433109b74["prettifyUrl()"] dcf6f9d5_316b_0287_6984_8729d3e6c0aa -->|calls| 0850ad90_f980_60a3_ab1f_b17433109b74 style dcf6f9d5_316b_0287_6984_8729d3e6c0aa fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/server/pluginContainer.ts lines 529–620
async transform(
code: string,
id: string,
options?: {
inMap?: SourceDescription['map']
moduleType?: string
},
): Promise<{
code: string
map: SourceMap | { mappings: '' } | null
moduleType?: ModuleType
}> {
let ssr = this.environment.config.consumer === 'server'
const topLevelConfig = this.environment.getTopLevelConfig()
const optionsWithSSR = options
? { ...options, ssr, moduleType: options.moduleType ?? 'js' }
: { ssr, moduleType: 'js' }
const inMap = options?.inMap
const ctx = new TransformPluginContext(this, id, code, inMap as SourceMap)
ctx._addedImports = this._getAddedImports(id)
for (const plugin of this.getSortedPlugins('transform')) {
if (this._closed && this.environment.config.dev.recoverable)
throwClosedServerError()
const filter = getCachedFilterForPlugin(plugin, 'transform')
if (filter && !filter(id, code, optionsWithSSR.moduleType)) continue
if (
isFutureDeprecationEnabled(
topLevelConfig,
'removePluginHookSsrArgument',
)
) {
Object.defineProperty(optionsWithSSR, 'ssr', {
get() {
warnFutureDeprecation(
topLevelConfig,
'removePluginHookSsrArgument',
`Used in plugin "${plugin.name}".`,
)
return ssr
},
set(v) {
ssr = v
},
})
}
ctx._updateActiveInfo(plugin, id, code)
const start = debugPluginTransform ? performance.now() : 0
let result: TransformResult | string | undefined
const handler = getHookHandler(plugin.transform)
try {
result = await this.handleHookPromise(
handler.call(ctx as any, code, id, optionsWithSSR),
)
} catch (e) {
ctx.error(e)
}
if (!result) continue
debugPluginTransform?.(
timeFrom(start),
plugin.name,
prettifyUrl(id, this.environment.config.root),
)
if (isObject(result)) {
if (result.code !== undefined) {
code = result.code as string
if (result.map) {
if (debugSourcemapCombine) {
// @ts-expect-error inject plugin name for debug purpose
result.map.name = plugin.name
}
ctx.sourcemapChain.push(result.map)
}
}
if (result.moduleType !== undefined) {
optionsWithSSR.moduleType = result.moduleType
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does transform() do?
transform() is a function in the vite codebase, defined in packages/vite/src/node/server/pluginContainer.ts.
Where is transform() defined?
transform() is defined in packages/vite/src/node/server/pluginContainer.ts at line 529.
What does transform() call?
transform() calls 15 function(s): _getAddedImports, _getCombinedSourcemap, _updateActiveInfo, _updateModuleInfo, error, getCachedFilterForPlugin, getHookHandler, handleHookPromise, and 7 more.
What calls transform()?
transform() is called by 3 function(s): load, loadAndTransform, transform.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free