render.ts — vue Source File
Architecture documentation for render.ts, a typescript file in the vue codebase. 15 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 439dcf36_0570_3186_196e_91c09d6d3ea6["render.ts"] 89eacf5c_deee_e42e_d519_69cb05e48e63["util.ts"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 89eacf5c_deee_e42e_d519_69cb05e48e63 4e8211dc_aa7e_481a_3002_b46e9e8afd4e["escape"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 4e8211dc_aa7e_481a_3002_b46e9e8afd4e a6a05c58_4962_0886_8e94_eeaa15c02b42["render-context.ts"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> a6a05c58_4962_0886_8e94_eeaa15c02b42 dcfd08ce_7436_881d_bd01_8b4c09f7fb5c["RenderContext"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> dcfd08ce_7436_881d_bd01_8b4c09f7fb5c 9904ba9e_ba26_19f2_4c09_56f1ef6315fc["compiler.ts"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 9904ba9e_ba26_19f2_4c09_56f1ef6315fc b5390896_1fe7_f1d9_81bd_c577287dddd4["runtime-helpers.ts"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> b5390896_1fe7_f1d9_81bd_c577287dddd4 5e708fd0_ce2c_0774_899d_6f39a8b0d45e["installSSRHelpers"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 5e708fd0_ce2c_0774_899d_6f39a8b0d45e ab8fc425_80ef_461f_288a_985447c26d02["constants"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> ab8fc425_80ef_461f_288a_985447c26d02 8d6eeae8_c546_9617_c37c_d300b3329f59["options"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 8d6eeae8_c546_9617_c37c_d300b3329f59 49aae190_0a6d_f5d1_c8de_aabde088509c["debug"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 49aae190_0a6d_f5d1_c8de_aabde088509c 09aa5370_2caa_6b33_3f44_6ac5211bd11b["util"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 09aa5370_2caa_6b33_3f44_6ac5211bd11b 800bf47d_e926_ea5e_e853_f265c156d637["create-component"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 800bf47d_e926_ea5e_e853_f265c156d637 973389ac_8625_30a3_53ce_b1b48fae58c5["vnode"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> 973389ac_8625_30a3_53ce_b1b48fae58c5 ba925ef2_b0f4_efe3_c23d_fe293c46b2c1["vnode"] 439dcf36_0570_3186_196e_91c09d6d3ea6 --> ba925ef2_b0f4_efe3_c23d_fe293c46b2c1 style 439dcf36_0570_3186_196e_91c09d6d3ea6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { escape } from './util'
import { SSR_ATTR } from 'shared/constants'
import { RenderContext } from './render-context'
import { resolveAsset } from 'core/util/options'
import { generateComponentTrace } from 'core/util/debug'
import { ssrCompileToFunctions } from './compiler'
import { installSSRHelpers } from './optimizing-compiler/runtime-helpers'
import { isDef, isUndef, isTrue } from 'shared/util'
import {
createComponent,
createComponentInstanceForVnode
} from 'core/vdom/create-component'
import VNode from 'core/vdom/vnode'
import type { VNodeDirective } from 'types/vnode'
import type { Component } from 'types/component'
let warned = Object.create(null)
const warnOnce = msg => {
if (!warned[msg]) {
warned[msg] = true
// eslint-disable-next-line no-console
console.warn(`\n\u001b[31m${msg}\u001b[39m\n`)
}
}
const onCompilationError = (err, vm) => {
const trace = vm ? generateComponentTrace(vm) : ''
throw new Error(`\n\u001b[31m${err}${trace}\u001b[39m\n`)
}
const normalizeRender = vm => {
const { render, template, _scopeId } = vm.$options
if (isUndef(render)) {
if (template) {
const compiled = ssrCompileToFunctions(
template,
{
scopeId: _scopeId,
warn: onCompilationError
},
vm
)
vm.$options.render = compiled.render
vm.$options.staticRenderFns = compiled.staticRenderFns
} else {
throw new Error(
`render function or template not defined in component: ${
vm.$options.name || vm.$options._componentTag || 'anonymous'
}`
)
}
}
}
function waitForServerPrefetch(vm, resolve, reject) {
let handlers = vm.$options.serverPrefetch
if (isDef(handlers)) {
// ... (400 more lines)
Domain
Subdomains
Functions
- createRenderFunction()
- getVShowDirectiveInfo()
- hasAncestorData()
- normalizeRender()
- onCompilationError()
- registerComponentForCache()
- renderAsyncComponent()
- renderComponent()
- renderComponentInner()
- renderComponentWithCache()
- renderElement()
- renderNode()
- renderStartingTag()
- renderStringNode()
- waitForServerPrefetch()
- warnOnce()
Dependencies
- RenderContext
- compiler.ts
- component
- constants
- create-component
- debug
- escape
- installSSRHelpers
- options
- render-context.ts
- runtime-helpers.ts
- util
- util.ts
- vnode
- vnode
Imported By
Source
Frequently Asked Questions
What does render.ts do?
render.ts is a source file in the vue codebase, written in typescript. It belongs to the ServerRenderer domain, BundleRenderer subdomain.
What functions are defined in render.ts?
render.ts defines 16 function(s): createRenderFunction, getVShowDirectiveInfo, hasAncestorData, normalizeRender, onCompilationError, registerComponentForCache, renderAsyncComponent, renderComponent, renderComponentInner, renderComponentWithCache, and 6 more.
What does render.ts depend on?
render.ts imports 15 module(s): RenderContext, compiler.ts, component, constants, create-component, debug, escape, installSSRHelpers, and 7 more.
What files import render.ts?
render.ts is imported by 2 file(s): create-basic-renderer.ts, create-renderer.ts.
Where is render.ts in the architecture?
render.ts is located at packages/server-renderer/src/render.ts (domain: ServerRenderer, subdomain: BundleRenderer, directory: packages/server-renderer/src).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free