From eaeb4f089dc92e7eeca7505f8dee2daccae63baa Mon Sep 17 00:00:00 2001 From: Julien Huang Date: Mon, 20 Feb 2023 11:56:17 +0100 Subject: [PATCH] fix(nuxi): restart nuxt when `distDir` is unlinked (#19131) --- packages/nuxi/src/commands/dev.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/nuxi/src/commands/dev.ts b/packages/nuxi/src/commands/dev.ts index f5e8da57cd9..1c725b0dc8f 100644 --- a/packages/nuxi/src/commands/dev.ts +++ b/packages/nuxi/src/commands/dev.ts @@ -66,6 +66,8 @@ export default defineNuxtCommand({ }) let currentNuxt: Nuxt + let distWatcher: chokidar.FSWatcher + const showURL = () => { listener.showURL({ // TODO: Normalize URL with trailing slash within schema @@ -82,11 +84,20 @@ export default defineNuxtCommand({ if (currentNuxt) { await currentNuxt.close() } + if (distWatcher) { + await distWatcher.close() + } + currentNuxt = await loadNuxt({ rootDir, dev: true, ready: false }) if (!isRestart) { showURL() } + distWatcher = chokidar.watch(resolve(currentNuxt.options.buildDir, 'dist'), { ignoreInitial: true, depth: 0 }) + distWatcher.on('unlinkDir', () => { + dLoad(true, '.nuxt/dist directory has been removed') + }) + // Write manifest and also check if we need cache invalidation if (!isRestart) { const previousManifest = await loadNuxtManifest(currentNuxt.options.buildDir)