import { defineConfig } from 'wxt'; export default defineConfig({ // WXT framework: HMR, multi-browser, TypeScript-first, Vite under the hood srcDir: '.', outDir: '.output', extensionApi: 'chrome', modules: ['@wxt-dev/module-react'], manifest: { name: 'Fact & Hallucination Intelligence', version: '1.0.0', description: 'Real-time fact-checking and hallucination detection across the web.', permissions: [ 'storage', 'activeTab', 'scripting', 'tabs', 'webNavigation', ], host_permissions: [ 'https://*.twitter.com/*', 'https://*.x.com/*', 'https://*.instagram.com/*', 'https://*.youtube.com/*', 'https://*.reuters.com/*', 'https://*.bbc.com/*', 'https://*.apnews.com/*', 'https://chat.openai.com/*', 'https://claude.ai/*', 'https://gemini.google.com/*', 'https://*.fact-engine.workers.dev/*', 'wss://*.fact-engine.workers.dev/*', 'ws://localhost:7860/*', 'wss://*.hf.space/*', ], content_security_policy: { extension_pages: "script-src 'self'; object-src 'self'", }, action: { default_popup: 'entrypoints/popup.html', default_icon: { '16': 'icons/icon-16.png', '48': 'icons/icon-48.png', '128': 'icons/icon-128.png', }, }, icons: { '16': 'icons/icon-16.png', '48': 'icons/icon-48.png', '128': 'icons/icon-128.png', }, }, vite: () => ({ define: { // Injected at build time; override via .env.local 'import.meta.env.VITE_WS_URL': JSON.stringify( process.env.VITE_WS_URL || 'ws://localhost:7860' ), }, build: { target: 'esnext', minify: 'esbuild', }, }), });