Files
dibby-wemo-manager/apps/desktop/electron.vite.config.js
T
SRS IT 27be1892ed Initial release — Dibby Wemo Manager v2.0.0
Desktop (Electron/Windows): device dashboard, DWM scheduling engine,
native firmware rules editor, Windows background service, web remote,
sunrise/sunset support.

Homebridge plugin (homebridge-dibby-wemo v1.0.0): HomeKit switches for
all local Wemo devices, custom UI with DWM rules, device rules,
scheduler heartbeat, and location-based sunrise/sunset scheduling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 16:30:43 -04:00

62 lines
2.3 KiB
JavaScript

import { defineConfig, externalizeDepsPlugin } from 'electron-vite';
import react from '@vitejs/plugin-react';
import { resolve } from 'path';
const CORE_DIR = resolve(__dirname, '../../packages/wemo-core/src');
export default defineConfig({
main: {
plugins: [externalizeDepsPlugin()],
resolve: {
alias: {
// Bundle workspace package inline instead of externalizing it
'@wemo-manager/core/src': CORE_DIR,
'@wemo-manager/core': resolve(__dirname, '../../packages/wemo-core/src/index.js'),
},
},
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'src/main/index.js'),
wemo: resolve(__dirname, 'src/main/wemo.js'),
store: resolve(__dirname, 'src/main/store.js'),
'ipc/devices.ipc': resolve(__dirname, 'src/main/ipc/devices.ipc.js'),
'ipc/rules.ipc': resolve(__dirname, 'src/main/ipc/rules.ipc.js'),
'ipc/wifi.ipc': resolve(__dirname, 'src/main/ipc/wifi.ipc.js'),
'ipc/system.ipc': resolve(__dirname, 'src/main/ipc/system.ipc.js'),
'ipc/scheduler.ipc': resolve(__dirname, 'src/main/ipc/scheduler.ipc.js'),
scheduler: resolve(__dirname, 'src/main/scheduler.js'),
'scheduler-standalone': resolve(__dirname, 'src/main/scheduler-standalone.js'),
'service-manager': resolve(__dirname, 'src/main/service-manager.js'),
'service-manager-sync': resolve(__dirname, 'src/main/service-manager-sync.js'),
'web-server': resolve(__dirname, 'src/main/web-server.js'),
'firewall': resolve(__dirname, 'src/main/firewall.js'),
'core/sun': resolve(__dirname, 'src/main/core/sun.js'),
'core/types': resolve(__dirname, 'src/main/core/types.js'),
},
},
},
},
preload: {
plugins: [externalizeDepsPlugin()],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'src/preload/index.js'),
},
},
},
},
renderer: {
root: resolve(__dirname, 'src/renderer'),
plugins: [react()],
build: {
rollupOptions: {
input: {
index: resolve(__dirname, 'src/renderer/index.html'),
},
},
},
},
});