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

Function serve

playground/lib/__tests__/serve.ts:21–145  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

19export const port = ports.lib
20
21export async function serve(): Promise<{ close(): Promise<void> }> {
22 setupConsoleWarnCollector()
23
24 if (!isBuild) {
25 const { createServer } = await import('vite')
26 process.env.VITE_INLINE = 'inline-serve'
27 const viteServer = await (
28 await createServer({
29 root: rootDir,
30 logLevel: 'silent',
31 server: {
32 port,
33 strictPort: true,
34 watch: {
35 usePolling: true,
36 interval: 100,
37 },
38 host: true,
39 fs: {
40 strict: !isBuild,
41 },
42 },
43 build: {
44 target: 'esnext',
45 },
46 })
47 ).listen()
48 // use resolved port/base from server
49 const devBase = viteServer.config.base === '/' ? '' : viteServer.config.base
50 setViteUrl(`http://localhost:${port}${devBase}`)
51 await page.goto(viteTestUrl)
52
53 return viteServer
54 } else {
55 const { build } = await import('vite')
56 await build({
57 root: rootDir,
58 logLevel: 'silent',
59 configFile: path.resolve(dirname, '../vite.config.js'),
60 })
61
62 await build({
63 root: rootDir,
64 logLevel: 'warn', // output esbuild warns
65 configFile: path.resolve(dirname, '../vite.dyimport.config.js'),
66 })
67
68 await build({
69 root: rootDir,
70 logLevel: 'warn', // output esbuild warns
71 configFile: path.resolve(dirname, '../vite.multiple-output.config.js'),
72 })
73
74 await build({
75 root: rootDir,
76 logLevel: 'warn', // output esbuild warns
77 configFile: path.resolve(dirname, '../vite.nominify.config.js'),
78 })

Callers 3

servePublicMiddlewareFunction · 0.50
serveStaticMiddlewareFunction · 0.50
vitestSetup.tsFile · 0.50

Calls 7

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

Tested by

no test coverage detected