From 07a4ba8bc550efdbaa664dbf6fb8209b640803e8 Mon Sep 17 00:00:00 2001 From: Aaron Date: Mon, 9 Feb 2026 01:44:35 -0600 Subject: [PATCH] fix: Make `ExtensionRunner#closeBrowser` optional (#2092) Co-authored-by: Patryk Kuniczak --- packages/wxt/src/core/create-server.ts | 4 ++-- packages/wxt/src/core/runners/manual.ts | 3 --- packages/wxt/src/core/runners/safari.ts | 3 --- packages/wxt/src/core/runners/wsl.ts | 3 --- packages/wxt/src/types.ts | 4 +++- 5 files changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/wxt/src/core/create-server.ts b/packages/wxt/src/core/create-server.ts index fb0d9591..557ed5a9 100644 --- a/packages/wxt/src/core/create-server.ts +++ b/packages/wxt/src/core/create-server.ts @@ -126,7 +126,7 @@ async function createServerInternal(): Promise { async stop() { wasStopped = true; keyboardShortcuts.stop(); - await runner.closeBrowser(); + await runner.closeBrowser?.(); await builderServer.close(); await wxt.hooks.callHook('server:closed', wxt, server); @@ -150,7 +150,7 @@ async function createServerInternal(): Promise { server.ws.send('wxt:reload-extension'); }, async restartBrowser() { - await runner.closeBrowser(); + await runner.closeBrowser?.(); keyboardShortcuts.stop(); await wxt.reloadConfig(); runner = await createExtensionRunner(); diff --git a/packages/wxt/src/core/runners/manual.ts b/packages/wxt/src/core/runners/manual.ts index 8dfee1a5..2d6e5882 100644 --- a/packages/wxt/src/core/runners/manual.ts +++ b/packages/wxt/src/core/runners/manual.ts @@ -15,8 +15,5 @@ export function createManualRunner(): ExtensionRunner { )}" as an unpacked extension manually`, ); }, - async closeBrowser() { - // noop - }, }; } diff --git a/packages/wxt/src/core/runners/safari.ts b/packages/wxt/src/core/runners/safari.ts index f3d27c55..a0f77955 100644 --- a/packages/wxt/src/core/runners/safari.ts +++ b/packages/wxt/src/core/runners/safari.ts @@ -15,8 +15,5 @@ export function createSafariRunner(): ExtensionRunner { )}" as an unpacked extension manually`, ); }, - async closeBrowser() { - // noop - }, }; } diff --git a/packages/wxt/src/core/runners/wsl.ts b/packages/wxt/src/core/runners/wsl.ts index 4fc0b126..34c7d0bb 100644 --- a/packages/wxt/src/core/runners/wsl.ts +++ b/packages/wxt/src/core/runners/wsl.ts @@ -15,8 +15,5 @@ export function createWslRunner(): ExtensionRunner { )}" as an unpacked extension manually`, ); }, - async closeBrowser() { - // noop - }, }; } diff --git a/packages/wxt/src/types.ts b/packages/wxt/src/types.ts index c76c21d1..43ba58ea 100644 --- a/packages/wxt/src/types.ts +++ b/packages/wxt/src/types.ts @@ -1428,7 +1428,9 @@ export interface FsCache { export interface ExtensionRunner { openBrowser(): Promise; - closeBrowser(): Promise; + + closeBrowser?(): Promise; + /** Whether or not this runner actually opens the browser. */ canOpen?(): boolean; }