ssrRewriteStacktrace() — vite Function Reference
Architecture documentation for the ssrRewriteStacktrace() function in ssrStacktrace.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 4c4e498d_8314_5c0d_260a_498ee4a73d2e["ssrRewriteStacktrace()"] e29c58b0_0755_ae27_7a1e_c5e90513f90f["ssrStacktrace.ts"] 4c4e498d_8314_5c0d_260a_498ee4a73d2e -->|defined in| e29c58b0_0755_ae27_7a1e_c5e90513f90f 24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"] 24ecf2a1_3c09_d451_76f3_9485b4e993f8 -->|calls| 4c4e498d_8314_5c0d_260a_498ee4a73d2e 5028e255_92bf_a4fa_b8ac_c4b82ad977b0["ssrFixStacktrace()"] 5028e255_92bf_a4fa_b8ac_c4b82ad977b0 -->|calls| 4c4e498d_8314_5c0d_260a_498ee4a73d2e 8e8d1d74_9ced_63d4_2238_5e4541f0fa2d["calculateOffsetOnce()"] 4c4e498d_8314_5c0d_260a_498ee4a73d2e -->|calls| 8e8d1d74_9ced_63d4_2238_5e4541f0fa2d style 4c4e498d_8314_5c0d_260a_498ee4a73d2e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/ssr/ssrStacktrace.ts lines 23–73
export function ssrRewriteStacktrace(
stack: string,
moduleGraph: EnvironmentModuleGraph,
): { result: string; alreadyRewritten: boolean } {
calculateOffsetOnce()
let alreadyRewritten = false
const rewritten = stack
.split('\n')
.map((line) => {
return line.replace(
/^ {4}at (?:(\S.*?)\s\()?(.+?):(\d+)(?::(\d+))?\)?/,
(input, varName, id, originalLine, originalColumn) => {
if (!id) return input
const mod = moduleGraph.getModuleById(id)
const rawSourceMap = mod?.transformResult?.map
if (!rawSourceMap) {
return input
}
const traced = new TraceMap(rawSourceMap as any)
const line = Number(originalLine) - offset
// stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed
const column = Number(originalColumn) - 1
if (line <= 0 || column < 0) {
alreadyRewritten = true
return input
}
const pos = originalPositionFor(traced, { line, column })
if (!pos.source) {
return input
}
const trimmedVarName = varName?.trim()
const sourceFile = path.resolve(path.dirname(id), pos.source)
// stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed
const source = `${sourceFile}:${pos.line}:${pos.column + 1}`
if (!trimmedVarName || trimmedVarName === 'eval') {
return ` at ${source}`
} else {
return ` at ${trimmedVarName} (${source})`
}
},
)
})
.join('\n')
return { result: rewritten, alreadyRewritten }
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does ssrRewriteStacktrace() do?
ssrRewriteStacktrace() is a function in the vite codebase, defined in packages/vite/src/node/ssr/ssrStacktrace.ts.
Where is ssrRewriteStacktrace() defined?
ssrRewriteStacktrace() is defined in packages/vite/src/node/ssr/ssrStacktrace.ts at line 23.
What does ssrRewriteStacktrace() call?
ssrRewriteStacktrace() calls 1 function(s): calculateOffsetOnce.
What calls ssrRewriteStacktrace()?
ssrRewriteStacktrace() is called by 2 function(s): _createServer, ssrFixStacktrace.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free