From cb916541847cf4027e0677e52ee507b4867afb8a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 17 Jun 2022 14:33:53 +0100 Subject: [PATCH 1/3] fix(vite): disable hmr in build --- packages/vite/src/vite.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index 6b5925510cc..fd239a7b8ce 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -79,12 +79,14 @@ export async function bundle (nuxt: Nuxt) { watch: { ignored: isIgnored }, - hmr: { - // https://github.com/nuxt/framework/issues/4191 - protocol: 'ws', - clientPort: hmrPort, - port: hmrPort - }, + hmr: nuxt.options.dev + ? { + // https://github.com/nuxt/framework/issues/4191 + protocol: 'ws', + clientPort: hmrPort, + port: hmrPort + } + : false, fs: { allow: [ nuxt.options.appDir From 91cf7a73d4dc794e3320924d8b5aa4c5d68225ef Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 20 Jun 2022 10:21:04 +0100 Subject: [PATCH 2/3] fix: set watch to undefined in build mode --- packages/vite/src/vite.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index fd239a7b8ce..efd1367e0a1 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -76,9 +76,7 @@ export async function bundle (nuxt: Nuxt) { reactivityTransform: nuxt.options.experimental.reactivityTransform }, server: { - watch: { - ignored: isIgnored - }, + watch: nuxt.options.dev ? { ignored: isIgnored } : {}, hmr: nuxt.options.dev ? { // https://github.com/nuxt/framework/issues/4191 From e5449828565c58028dfea7c9d093e8b58584a6c1 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 20 Jun 2022 10:38:31 +0100 Subject: [PATCH 3/3] refactor: add build overrides later --- packages/vite/src/vite.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index efd1367e0a1..6d57060c262 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -76,15 +76,13 @@ export async function bundle (nuxt: Nuxt) { reactivityTransform: nuxt.options.experimental.reactivityTransform }, server: { - watch: nuxt.options.dev ? { ignored: isIgnored } : {}, - hmr: nuxt.options.dev - ? { - // https://github.com/nuxt/framework/issues/4191 - protocol: 'ws', - clientPort: hmrPort, - port: hmrPort - } - : false, + watch: { ignored: isIgnored }, + hmr: { + // https://github.com/nuxt/framework/issues/4191 + protocol: 'ws', + clientPort: hmrPort, + port: hmrPort + }, fs: { allow: [ nuxt.options.appDir @@ -96,6 +94,13 @@ export async function bundle (nuxt: Nuxt) { ) } + // In build mode we explicitly override any vite options that vite is relying on + // to detect whether to inject production or development code (such as HMR code) + if (!nuxt.options.dev) { + ctx.config.server.hmr = false + ctx.config.server.watch = undefined + } + await nuxt.callHook('vite:extend', ctx) nuxt.hook('vite:serverCreated', (server: vite.ViteDevServer, env) => {