You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
/**
|
|
* vite.config.app.electron.mts
|
|
*
|
|
* Vite configuration for building the web application for Electron.
|
|
* This config outputs to 'dist/' (like the web build), sets VITE_PLATFORM to 'electron',
|
|
* and disables PWA plugins and web-only features. Use this when you want to package
|
|
* the web app for Electron but keep the output structure identical to the web build.
|
|
*
|
|
* Author: Matthew Raymer
|
|
*/
|
|
|
|
import { defineConfig, mergeConfig } from 'vite';
|
|
import { createBuildConfig } from './vite.config.common.mts';
|
|
import { loadAppConfig } from './vite.config.utils.mts';
|
|
import path from 'path';
|
|
|
|
export default defineConfig(async () => {
|
|
// Set mode to 'electron' for platform-specific config
|
|
const mode = 'electron';
|
|
const baseConfig = await createBuildConfig(mode);
|
|
const appConfig = await loadAppConfig();
|
|
|
|
// Override build output directory to 'dist/'
|
|
const buildConfig = {
|
|
outDir: path.resolve(__dirname, 'dist'),
|
|
emptyOutDir: true,
|
|
rollupOptions: {
|
|
input: path.resolve(__dirname, 'index.html'),
|
|
},
|
|
};
|
|
|
|
// No PWA plugins or web-only plugins for Electron
|
|
return mergeConfig(baseConfig, {
|
|
build: buildConfig,
|
|
plugins: [],
|
|
define: {
|
|
'process.env.VITE_PLATFORM': JSON.stringify('electron'),
|
|
'process.env.VITE_PWA_ENABLED': JSON.stringify(false),
|
|
'process.env.VITE_DISABLE_PWA': JSON.stringify(true),
|
|
},
|
|
});
|
|
});
|