Home / File/ render.ts — vue Source File

render.ts — vue Source File

Architecture documentation for render.ts, a typescript file in the vue codebase. 15 imports, 2 dependents.

File typescript ServerRenderer BundleRenderer 15 imports 2 dependents 16 functions

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)

Subdomains

Dependencies

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