diff --git a/packages/vite-plugin-web-extension/src/extension-runner/web-ext-runner.ts b/packages/vite-plugin-web-extension/src/extension-runner/web-ext-runner.ts index ccece6af..a683680f 100644 --- a/packages/vite-plugin-web-extension/src/extension-runner/web-ext-runner.ts +++ b/packages/vite-plugin-web-extension/src/extension-runner/web-ext-runner.ts @@ -27,9 +27,12 @@ export function createWebExtRunner( const initialConfig = await loadConfig({ pluginOptions, logger, paths }); const target = - pluginOptions.browser === null || pluginOptions.browser === "firefox" - ? null - : "chromium"; + pluginOptions.browser === "chrome" + ? "chromium" + : pluginOptions.browser === null || + pluginOptions.browser === "firefox" + ? "firefox-desktop" + : initialConfig.target ?? "chromium"; const sourceDir = paths.outDir; const config = { diff --git a/packages/vite-plugin-web-extension/src/options.ts b/packages/vite-plugin-web-extension/src/options.ts index 1b428318..b5c1f612 100644 --- a/packages/vite-plugin-web-extension/src/options.ts +++ b/packages/vite-plugin-web-extension/src/options.ts @@ -62,7 +62,7 @@ export interface UserOptions { * * @default "chrome" */ - browser?: string; + browser?: 'chrome' | 'firefox' | (string & {}) | null; /** * Do not validate your manifest to make sure it can be loaded by browsers. @@ -119,7 +119,7 @@ export interface ResolvedOptions { additionalInputs: string[]; disableAutoLaunch: boolean; watchFilePaths: string[]; - browser?: string; + browser?: 'chrome' | 'firefox' | (string & {}) | null; skipManifestValidation: boolean; printSummary: boolean; htmlViteConfig?: vite.InlineConfig;