From 34be877a383741ed75605d481f3b1e473eb4defc Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 5 Jul 2024 15:56:42 +0800 Subject: [PATCH 1/6] feat(types): support custom VitePreloadErrorEvent --- packages/vite/client.d.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index 28cce42cba87d6..d1781b7839cdda 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -246,3 +246,20 @@ declare module '*?inline' { const src: string export default src } + +declare interface VitePreloadErrorEvent extends Error { + payload: Error +} + +declare interface Window { + addEventListener( + type: 'Vite:preloadError', + listener: (this: Window, ev: VitePreloadErrorEvent) => unknown, + options?: boolean | AddEventListenerOptions, + ): void + removeEventListener( + type: 'Vite:preloadError', + listener: (this: Window, ev: VitePreloadErrorEvent) => unknown, + options?: boolean | AddEventListenerOptions, + ): void +} From 97bf45daf7e9aa8400ce32244fb6dfeb2f37e2fb Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 8 Jul 2024 06:37:10 +0800 Subject: [PATCH 2/6] chore: updae --- packages/vite/client.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index d1781b7839cdda..889f1b93125b30 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -253,12 +253,12 @@ declare interface VitePreloadErrorEvent extends Error { declare interface Window { addEventListener( - type: 'Vite:preloadError', + type: 'vite:preloadError', listener: (this: Window, ev: VitePreloadErrorEvent) => unknown, options?: boolean | AddEventListenerOptions, ): void removeEventListener( - type: 'Vite:preloadError', + type: 'vite:preloadError', listener: (this: Window, ev: VitePreloadErrorEvent) => unknown, options?: boolean | AddEventListenerOptions, ): void From 6c0b8090926ef11a486b304ab2c02c1dc405bfed Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 23 Jul 2024 15:36:39 +0800 Subject: [PATCH 3/6] Update packages/vite/client.d.ts Co-authored-by: Bjorn Lu --- packages/vite/client.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index 889f1b93125b30..9707918168b7ec 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -260,6 +260,6 @@ declare interface Window { removeEventListener( type: 'vite:preloadError', listener: (this: Window, ev: VitePreloadErrorEvent) => unknown, - options?: boolean | AddEventListenerOptions, + options?: boolean | EventListenerOptions, ): void } From 2febb49be1688f5130a4337a07166338aa67afae Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 23 Jul 2024 15:43:47 +0800 Subject: [PATCH 4/6] Update packages/vite/client.d.ts Co-authored-by: Bjorn Lu --- packages/vite/client.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index 9707918168b7ec..d67cf70c632503 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -247,7 +247,7 @@ declare module '*?inline' { export default src } -declare interface VitePreloadErrorEvent extends Error { +declare interface VitePreloadErrorEvent extends Event { payload: Error } From 2673f1a38d5bde43502bc61647640fd4cd34098c Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 23 Jul 2024 16:17:06 +0800 Subject: [PATCH 5/6] feat: update --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 9af262a70544a9..f5a12a293fc392 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -26,6 +26,8 @@ type FileDep = { runtime: boolean } +type VitePreloadErrorEvent = Event & { payload?: Error } + /** * A flag for injected helpers. This flag will be set to `false` if the output * target is not native es - so that injected helper logic can be conditionally @@ -145,8 +147,9 @@ function preload( return promise .then(() => baseModule()) .catch((err) => { - const e = new Event('vite:preloadError', { cancelable: true }) - // @ts-expect-error custom payload + const e: VitePreloadErrorEvent = new Event('vite:preloadError', { + cancelable: true, + }) e.payload = err window.dispatchEvent(e) if (!e.defaultPrevented) { From 623d1a2358d73437f9feadd8368995e916159cc0 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 23 Jul 2024 20:28:15 +0800 Subject: [PATCH 6/6] chore: update --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index f5a12a293fc392..117c50eae2cd9f 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -26,7 +26,7 @@ type FileDep = { runtime: boolean } -type VitePreloadErrorEvent = Event & { payload?: Error } +type VitePreloadErrorEvent = Event & { payload: Error } /** * A flag for injected helpers. This flag will be set to `false` if the output @@ -147,9 +147,9 @@ function preload( return promise .then(() => baseModule()) .catch((err) => { - const e: VitePreloadErrorEvent = new Event('vite:preloadError', { + const e = new Event('vite:preloadError', { cancelable: true, - }) + }) as VitePreloadErrorEvent e.payload = err window.dispatchEvent(e) if (!e.defaultPrevented) {