import { defineConfig } from 'vite'; import { svelte } from '@sveltejs/vite-plugin-svelte'; import { resolve } from 'path'; export default defineConfig({ plugins: [ svelte({ emitCss: false, // Inline component CSS into JS bundle }), ], build: { rollupOptions: { input: resolve(__dirname, 'src/injected/gui.ts'), output: { dir: '../assets/gui', format: 'iife', entryFileNames: 'gui.min.js', name: '__dumberGUI', inlineDynamicImports: true, manualChunks: undefined, // Prevent chunk splitting assetFileNames: '[name].[ext]', // Don't hash asset names since they're inlined }, }, emptyOutDir: false, target: ['es2020', 'chrome91', 'firefox90'], minify: true, sourcemap: false, cssCodeSplit: false, // Prevent CSS code splitting assetsInlineLimit: 100000000, // Inline all assets as data URLs (100MB limit) }, resolve: { alias: { // Alias for easier imports '$lib': resolve(__dirname, 'src/lib'), '$components': resolve(__dirname, 'src/components'), }, }, });