import { defineConfig } from "vite";
import { serwist } from "@serwist/vite";
import viteReact from "@vitejs/plugin-react";
import tailwindcss from "@tailwindcss/vite";
import { TanStackRouterVite } from "@tanstack/router-plugin/vite";
import path from "path";


// https://vitejs.dev/config/
export default defineConfig({
    plugins: [
        TanStackRouterVite(),
        viteReact(),
        tailwindcss(),
        serwist({
            swSrc: "src/sw.ts",
            swDest: "sw.js",
            globDirectory: "dist",
            injectionPoint: "self.__SW_MANIFEST",
            rollupFormat: "iife",
            // Insanely large max size, since the app **HAS** to function fully offline
            maximumFileSizeToCacheInBytes: 512 * 1024 * 1024,
        }),
    ],
    resolve: {
        alias: {
            "~": path.resolve(__dirname, "./src"),
        },
    },
    test: {
        globals: true,
        environment: "jsdom",
    },

});