MCPcopy
hub / github.com/vitejs/vite / serve

Function serve

playground/ssr-noexternal/__tests__/serve.ts:10–52  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8export const port = ports['ssr-noexternal']
9
10export async function serve(): Promise<{ close(): Promise<void> }> {
11 if (isBuild) {
12 // build first
13 const { build } = await import('vite')
14 // server build
15 await build({
16 root: rootDir,
17 logLevel: 'silent',
18 build: {
19 ssr: 'src/entry-server.js',
20 },
21 })
22 }
23
24 await kill(port)
25
26 const { createServer } = await import(path.resolve(rootDir, 'server.js'))
27 const { app, vite } = await createServer(
28 rootDir,
29 isBuild,
30 hmrPorts['ssr-noexternal'],
31 )
32
33 return new Promise((resolve, reject) => {
34 try {
35 const server = app.listen(port, () => {
36 resolve({
37 // for test teardown
38 async close() {
39 await new Promise((resolve) => {
40 server.close(resolve)
41 })
42 if (vite) {
43 await vite.close()
44 }
45 },
46 })
47 })
48 } catch (e) {
49 reject(e)
50 }
51 })
52}

Callers

nothing calls this directly

Calls 5

resolveMethod · 0.65
listenMethod · 0.65
buildFunction · 0.50
createServerFunction · 0.50
resolveFunction · 0.50

Tested by

no test coverage detected