fix(release): 发布回归 - 修复资源引用保护并校准验证合同

This commit is contained in:
ddcat666
2026-09-26 17:05:36 +08:00
parent 04f49768cd
commit 037b288668
19 changed files with 363 additions and 105 deletions

View File

@@ -33,7 +33,9 @@ async function prepareEntry(dev, pathname) {
let entryLoaded;
const appearanceReady = new Promise((resolve) => (resolveAppearance = resolve));
const loaded = new Promise((resolve) => (entryLoaded = resolve));
runInNewContext(await build.outputs[0].text(), { window: { location: { pathname } }, events, appearanceReady, entryLoaded });
const listeners = new Map();
runInNewContext(await build.outputs[0].text(), { window: { location: { pathname }, addEventListener: (name, listener) => listeners.set(name, listener) }, events, appearanceReady, entryLoaded });
expect(typeof listeners.get("vite:preloadError")).toBe("function");
return { events, resolveAppearance, loaded };
}
@@ -50,12 +52,11 @@ for (const [dev, pathname] of [
[true, "/dev/director-repro/"],
[true, "/dev/director-repro-other"],
]) {
test(`appearance still blocks normal startup: dev=${dev} path=${pathname}`, async () => {
test(`appearance loads in parallel with normal startup: dev=${dev} path=${pathname}`, async () => {
const entry = await prepareEntry(dev, pathname);
expect(entry.events).toEqual(["appearance"]);
entry.resolveAppearance();
await entry.loaded;
expect(entry.events).toEqual(["appearance", "./application"]);
entry.resolveAppearance();
});
}