Home / Function/ serve() — vite Function Reference

serve() — vite Function Reference

Architecture documentation for the serve() function in serve.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  6f07ebed_d22e_4abc_6d1b_1a9e6b662ce7["serve()"]
  e8390d52_78f0_b541_e7ec_a9dc528f4eae["serve.ts"]
  6f07ebed_d22e_4abc_6d1b_1a9e6b662ce7 -->|defined in| e8390d52_78f0_b541_e7ec_a9dc528f4eae
  style 6f07ebed_d22e_4abc_6d1b_1a9e6b662ce7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

playground/ssr-conditions/__tests__/serve.ts lines 10–62

export async function serve(): Promise<{ close(): Promise<void> }> {
  if (isBuild) {
    // build first
    const { build } = await import('vite')
    // client build
    await build({
      root: rootDir,
      logLevel: 'silent', // exceptions are logged by Vitest
      build: {
        minify: false,
        outDir: 'dist/client',
      },
    })
    // server build
    await build({
      root: rootDir,
      logLevel: 'silent',
      build: {
        ssr: 'src/app.js',
        outDir: 'dist/server',
      },
    })
  }

  await kill(port)

  const { createServer } = await import(path.resolve(rootDir, 'server.js'))
  const { app, vite } = await createServer(
    rootDir,
    isBuild,
    hmrPorts['ssr-conditions'],
  )

  return new Promise((resolve, reject) => {
    try {
      const server = app.listen(port, () => {
        resolve({
          // for test teardown
          async close() {
            await new Promise((resolve) => {
              server.close(resolve)
            })
            if (vite) {
              await vite.close()
            }
          },
        })
      })
    } catch (e) {
      reject(e)
    }
  })
}

Domain

Subdomains

Frequently Asked Questions

What does serve() do?
serve() is a function in the vite codebase, defined in playground/ssr-conditions/__tests__/serve.ts.
Where is serve() defined?
serve() is defined in playground/ssr-conditions/__tests__/serve.ts at line 10.

Analyze Your Own Codebase

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

Try Supermodel Free