Home / File/ app.js — vite Source File

app.js — vite Source File

Architecture documentation for app.js, a javascript file in the vite codebase. 2 imports, 0 dependents.

File javascript ViteCore BuildPipeline 2 imports 8 functions

Entity Profile

Dependency Diagram

graph LR
  d44c698e_d1cd_ed19_8d50_613125d5aef6["app.js"]
  0192bf72_c61f_e001_4c94_76ff7d67fe84["utils.js"]
  d44c698e_d1cd_ed19_8d50_613125d5aef6 --> 0192bf72_c61f_e001_4c94_76ff7d67fe84
  cf21fac9_e015_27a5_f6ea_3605ffc57cc6["escapeHtml"]
  d44c698e_d1cd_ed19_8d50_613125d5aef6 --> cf21fac9_e015_27a5_f6ea_3605ffc57cc6
  style d44c698e_d1cd_ed19_8d50_613125d5aef6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { escapeHtml } from './utils'

const pathRenderers = {
  '/': renderRoot,
  '/circular-dep': renderCircularDep,
  '/circular-import': renderCircularImport,
  '/circular-import2': renderCircularImport2,
  '/forked-deadlock-static-imports': renderForkedDeadlockStaticImports,
  '/forked-deadlock-dynamic-imports': renderForkedDeadlockDynamicImports,
  '/import-meta': renderImportMeta,
}

export async function render(url, rootDir) {
  const pathname = url.replace(/#[^#]*$/, '').replace(/\?[^?]*$/, '')
  const renderer = pathRenderers[pathname]
  if (renderer) {
    return await renderer(rootDir)
  }
  return '404'
}

async function renderRoot(rootDir) {
  const paths = Object.keys(pathRenderers).filter((key) => key !== '/')
  return `
    <ul>
      ${paths
        .map(
          (path) =>
            `<li><a href="${escapeHtml(path)}">${escapeHtml(path)}</a></li>`,
        )
        .join('\n')}
    </ul>
  `
}

async function renderCircularDep(rootDir) {
  const { getValueAB } = await import('./circular-dep-init/circular-dep-init')
  return `<div class="circ-dep-init">${escapeHtml(getValueAB())}</div>`
}

async function renderCircularImport(rootDir) {
  const { logA } = await import('./circular-import/index.js')
  return `<div class="circ-import">${escapeHtml(logA())}</div>`
}

async function renderCircularImport2(rootDir) {
  const { logA } = await import('./circular-import2/index.js')
  return `<div class="circ-import">${escapeHtml(logA())}</div>`
}

async function renderForkedDeadlockStaticImports(rootDir) {
  const { commonModuleExport } = await import('./forked-deadlock/common-module')
  commonModuleExport()
  return `<div class="forked-deadlock-static-imports">rendered</div>`
}

async function renderForkedDeadlockDynamicImports(rootDir) {
  const { commonModuleExport } =
    await import('./forked-deadlock/dynamic-imports/common-module')
  await commonModuleExport()
  return `<div class="forked-deadlock-dynamic-imports">rendered</div>`
}

async function renderImportMeta(rootDir) {
  const metaUrl = import.meta.url
  const resolveResult = import.meta.resolve('./app.js')
  const metaMain = import.meta.main
  return (
    `<div class="import-meta-url">${escapeHtml(metaUrl)}</div>` +
    `<div class="import-meta-resolve">${escapeHtml(resolveResult)}</div>` +
    `<div class="import-meta-main">${escapeHtml(String(metaMain))}</div>`
  )
}

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does app.js do?
app.js is a source file in the vite codebase, written in javascript. It belongs to the ViteCore domain, BuildPipeline subdomain.
What functions are defined in app.js?
app.js defines 8 function(s): render, renderCircularDep, renderCircularImport, renderCircularImport2, renderForkedDeadlockDynamicImports, renderForkedDeadlockStaticImports, renderImportMeta, renderRoot.
What does app.js depend on?
app.js imports 2 module(s): escapeHtml, utils.js.
Where is app.js in the architecture?
app.js is located at playground/ssr/src/app.js (domain: ViteCore, subdomain: BuildPipeline, directory: playground/ssr/src).

Analyze Your Own Codebase

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

Try Supermodel Free