import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; import vue from "@vitejs/plugin-vue"; import { defineConfig, externalizeDepsPlugin } from "electron-vite"; const rootDir = fileURLToPath(new URL(".", import.meta.url)); export default defineConfig({ main: { plugins: [externalizeDepsPlugin()], build: { rollupOptions: { input: { bootstrap: resolve(rootDir, "src/main/bootstrap.ts"), }, output: { format: "cjs", entryFileNames: "[name].cjs", chunkFileNames: "[name]-[hash].cjs", }, }, }, resolve: { alias: { "@main": resolve(rootDir, "src/main"), }, }, }, preload: { plugins: [externalizeDepsPlugin()], build: { rollupOptions: { input: { bridge: resolve(rootDir, "src/preload/bridge.ts"), }, output: { format: "cjs", entryFileNames: "[name].cjs", chunkFileNames: "[name]-[hash].cjs", }, }, }, resolve: { alias: { "@preload": resolve(rootDir, "src/preload"), }, }, }, renderer: { plugins: [vue()], resolve: { alias: { "@renderer": resolve(rootDir, "src/renderer"), "@geo/shared-types": resolve(rootDir, "../../packages/shared-types/src/index.ts"), "@geo/http-client": resolve(rootDir, "../../packages/http-client/src/index.ts"), "@geo/ui-shared": resolve(rootDir, "../../packages/ui-shared/src/index.ts"), "@geo/ui-shared/tokens": resolve(rootDir, "../../packages/ui-shared/src/tokens/index.ts"), "@geo/ui-shared/tokens.css": resolve(rootDir, "../../packages/ui-shared/src/tokens/index.css"), }, }, }, });