From 48882aa988b528fb9d1629f8dfff443e6ff14767 Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Sun, 9 Aug 2026 15:42:24 +0800 Subject: [PATCH] test(windows): isolate HMR alias identity --- packages/boot/app-boot/tests/hmr-config.spec.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/boot/app-boot/tests/hmr-config.spec.ts b/packages/boot/app-boot/tests/hmr-config.spec.ts index 1de504c221..b555645da8 100644 --- a/packages/boot/app-boot/tests/hmr-config.spec.ts +++ b/packages/boot/app-boot/tests/hmr-config.spec.ts @@ -8,12 +8,12 @@ import Loader from '@cordisjs/plugin-loader' import Timer from '@cordisjs/plugin-timer' import { describe, expect, it, vi } from 'vitest' -async function bootHmr(dir: string, root: string[] = []): Promise { +async function bootHmr(dir: string, root: string[] = [], usePolling?: boolean): Promise { const ctx = new Context() ctx.baseUrl = pathToFileURL(dir).href + '/' await ctx.plugin(Loader) await ctx.plugin(Timer) - await ctx.plugin(Hmr, { root, ignored: [], debounce: 0 }) + await ctx.plugin(Hmr, { root, ignored: [], debounce: 0, usePolling }) return ctx } @@ -32,7 +32,9 @@ describe('HMR exact config paths', () => { const aliasFilename = join(alias, 'module.ts') symlinkSync(target, alias, process.platform === 'win32' ? 'junction' : 'dir') writeFileSync(aliasFilename, 'export const generation = 0\n') - const ctx = await bootHmr(alias, ['.']) + // This acceptance owns alias-to-cache identity. Other cases below exercise + // native events; polling keeps Windows fs.watch queue pressure out of it. + const ctx = await bootHmr(alias, ['.'], true) const filename = join(realpathSync(target), 'module.ts') const expected = pathToFileURL(filename).href const cacheHas = vi.spyOn(ctx.loader.internal!.loadCache, 'has').mockReturnValue(false)