1import { defineConfig } from "vite";
2import { svelte } from "@sveltejs/vite-plugin-svelte";
3import { resolve } from "path";
4
5export default defineConfig({
6 plugins: [
7 svelte({
8 emitCss: false, // Inline component CSS into JS bundle
9 }),
10 ],
11 build: {
12 rollupOptions: {
13 input: resolve(__dirname, "src/injected/gui.ts"),
14 output: {
15 dir: "../assets/gui",
16 format: "iife",
17 entryFileNames: "gui.min.js",
18 name: "__dumberGUI",
19 inlineDynamicImports: true,
20 manualChunks: undefined, // Prevent chunk splitting
21 assetFileNames: "[name].[ext]", // Don't hash asset names since they're inlined
22 },
23 },
24 emptyOutDir: false,
25 target: ["es2020", "chrome91", "firefox90"],
26 minify: true,
27 sourcemap: false,
28 cssCodeSplit: false, // Prevent CSS code splitting
29 assetsInlineLimit: 100000000, // Inline all assets as data URLs (100MB limit)
30 },
31 resolve: {
32 alias: {
33 // Alias for easier imports
34 $lib: resolve(__dirname, "src/lib"),
35 $components: resolve(__dirname, "src/components"),
36 },
37 },
38});