import { fileURLToPath, URL } from "node:url";
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
import { resolve } from "path";

export default defineConfig({
  main: {
    plugins: [externalizeDepsPlugin()],
    build: {
      lib: {
        entry: resolve(__dirname, "src/electron/main.ts"),
      },
    },
  },
  preload: {
    plugins: [externalizeDepsPlugin()],
    build: {
      lib: {
        entry: resolve(__dirname, "src/electron/preload.ts"),
      },
    },
  },
  renderer: {
    root: resolve(__dirname, "src"),
    build: {
      target: "es2024",
      rollupOptions: {
        input: {
          index: resolve(__dirname, "src/index.html"),
        },
      },
    },
    resolve: {
      alias: {
        "@utils": fileURLToPath(new URL("./src/utils", import.meta.url)),
        "@routes": fileURLToPath(new URL("./src/routes", import.meta.url)),
        "@styles": fileURLToPath(new URL("./src/styles", import.meta.url)),
        "@widgets": fileURLToPath(
          new URL("./src/components/Widgets", import.meta.url)
        ),
        "@components": fileURLToPath(
          new URL("./src/components", import.meta.url)
        ),
        "@": fileURLToPath(new URL("./src", import.meta.url)),
      },
    },
    // server: {
    //   port: 5173,
    //   open: true,
    // },
  },
});