Home / Function/ createServerCloseFn() — vite Function Reference

createServerCloseFn() — vite Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  82bcdece_2370_d7d0_3f82_ad3703daa682["createServerCloseFn()"]
  a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e["index.ts"]
  82bcdece_2370_d7d0_3f82_ad3703daa682 -->|defined in| a423a1ed_f7d8_0eb5_9b8f_ddfa7fa8147e
  5c50110b_5c76_c14f_b1dd_3efd3df7f375["preview()"]
  5c50110b_5c76_c14f_b1dd_3efd3df7f375 -->|calls| 82bcdece_2370_d7d0_3f82_ad3703daa682
  24ecf2a1_3c09_d451_76f3_9485b4e993f8["_createServer()"]
  24ecf2a1_3c09_d451_76f3_9485b4e993f8 -->|calls| 82bcdece_2370_d7d0_3f82_ad3703daa682
  dfa2b928_25a4_a78f_1e11_1e7e643cae09["resolve()"]
  82bcdece_2370_d7d0_3f82_ad3703daa682 -->|calls| dfa2b928_25a4_a78f_1e11_1e7e643cae09
  19d4a1e3_7ff5_51ec_2223_486cb0f131a4["add()"]
  82bcdece_2370_d7d0_3f82_ad3703daa682 -->|calls| 19d4a1e3_7ff5_51ec_2223_486cb0f131a4
  588e66be_7e6f_859a_bcf2_ecb0b6773d83["close()"]
  82bcdece_2370_d7d0_3f82_ad3703daa682 -->|calls| 588e66be_7e6f_859a_bcf2_ecb0b6773d83
  style 82bcdece_2370_d7d0_3f82_ad3703daa682 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/server/index.ts lines 1070–1106

export function createServerCloseFn(
  server: HttpServer | null,
): () => Promise<void> {
  if (!server) {
    return () => Promise.resolve()
  }

  let hasListened = false
  const openSockets = new Set<net.Socket>()

  server.on('connection', (socket) => {
    openSockets.add(socket)
    socket.on('close', () => {
      openSockets.delete(socket)
    })
  })

  server.once('listening', () => {
    hasListened = true
  })

  return () =>
    new Promise<void>((resolve, reject) => {
      openSockets.forEach((s) => s.destroy())
      if (hasListened) {
        server.close((err) => {
          if (err) {
            reject(err)
          } else {
            resolve()
          }
        })
      } else {
        resolve()
      }
    })
}

Domain

Subdomains

Frequently Asked Questions

What does createServerCloseFn() do?
createServerCloseFn() is a function in the vite codebase, defined in packages/vite/src/node/server/index.ts.
Where is createServerCloseFn() defined?
createServerCloseFn() is defined in packages/vite/src/node/server/index.ts at line 1070.
What does createServerCloseFn() call?
createServerCloseFn() calls 3 function(s): add, close, resolve.
What calls createServerCloseFn()?
createServerCloseFn() is called by 2 function(s): _createServer, preview.

Analyze Your Own Codebase

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

Try Supermodel Free