import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; export default defineConfig({ plugins: [vue()], server: { headers: { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' } }, resolve: { alias: { '@': path.resolve(__dirname, './src'), 'nostr-tools': path.resolve(__dirname, 'node_modules/nostr-tools'), 'nostr-tools/nip06': path.resolve(__dirname, 'node_modules/nostr-tools/nip06'), 'nostr-tools/core': path.resolve(__dirname, 'node_modules/nostr-tools/core'), stream: 'stream-browserify', util: 'util', crypto: 'crypto-browserify' }, mainFields: ['module', 'jsnext:main', 'jsnext', 'main'], }, optimizeDeps: { include: ['nostr-tools', 'nostr-tools/nip06', 'nostr-tools/core', '@jlongster/sql.js'], esbuildOptions: { define: { global: 'globalThis' } } }, build: { sourcemap: true, target: 'esnext', chunkSizeWarningLimit: 1000, commonjsOptions: { include: [/node_modules/], transformMixedEsModules: true }, rollupOptions: { external: ['stream', 'util', 'crypto'], output: { globals: { stream: 'stream', util: 'util', crypto: 'crypto' } } } }, assetsInclude: ['**/*.wasm'] });