diff --git a/electron.vite.config.ts b/electron.vite.config.ts index 93de7dcd..02f397b5 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -8,15 +8,21 @@ import distDirs from './dist-dirs.json' assert { type: 'json' }; const MAIN_ENTRY_FILE = resolvePathFromProjectRoot('src/presentation/electron/main/index.ts'); const PRELOAD_ENTRY_FILE = resolvePathFromProjectRoot('src/presentation/electron/preload/index.ts'); const WEB_INDEX_HTML_PATH = resolvePathFromProjectRoot('src/presentation/index.html'); -const DIST_DIR = resolvePathFromProjectRoot(distDirs.electronUnbundled); +const ELECTRON_DIST_SUBDIRECTORIES = { + main: resolveElectronDistSubdirectory('main'), + preload: resolveElectronDistSubdirectory('preload'), + renderer: resolveElectronDistSubdirectory('renderer'), +}; + +process.env.ELECTRON_ENTRY = resolve(ELECTRON_DIST_SUBDIRECTORIES.main, 'index.cjs'); export default defineConfig({ main: getSharedElectronConfig({ - distDirSubfolder: 'main', + distDirSubfolder: ELECTRON_DIST_SUBDIRECTORIES.main, entryFilePath: MAIN_ENTRY_FILE, }), preload: getSharedElectronConfig({ - distDirSubfolder: 'preload', + distDirSubfolder: ELECTRON_DIST_SUBDIRECTORIES.preload, entryFilePath: PRELOAD_ENTRY_FILE, }), renderer: mergeConfig( @@ -25,7 +31,7 @@ export default defineConfig({ }), { build: { - outDir: resolve(DIST_DIR, 'renderer'), + outDir: ELECTRON_DIST_SUBDIRECTORIES.renderer, rollupOptions: { input: { index: WEB_INDEX_HTML_PATH, @@ -42,7 +48,7 @@ function getSharedElectronConfig(options: { }): UserConfig { return { build: { - outDir: resolve(DIST_DIR, options.distDirSubfolder), + outDir: options.distDirSubfolder, lib: { entry: options.entryFilePath, }, @@ -64,6 +70,11 @@ function getSharedElectronConfig(options: { }; } -function resolvePathFromProjectRoot(pathSegment: string) { +function resolvePathFromProjectRoot(pathSegment: string): string { return resolve(__dirname, pathSegment); } + +function resolveElectronDistSubdirectory(subDirectory: string): string { + const electronDistDir = resolvePathFromProjectRoot(distDirs.electronUnbundled); + return resolve(electronDistDir, subDirectory); +} diff --git a/package-lock.json b/package-lock.json index 6fc2dc5f..233ad300 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "electron-builder": "^24.6.4", "electron-devtools-installer": "^3.2.0", "electron-icon-builder": "^2.0.1", - "electron-vite": "^1.0.27", + "electron-vite": "^1.0.28", "eslint": "^8.51.0", "eslint-plugin-cypress": "^2.15.1", "eslint-plugin-vue": "^9.17.0", @@ -7144,9 +7144,9 @@ } }, "node_modules/electron-vite": { - "version": "1.0.27", - "resolved": "https://registry.npmjs.org/electron-vite/-/electron-vite-1.0.27.tgz", - "integrity": "sha512-T8UVt9HtMFMMqU78dhv8TsRHYxMkuMTIZBIFYHzfeEoJ1Go3tVemgY/kO6sTTv94jIhkhcZIkvwmq4liABFjmA==", + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/electron-vite/-/electron-vite-1.0.28.tgz", + "integrity": "sha512-cp7nBi6do/jn5SHdL2V71WjxqZ+NXitVqn5bW+TsTEYgAfSUuYYp6INJN854kcgoOj4UrjMqA9cGRTSl79xx0Q==", "dev": true, "dependencies": { "@babel/core": "^7.22.8", @@ -25087,9 +25087,9 @@ } }, "electron-vite": { - "version": "1.0.27", - "resolved": "https://registry.npmjs.org/electron-vite/-/electron-vite-1.0.27.tgz", - "integrity": "sha512-T8UVt9HtMFMMqU78dhv8TsRHYxMkuMTIZBIFYHzfeEoJ1Go3tVemgY/kO6sTTv94jIhkhcZIkvwmq4liABFjmA==", + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/electron-vite/-/electron-vite-1.0.28.tgz", + "integrity": "sha512-cp7nBi6do/jn5SHdL2V71WjxqZ+NXitVqn5bW+TsTEYgAfSUuYYp6INJN854kcgoOj4UrjMqA9cGRTSl79xx0Q==", "dev": true, "requires": { "@babel/core": "^7.22.8", diff --git a/package.json b/package.json index 58b7057f..6e3418a1 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "description": "Enforce privacy & security best-practices on Windows, macOS and Linux, because privacy is sexy 🍑🍆", "author": "undergroundwires", "type": "module", - "main": "./dist-electron-unbundled/main/index.cjs", "scripts": { "dev": "vite", "build": "vue-tsc --noEmit && vite build", @@ -63,7 +62,7 @@ "electron-builder": "^24.6.4", "electron-devtools-installer": "^3.2.0", "electron-icon-builder": "^2.0.1", - "electron-vite": "^1.0.27", + "electron-vite": "^1.0.28", "eslint": "^8.51.0", "eslint-plugin-cypress": "^2.15.1", "eslint-plugin-vue": "^9.17.0",