36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
import { BACKEND_HTTP_URL } from '@/shared/config';
|
|
import { defineConfig } from 'wxt';
|
|
|
|
// See https://wxt.dev/api/config.html
|
|
export default defineConfig({
|
|
srcDir: 'src',
|
|
modules: ['@wxt-dev/module-react'],
|
|
// Target Manifest V3 on both Chromium and Firefox (modern Firefox / Zen support it).
|
|
manifestVersion: 3,
|
|
manifest: ({ browser }) => ({
|
|
name: 'Nexa',
|
|
description: 'Your blockchain powered agent to help with your trading emotions.',
|
|
permissions: ['storage'],
|
|
// axiom.trade: the site adapter target. localhost:8080: the Nexa backend
|
|
// (dev only — swap/extend for the real backend host before shipping).
|
|
// Not 3000 — that's this extension's own Vite dev server port.
|
|
host_permissions: ['https://axiom.trade/*', BACKEND_HTTP_URL + "/*"],
|
|
browser_specific_settings: {
|
|
gecko: {
|
|
// Placeholder id for local/dev builds; replace before publishing to AMO.
|
|
id: '[email protected]',
|
|
},
|
|
},
|
|
// Firefox's implicit default extension-pages CSP includes
|
|
// upgrade-insecure-requests, which silently rewrites our ws:// WS client
|
|
// connections to wss:// and breaks them against the plaintext local dev
|
|
// backend (no TLS in dev — see backend/CLAUDE.md). Declaring our own CSP
|
|
// (identical to the standard default otherwise) replaces Firefox's
|
|
// implicit one and drops that directive. Chrome doesn't have this
|
|
// behavior, so this is Firefox-only.
|
|
...(browser === 'firefox'
|
|
? { content_security_policy: { extension_pages: "script-src 'self'; object-src 'self'" } }
|
|
: {}),
|
|
}),
|
|
});
|