wrapCallSite() — vite Function Reference
Architecture documentation for the wrapCallSite() function in interceptor.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD b30dd025_db49_148b_f0bc_60f33ba97a2d["wrapCallSite()"] 95cae2f2_ad8c_91c1_5a74_93d939dbc47b["interceptor.ts"] b30dd025_db49_148b_f0bc_60f33ba97a2d -->|defined in| 95cae2f2_ad8c_91c1_5a74_93d939dbc47b da4d3379_e9f7_bafd_68cb_bfdc14e6f52a["prepareStackTrace()"] da4d3379_e9f7_bafd_68cb_bfdc14e6f52a -->|calls| b30dd025_db49_148b_f0bc_60f33ba97a2d f5792b49_242f_3f04_074c_c9ee1ff25728["mapSourcePosition()"] b30dd025_db49_148b_f0bc_60f33ba97a2d -->|calls| f5792b49_242f_3f04_074c_c9ee1ff25728 155e9353_a9fb_dc00_1709_d4629470386c["cloneCallSite()"] b30dd025_db49_148b_f0bc_60f33ba97a2d -->|calls| 155e9353_a9fb_dc00_1709_d4629470386c f40eaafa_db1a_03b4_c837_94e817990f37["mapEvalOrigin()"] b30dd025_db49_148b_f0bc_60f33ba97a2d -->|calls| f40eaafa_db1a_03b4_c837_94e817990f37 style b30dd025_db49_148b_f0bc_60f33ba97a2d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/module-runner/sourcemap/interceptor.ts lines 347–409
function wrapCallSite(frame: CallSite, state: State) {
// provides interface backward compatibility
if (state === undefined) state = { nextPosition: null, curPosition: null }
if (frame.isNative()) {
state.curPosition = null
return frame
}
// Most call sites will return the source file from getFileName(), but code
// passed to eval() ending in "//# sourceURL=..." will return the source file
// from getScriptNameOrSourceURL() instead
const source = frame.getFileName() || frame.getScriptNameOrSourceURL()
if (source) {
const line = frame.getLineNumber() ?? 0
const column = (frame.getColumnNumber() ?? 1) - 1
const position = mapSourcePosition({
name: null,
source,
line,
column,
})
state.curPosition = position
frame = cloneCallSite(frame)
const originalFunctionName = frame.getFunctionName
frame.getFunctionName = function () {
const name = (() => {
if (state.nextPosition == null) return originalFunctionName()
return state.nextPosition.name || originalFunctionName()
})()
return name === 'eval' && '_vite' in position ? null : name
}
frame.getFileName = function () {
return position.source ?? null
}
frame.getLineNumber = function () {
return position.line
}
frame.getColumnNumber = function () {
return position.column + 1
}
frame.getScriptNameOrSourceURL = function () {
return position.source as string
}
return frame
}
// Code called using eval() needs special handling
let origin = frame.isEval() && frame.getEvalOrigin()
if (origin) {
origin = mapEvalOrigin(origin)
frame = cloneCallSite(frame)
frame.getEvalOrigin = function () {
return origin || undefined
}
return frame
}
// If we get here then we were unable to change the source position
return frame
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does wrapCallSite() do?
wrapCallSite() is a function in the vite codebase, defined in packages/vite/src/module-runner/sourcemap/interceptor.ts.
Where is wrapCallSite() defined?
wrapCallSite() is defined in packages/vite/src/module-runner/sourcemap/interceptor.ts at line 347.
What does wrapCallSite() call?
wrapCallSite() calls 3 function(s): cloneCallSite, mapEvalOrigin, mapSourcePosition.
What calls wrapCallSite()?
wrapCallSite() is called by 1 function(s): prepareStackTrace.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free