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 affe67c1_b5f5_cf58_e5d3_d3d820ab290f["render.ts"] a0033b88_b768_84c8_da01_e6315f54737c["util.ts"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> a0033b88_b768_84c8_da01_e6315f54737c 1e08374e_4b7f_6901_4657_b7f1d04e4395["escape"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 1e08374e_4b7f_6901_4657_b7f1d04e4395 e3bc34d0_0f87_61e0_6d65_02d5d090ee45["render-context.ts"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> e3bc34d0_0f87_61e0_6d65_02d5d090ee45 1f378302_3376_98d6_8ce8_9b6280a10bfa["RenderContext"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 1f378302_3376_98d6_8ce8_9b6280a10bfa 60900fe4_f4b0_dfb1_f1c9_8f4c042c826e["compiler.ts"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 60900fe4_f4b0_dfb1_f1c9_8f4c042c826e b4035da1_cf86_9027_2643_66e42fd3924f["runtime-helpers.ts"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> b4035da1_cf86_9027_2643_66e42fd3924f 28ad8384_f7b2_0454_204e_37323319fd93["installSSRHelpers"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 28ad8384_f7b2_0454_204e_37323319fd93 19d0b34b_7289_2457_32d9_273105740f2a["constants"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 19d0b34b_7289_2457_32d9_273105740f2a 4a8e435e_c7a9_53f9_6746_e42fcef03a74["options"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 4a8e435e_c7a9_53f9_6746_e42fcef03a74 5e280904_7607_16e2_62e5_1d6d092f34a6["debug"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 5e280904_7607_16e2_62e5_1d6d092f34a6 156bf2e1_8a13_f22d_5437_54f14bcef8fa["util"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 156bf2e1_8a13_f22d_5437_54f14bcef8fa 96423614_f522_3ab1_46f2_474306df888a["create-component"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 96423614_f522_3ab1_46f2_474306df888a f6868225_acf7_afdc_ebd3_15704ddb6566["vnode"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> f6868225_acf7_afdc_ebd3_15704ddb6566 81ed4f13_7d68_6e21_7425_cf978f68576f["vnode"] affe67c1_b5f5_cf58_e5d3_d3d820ab290f --> 81ed4f13_7d68_6e21_7425_cf978f68576f style affe67c1_b5f5_cf58_e5d3_d3d820ab290f 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, TemplateRenderer 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: TemplateRenderer, 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