From 8ba746982ffff80ad6ae1201639c43065c5565f5 Mon Sep 17 00:00:00 2001 From: bluwy Date: Sun, 12 Jun 2022 16:06:16 +0800 Subject: [PATCH 1/3] fix: dont handle sigterm in middleware mode --- packages/vite/src/node/server/index.ts | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 33565d7390d601..16122b288d470d 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -299,7 +299,6 @@ export async function createServer( const container = await createPluginContainer(config, moduleGraph, watcher) const closeHttpServer = createServerCloseFn(httpServer) - // eslint-disable-next-line prefer-const let exitProcess: () => void const server: ViteDevServer = { @@ -342,9 +341,8 @@ export async function createServer( return startServer(server, port, isRestart) }, async close() { - process.off('SIGTERM', exitProcess) - if (!middlewareMode && process.env.CI !== 'true') { + process.off('SIGTERM', exitProcess) process.stdin.off('end', exitProcess) } @@ -382,17 +380,15 @@ export async function createServer( server.transformIndexHtml = createDevHtmlTransformFn(server) - exitProcess = async () => { - try { - await server.close() - } finally { - process.exit() - } - } - - process.once('SIGTERM', exitProcess) - if (!middlewareMode && process.env.CI !== 'true') { + exitProcess = async () => { + try { + await server.close() + } finally { + process.exit() + } + } + process.once('SIGTERM', exitProcess) process.stdin.on('end', exitProcess) } From e331cb89034f85043448b2e580514da43fc5c19b Mon Sep 17 00:00:00 2001 From: bluwy Date: Sun, 12 Jun 2022 21:24:50 +0800 Subject: [PATCH 2/3] fix: catch sigterm in ci --- packages/vite/src/node/server/index.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 16122b288d470d..74cfe0675ee1c8 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -341,9 +341,11 @@ export async function createServer( return startServer(server, port, isRestart) }, async close() { - if (!middlewareMode && process.env.CI !== 'true') { - process.off('SIGTERM', exitProcess) - process.stdin.off('end', exitProcess) + if (!middlewareMode) { + process.once('SIGTERM', exitProcess) + if (process.env.CI !== 'true') { + process.stdin.on('end', exitProcess) + } } await Promise.all([ @@ -380,7 +382,7 @@ export async function createServer( server.transformIndexHtml = createDevHtmlTransformFn(server) - if (!middlewareMode && process.env.CI !== 'true') { + if (!middlewareMode) { exitProcess = async () => { try { await server.close() @@ -389,7 +391,9 @@ export async function createServer( } } process.once('SIGTERM', exitProcess) - process.stdin.on('end', exitProcess) + if (process.env.CI !== 'true') { + process.stdin.on('end', exitProcess) + } } const { packageCache } = config From b54b2d9e6f0558554a94c6a11fd04577c4f1eda2 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 12 Jun 2022 21:39:57 +0800 Subject: [PATCH 3/3] chore: fix typo Co-authored-by: patak --- packages/vite/src/node/server/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 74cfe0675ee1c8..fc66b909a33989 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -342,9 +342,9 @@ export async function createServer( }, async close() { if (!middlewareMode) { - process.once('SIGTERM', exitProcess) + process.off('SIGTERM', exitProcess) if (process.env.CI !== 'true') { - process.stdin.on('end', exitProcess) + process.stdin.off('end', exitProcess) } }