Skip to content

Commit 6682fec

Browse files
committed
fix(vite): improve hmr handling, #176
1 parent e48ffee commit 6682fec

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

packages/plugins-common/context.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,13 @@ export function createContext<Config extends PluginConfig = PluginConfig>(
4040
invalidations.forEach(cb => cb())
4141
}
4242

43-
async function scan(code: string, id?: string) {
43+
async function extract(code: string, id?: string) {
4444
if (id)
4545
modules.set(id, code)
46+
const len = tokens.size
4647
await uno.applyExtractors(code, id, tokens)
47-
invalidate()
48+
if (tokens.size > len)
49+
invalidate()
4850
}
4951

5052
async function reloadConfig() {
@@ -75,7 +77,7 @@ export function createContext<Config extends PluginConfig = PluginConfig>(
7577
filter,
7678
reloadConfig,
7779
uno,
78-
extract: scan,
80+
extract,
7981
config,
8082
configFilepath: filepath,
8183
}

packages/vite/src/modes/global/dev.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export function GlobalModeDevPlugin({ uno, tokens, onInvalidate, extract, filter
2323
const mod = server.moduleGraph.getModuleById(id)
2424
if (!mod)
2525
continue
26-
lastUpdate = Date.now()
2726
server!.moduleGraph.invalidateModule(mod)
2827
}
2928
}
@@ -32,6 +31,7 @@ export function GlobalModeDevPlugin({ uno, tokens, onInvalidate, extract, filter
3231
}
3332

3433
function sendUpdate() {
34+
lastUpdate = Date.now()
3535
for (const server of servers) {
3636
server.ws.send({
3737
type: 'update',

0 commit comments

Comments
 (0)