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',