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. 14 imports, 2 dependents.

File typescript ServerRenderer TemplateRenderer 14 imports 2 dependents 6 functions

Entity Profile

Dependency Diagram

graph LR
  38cdd14a_61b8_35ed_893f_b542594d7017["create-renderer.ts"]
  1d39271f_a04e_7bb6_d848_5fe05aeadfba["render-stream.ts"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 1d39271f_a04e_7bb6_d848_5fe05aeadfba
  5f3e77fd_2395_2037_8fe2_ddb0a0a503a8["RenderStream"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 5f3e77fd_2395_2037_8fe2_ddb0a0a503a8
  b39ee3e2_2806_ad3f_11bf_d581e690be13["write.ts"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> b39ee3e2_2806_ad3f_11bf_d581e690be13
  5086a0f6_8276_ebf4_9891_182f4be074f2["createWriteFunction"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 5086a0f6_8276_ebf4_9891_182f4be074f2
  affe67c1_b5f5_cf58_e5d3_d3d820ab290f["render.ts"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> affe67c1_b5f5_cf58_e5d3_d3d820ab290f
  35709e8a_b6bd_4fb5_7079_31de385b8542["createRenderFunction"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 35709e8a_b6bd_4fb5_7079_31de385b8542
  a0033b88_b768_84c8_da01_e6315f54737c["util.ts"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> a0033b88_b768_84c8_da01_e6315f54737c
  44d22c0e_d64d_e680_50d4_d4cf20f4c4b8["createPromiseCallback"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 44d22c0e_d64d_e680_50d4_d4cf20f4c4b8
  70b92f4c_021d_4bb1_d973_4e94bcad69f8["index.ts"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 70b92f4c_021d_4bb1_d973_4e94bcad69f8
  6267c156_f90f_17b7_4f37_300535e21f45["TemplateRenderer"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 6267c156_f90f_17b7_4f37_300535e21f45
  7631a40c_1417_5525_665c_08971d2df5b1["ClientManifest"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 7631a40c_1417_5525_665c_08971d2df5b1
  907f4994_ea28_43b1_7976_0db9f0e97637["component"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 907f4994_ea28_43b1_7976_0db9f0e97637
  f6868225_acf7_afdc_ebd3_15704ddb6566["vnode"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> f6868225_acf7_afdc_ebd3_15704ddb6566
  88745fde_3d83_000a_cda6_1c8dad22f755["stream"]
  38cdd14a_61b8_35ed_893f_b542594d7017 --> 88745fde_3d83_000a_cda6_1c8dad22f755
  style 38cdd14a_61b8_35ed_893f_b542594d7017 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, TemplateRenderer 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 14 module(s): ClientManifest, RenderStream, TemplateRenderer, component, createPromiseCallback, createRenderFunction, createWriteFunction, index.ts, and 6 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: 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