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

create-bundle-renderer.ts — vue Source File

Architecture documentation for create-bundle-renderer.ts, a typescript file in the vue codebase. 8 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  f74c7f32_6b84_af20_b750_d2532206091d["create-bundle-renderer.ts"]
  89eacf5c_deee_e42e_d519_69cb05e48e63["util.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 89eacf5c_deee_e42e_d519_69cb05e48e63
  46da04ac_8d5c_f991_fddd_ba38b64b6398["createPromiseCallback"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 46da04ac_8d5c_f991_fddd_ba38b64b6398
  5a1c51f2_4876_fec0_df27_1d6ef59f031a["create-bundle-runner.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 5a1c51f2_4876_fec0_df27_1d6ef59f031a
  e142ddd7_db7e_6e31_6600_9ceabc3f3fa2["createBundleRunner"]
  f74c7f32_6b84_af20_b750_d2532206091d --> e142ddd7_db7e_6e31_6600_9ceabc3f3fa2
  53b05d28_585e_4d3e_ad81_d6a7ef6875f2["create-renderer.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 53b05d28_585e_4d3e_ad81_d6a7ef6875f2
  1adeac87_d26d_ac40_0174_e261a2e75a41["source-map-support.ts"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 1adeac87_d26d_ac40_0174_e261a2e75a41
  53c38896_e852_adea_86c6_0c45a1a6707f["createSourceMapConsumers"]
  f74c7f32_6b84_af20_b750_d2532206091d --> 53c38896_e852_adea_86c6_0c45a1a6707f
  da88ddd6_89c9_1ce7_3552_bd114f03e481["rewriteErrorTrace"]
  f74c7f32_6b84_af20_b750_d2532206091d --> da88ddd6_89c9_1ce7_3552_bd114f03e481
  style f74c7f32_6b84_af20_b750_d2532206091d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { createPromiseCallback } from '../util'
import { createBundleRunner } from './create-bundle-runner'
import type { Renderer, RenderOptions } from '../create-renderer'
import {
  createSourceMapConsumers,
  rewriteErrorTrace
} from './source-map-support'

const fs = require('fs')
const path = require('path')
const PassThrough = require('stream').PassThrough

const INVALID_MSG =
  'Invalid server-rendering bundle format. Should be a string ' +
  'or a bundle Object of type:\n\n' +
  `{
  entry: string;
  files: { [filename: string]: string; };
  maps: { [filename: string]: string; };
}\n`

// The render bundle can either be a string (single bundled file)
// or a bundle manifest object generated by vue-ssr-webpack-plugin.
type RenderBundle = {
  basedir?: string
  entry: string
  files: { [filename: string]: string }
  maps: { [filename: string]: string }
  modules?: { [filename: string]: Array<string> }
}

export function createBundleRendererCreator(
  createRenderer: (options?: RenderOptions) => Renderer
) {
  return function createBundleRenderer(
    bundle: string | RenderBundle,
    rendererOptions: RenderOptions = {}
  ) {
    let files, entry, maps
    let basedir = rendererOptions.basedir

    // load bundle if given filepath
    if (
      typeof bundle === 'string' &&
      /\.js(on)?$/.test(bundle) &&
      path.isAbsolute(bundle)
    ) {
      if (fs.existsSync(bundle)) {
        const isJSON = /\.json$/.test(bundle)
        basedir = basedir || path.dirname(bundle)
        bundle = fs.readFileSync(bundle, 'utf-8')
        if (isJSON) {
          try {
            // @ts-expect-error
            bundle = JSON.parse(bundle)
          } catch (e: any) {
            throw new Error(`Invalid JSON bundle file: ${bundle}`)
          }
        }
      } else {
// ... (100 more lines)

Subdomains

Types

Frequently Asked Questions

What does create-bundle-renderer.ts do?
create-bundle-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-bundle-renderer.ts?
create-bundle-renderer.ts defines 1 function(s): createBundleRendererCreator.
What does create-bundle-renderer.ts depend on?
create-bundle-renderer.ts imports 8 module(s): create-bundle-runner.ts, create-renderer.ts, createBundleRunner, createPromiseCallback, createSourceMapConsumers, rewriteErrorTrace, source-map-support.ts, util.ts.
Where is create-bundle-renderer.ts in the architecture?
create-bundle-renderer.ts is located at packages/server-renderer/src/bundle-renderer/create-bundle-renderer.ts (domain: ServerRenderer, subdomain: BundleRenderer, directory: packages/server-renderer/src/bundle-renderer).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free