UNPKG

wxt

Version:

⚡ Next-gen Web Extension Framework

43 lines (41 loc) 1.12 kB
import path from "node:path"; export function extensionApiMock(config) { const virtualSetupModule = "virtual:wxt-setup"; const resolvedVirtualSetupModule = "\0" + virtualSetupModule; return { name: "wxt:extension-api-mock", config() { const replacement = path.resolve( config.wxtModuleDir, "dist/virtual/mock-browser" ); return { test: { setupFiles: [virtualSetupModule] }, resolve: { alias: [ // wxt/browser, wxt/browser/... { find: "wxt/browser", replacement } ] }, ssr: { // Inline all WXT modules subdependencies can be mocked noExternal: ["wxt"] } }; }, resolveId(id) { if (id.endsWith(virtualSetupModule)) return resolvedVirtualSetupModule; }, load(id) { if (id === resolvedVirtualSetupModule) return setupTemplate; } }; } const setupTemplate = ` import { vi } from 'vitest'; import { fakeBrowser } from 'wxt/testing'; vi.stubGlobal("chrome", fakeBrowser); vi.stubGlobal("browser", fakeBrowser); `;