From 6682fec28cf9ca8f737a1fb49036073359e1f791 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 28 Nov 2021 01:37:16 +0800 Subject: [PATCH] fix(vite): improve hmr handling, #176 --- packages/plugins-common/context.ts | 8 +++++--- packages/vite/src/modes/global/dev.ts | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/plugins-common/context.ts b/packages/plugins-common/context.ts index 4c3d8a1477..8e94ef8843 100644 --- a/packages/plugins-common/context.ts +++ b/packages/plugins-common/context.ts @@ -40,11 +40,13 @@ export function createContext( invalidations.forEach(cb => cb()) } - async function scan(code: string, id?: string) { + async function extract(code: string, id?: string) { if (id) modules.set(id, code) + const len = tokens.size await uno.applyExtractors(code, id, tokens) - invalidate() + if (tokens.size > len) + invalidate() } async function reloadConfig() { @@ -75,7 +77,7 @@ export function createContext( filter, reloadConfig, uno, - extract: scan, + extract, config, configFilepath: filepath, } diff --git a/packages/vite/src/modes/global/dev.ts b/packages/vite/src/modes/global/dev.ts index c92e86b348..96c83da357 100644 --- a/packages/vite/src/modes/global/dev.ts +++ b/packages/vite/src/modes/global/dev.ts @@ -23,7 +23,6 @@ export function GlobalModeDevPlugin({ uno, tokens, onInvalidate, extract, filter const mod = server.moduleGraph.getModuleById(id) if (!mod) continue - lastUpdate = Date.now() server!.moduleGraph.invalidateModule(mod) } } @@ -32,6 +31,7 @@ export function GlobalModeDevPlugin({ uno, tokens, onInvalidate, extract, filter } function sendUpdate() { + lastUpdate = Date.now() for (const server of servers) { server.ws.send({ type: 'update',