Home / File/ create-renderer.ts — vue Source File

create-renderer.ts — vue Source File

Architecture documentation for create-renderer.ts, a typescript file in the vue codebase. 13 imports, 2 dependents.

File typescript ServerRenderer BundleRenderer 13 imports 2 dependents 6 functions

Entity Profile

Dependency Diagram

graph LR
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2["create-renderer.ts"]
  f3e6847d_8ff5_35b6_8fd0_7c2d8f08f289["render-stream.ts"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> f3e6847d_8ff5_35b6_8fd0_7c2d8f08f289
  60ba4fed_c502_859c_60b1_5ab9b57882ca["RenderStream"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 60ba4fed_c502_859c_60b1_5ab9b57882ca
  317f6a4d_4539_67ed_4231_a0773646820c["write.ts"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 317f6a4d_4539_67ed_4231_a0773646820c
  208f6731_ceac_754f_49df_75211ecf996c["createWriteFunction"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 208f6731_ceac_754f_49df_75211ecf996c
  439dcf36_0570_3186_196e_91c09d6d3ea6["render.ts"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 439dcf36_0570_3186_196e_91c09d6d3ea6
  7ae3edb4_84c6_0281_9ecf_c1bb0face36e["createRenderFunction"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 7ae3edb4_84c6_0281_9ecf_c1bb0face36e
  89eacf5c_deee_e42e_d519_69cb05e48e63["util.ts"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 89eacf5c_deee_e42e_d519_69cb05e48e63
  46da04ac_8d5c_f991_fddd_ba38b64b6398["createPromiseCallback"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 46da04ac_8d5c_f991_fddd_ba38b64b6398
  dd60f8d3_0510_6c88_43e7_0031a6d72263["index.ts"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> dd60f8d3_0510_6c88_43e7_0031a6d72263
  a6b6f41b_6598_1b32_00b3_8bbaa08b8c64["TemplateRenderer"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> a6b6f41b_6598_1b32_00b3_8bbaa08b8c64
  64c87498_c46a_6944_ab9d_8e45519852a8["component"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 64c87498_c46a_6944_ab9d_8e45519852a8
  973389ac_8625_30a3_53ce_b1b48fae58c5["vnode"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 973389ac_8625_30a3_53ce_b1b48fae58c5
  7aef85ef_4754_53fb_5d94_f8411adf9a0a["stream"]
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2 --> 7aef85ef_4754_53fb_5d94_f8411adf9a0a
  f74c7f32_6b84_af20_b750_d2532206091d["create-bundle-renderer.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 53b05d28_585e_4d3e_ad81_d6a7ef6875f2
  style 53b05d28_585e_4d3e_ad81_d6a7ef6875f2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import RenderStream from './render-stream'
import { createWriteFunction } from './write'
import { createRenderFunction } from './render'
import { createPromiseCallback } from './util'
import TemplateRenderer from './template-renderer/index'
import type { ClientManifest } from './template-renderer/index'
import type { Component } from 'types/component'
import VNode from 'core/vdom/vnode'
import { Readable } from 'stream'

export type Renderer = {
  renderToString: (
    component: Component,
    context?: any,
    cb?: any
  ) => Promise<string> | undefined
  renderToStream: (component: Component, context?: Object) => Readable
}

type RenderCache = {
  get: (key: string, cb?: Function) => string | void
  set: (key: string, val: string) => void
  has?: (key: string, cb?: Function) => boolean | void
}

export type RenderOptions = {
  modules?: Array<(vnode: VNode) => string | null>
  directives?: Object
  isUnaryTag?: Function
  cache?: RenderCache
  template?:
    | string
    | ((content: string, context: any) => string | Promise<string>)
  inject?: boolean
  basedir?: string
  shouldPreload?: Function
  shouldPrefetch?: Function
  clientManifest?: ClientManifest
  serializer?: Function
  runInNewContext?: boolean | 'once'
}

export function createRenderer({
  modules = [],
  directives = {},
  isUnaryTag = () => false,
  template,
  inject,
  cache,
  shouldPreload,
  shouldPrefetch,
  clientManifest,
  serializer
}: RenderOptions = {}): Renderer {
  const render = createRenderFunction(modules, directives, isUnaryTag, cache)
  const templateRenderer = new TemplateRenderer({
    template,
    inject,
    // @ts-expect-error
    shouldPreload,
// ... (105 more lines)

Subdomains

Frequently Asked Questions

What does create-renderer.ts do?
create-renderer.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 create-renderer.ts?
create-renderer.ts defines 6 function(s): Readable, component, content, createRenderer, key, vnode.
What does create-renderer.ts depend on?
create-renderer.ts imports 13 module(s): RenderStream, TemplateRenderer, component, createPromiseCallback, createRenderFunction, createWriteFunction, index.ts, render-stream.ts, and 5 more.
What files import create-renderer.ts?
create-renderer.ts is imported by 2 file(s): create-basic-renderer.ts, create-bundle-renderer.ts.
Where is create-renderer.ts in the architecture?
create-renderer.ts is located at packages/server-renderer/src/create-renderer.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