createBundleRendererCreator() — vue Function Reference
Architecture documentation for the createBundleRendererCreator() function in create-bundle-renderer.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 12e2c88e_c7c5_fea0_a285_dc96ab9156f5["createBundleRendererCreator()"] f74c7f32_6b84_af20_b750_d2532206091d["create-bundle-renderer.ts"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|defined in| f74c7f32_6b84_af20_b750_d2532206091d 53c38896_e852_adea_86c6_0c45a1a6707f["createSourceMapConsumers()"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|calls| 53c38896_e852_adea_86c6_0c45a1a6707f 1c60f0eb_7fcc_3a6b_d886_ed0ac8152d52["createRenderer()"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|calls| 1c60f0eb_7fcc_3a6b_d886_ed0ac8152d52 e142ddd7_db7e_6e31_6600_9ceabc3f3fa2["createBundleRunner()"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|calls| e142ddd7_db7e_6e31_6600_9ceabc3f3fa2 46da04ac_8d5c_f991_fddd_ba38b64b6398["createPromiseCallback()"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|calls| 46da04ac_8d5c_f991_fddd_ba38b64b6398 da88ddd6_89c9_1ce7_3552_bd114f03e481["rewriteErrorTrace()"] 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 -->|calls| da88ddd6_89c9_1ce7_3552_bd114f03e481 style 12e2c88e_c7c5_fea0_a285_dc96ab9156f5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/server-renderer/src/bundle-renderer/create-bundle-renderer.ts lines 32–159
export function createBundleRendererCreator(
createRenderer: (options?: RenderOptions) => Renderer
) {
return function createBundleRenderer(
bundle: string | RenderBundle,
rendererOptions: RenderOptions = {}
) {
let files, entry, maps
let basedir = rendererOptions.basedir
// load bundle if given filepath
if (
typeof bundle === 'string' &&
/\.js(on)?$/.test(bundle) &&
path.isAbsolute(bundle)
) {
if (fs.existsSync(bundle)) {
const isJSON = /\.json$/.test(bundle)
basedir = basedir || path.dirname(bundle)
bundle = fs.readFileSync(bundle, 'utf-8')
if (isJSON) {
try {
// @ts-expect-error
bundle = JSON.parse(bundle)
} catch (e: any) {
throw new Error(`Invalid JSON bundle file: ${bundle}`)
}
}
} else {
throw new Error(`Cannot locate bundle file: ${bundle}`)
}
}
if (typeof bundle === 'object') {
entry = bundle.entry
files = bundle.files
basedir = basedir || bundle.basedir
maps = createSourceMapConsumers(bundle.maps)
if (typeof entry !== 'string' || typeof files !== 'object') {
throw new Error(INVALID_MSG)
}
} else if (typeof bundle === 'string') {
entry = '__vue_ssr_bundle__'
files = { __vue_ssr_bundle__: bundle }
maps = {}
} else {
throw new Error(INVALID_MSG)
}
const renderer = createRenderer(rendererOptions)
const run = createBundleRunner(
entry,
files,
basedir,
rendererOptions.runInNewContext
)
return {
renderToString: (context?: Object | undefined, cb?: any) => {
if (typeof context === 'function') {
cb = context
context = {}
}
let promise
if (!cb) {
;({ promise, cb } = createPromiseCallback())
}
run(context)
.catch(err => {
rewriteErrorTrace(err, maps)
cb(err)
})
.then(app => {
if (app) {
//@ts-expect-error
renderer.renderToString(app, context, (err, res) => {
rewriteErrorTrace(err, maps)
cb(err, res)
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does createBundleRendererCreator() do?
createBundleRendererCreator() is a function in the vue codebase, defined in packages/server-renderer/src/bundle-renderer/create-bundle-renderer.ts.
Where is createBundleRendererCreator() defined?
createBundleRendererCreator() is defined in packages/server-renderer/src/bundle-renderer/create-bundle-renderer.ts at line 32.
What does createBundleRendererCreator() call?
createBundleRendererCreator() calls 5 function(s): createBundleRunner, createPromiseCallback, createRenderer, createSourceMapConsumers, rewriteErrorTrace.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free