1import { defineConfig } from "vite";
2import { svelte } from "@sveltejs/vite-plugin-svelte";
3import { resolve } from "path";
4import { pageGenerator } from "./vite-plugin-pages";
5
6export default defineConfig({
7 plugins: [
8 svelte({
9 emitCss: false, // Inline component CSS for shadow DOM compatibility
10 }),
11 pageGenerator([
12 {
13 name: "homepage",
14 title: "Dumber Browser",
15 script: "homepage.min.js",
16 filename: "index.html",
17 },
18 ]),
19 ],
20 build: {
21 rollupOptions: {
22 input: resolve(__dirname, "src/pages/homepage.ts"),
23 output: {
24 dir: "../assets/gui",
25 entryFileNames: "homepage.min.js",
26 chunkFileNames: "[name].js",
27 assetFileNames: "[name].[ext]",
28 manualChunks: undefined,
29 format: "iife",
30 name: "DumberHomepage",
31 },
32 },
33 emptyOutDir: false,
34 target: ["es2020", "chrome91", "firefox90"],
35 minify: true,
36 sourcemap: false,
37 cssCodeSplit: false,
38 assetsInlineLimit: 4096,
39 },
40 resolve: {
41 alias: {
42 $lib: resolve(__dirname, "src/lib"),
43 $components: resolve(__dirname, "src/components"),
44 },
45 },
46});