1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||
/** |
|||
* 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), |
|||
}, |
|||
}); |
|||
}); |
Loading…
Reference in new issue