Files
crowd-funder-from-jason/vite.config.mjs
Matthew Raymer 562b27851c feat(electron): improve electron build configuration
- Add dedicated electron build scripts for each platform
- Configure Vite rollup options for electron builds
- Update electron-builder configuration with proper app metadata
- Add clean script and rimraf dependency
- Set proper appId and build settings for production builds
- Enable asar packaging for better security
2025-02-12 03:44:05 +00:00

61 lines
1.4 KiB
JavaScript

import { defineConfig } from "vite";
import { VitePWA } from "vite-plugin-pwa";
import vue from "@vitejs/plugin-vue";
import dotenv from "dotenv";
import { loadAppConfig } from "./vite.config.utils";
import path from "path";
// Load environment variables from .env file
dotenv.config();
// Load application configuration
const appConfig = loadAppConfig();
export default defineConfig(({ mode }) => {
const isElectron = mode === "electron";
const isCapacitor = mode === "capacitor";
// Set output directory based on build mode
const outDir = isElectron
? "dist-electron"
: isCapacitor
? "dist-capacitor"
: "dist";
return {
base: isElectron ? "./" : "/",
server: {
port: process.env.VITE_PORT || 8080,
},
build: {
outDir,
rollupOptions: {
...(isElectron && {
input: {
main: path.resolve(__dirname, 'src/electron/main.js'),
index: path.resolve(__dirname, 'index.html')
},
output: {
dir: outDir,
format: 'cjs',
entryFileNames: '[name].js'
}
})
}
},
plugins: [
vue(),
...(isElectron
? [] // Skip PWA for Electron builds
: [
VitePWA({
...appConfig.pwaConfig,
}),
]),
],
resolve: {
alias: appConfig.aliasConfig,
},
};
});