From 0e97e67fd824f9cafa559f7597f74bdcb383fab6 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Thu, 4 Aug 2022 12:19:47 +0200 Subject: [PATCH] feat(vite): log vite-node hmr updates --- packages/vite/src/runtime/vite-node.mjs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/runtime/vite-node.mjs b/packages/vite/src/runtime/vite-node.mjs index 57601e1b6c2..10ebd1a1dd4 100644 --- a/packages/vite/src/runtime/vite-node.mjs +++ b/packages/vite/src/runtime/vite-node.mjs @@ -1,5 +1,7 @@ +import { performance } from 'node:perf_hooks' import { ViteNodeRunner } from 'vite-node/client' import { $fetch } from 'ohmyfetch' +import consola from 'consola' import { getViteNodeOptions } from './vite-node-shared.mjs' const viteNodeOptions = getViteNodeOptions() @@ -25,12 +27,21 @@ export default async (ssrContext) => { const invalidates = await $fetch('/invalidates', { baseURL: viteNodeOptions.baseURL }) + const updates = new Set() for (const key of invalidates) { - runner.moduleCache.delete(key) + if (runner.moduleCache.delete(key)) { + updates.add(key) + } } // Execute SSR bundle on demand + const start = performance.now() render = render || (await runner.executeFile(viteNodeOptions.entryPath)).default + if (updates.size) { + const time = Math.round((performance.now() - start) * 1000) / 1000 + consola.success(`Vite server hmr ${updates.size} files`, time ? `in ${time}ms` : '') + } + const result = await render(ssrContext) return result }