From f7f1bfdad89eb32d93c7800bec5e9f24a7767d3a Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 12 Feb 2026 11:01:40 +0530 Subject: [PATCH 1/2] build: add npm run serve:dist to server from dist folder for quick testing in electron --- package.json | 3 ++- src-build/serveForPlatform.js | 13 +++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6d5b752..335aa65 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "_ci-releaseElectronApp": "cd src-electron && npm run build:appimage && cd ..", "_ci-update-phcode-build": "node src-build/update-phcode-build.js", "serve": "node src-build/serveForPlatform.js", + "serve:dist": "node src-build/serveForPlatform.js --dist", "serve:tauri": "node src-build/serveForPlatform.js tauri", "serve:electron": "node src-build/serveForPlatform.js electron", "postinstall": "node ./src-build/downloadNodeBinary.js && node ./src-build/setupElectron.js", @@ -49,4 +50,4 @@ "branch": "tauri", "commit": "deb309997d34383ffc01c623902537ad095c79f3" } -} \ No newline at end of file +} diff --git a/src-build/serveForPlatform.js b/src-build/serveForPlatform.js index 8dffc93..bdbb0da 100644 --- a/src-build/serveForPlatform.js +++ b/src-build/serveForPlatform.js @@ -32,14 +32,15 @@ function createTauriDevConfig() { } // Get target from CLI arg, or detect from platform -const cliArg = process.argv[2]; +const cliArgs = process.argv.slice(2).filter(arg => !arg.startsWith('--')); +const cliArg = cliArgs[0]; let target; if (cliArg === 'tauri' || cliArg === 'electron') { target = cliArg; } else if (cliArg) { console.error(`Unknown target: ${cliArg}`); - console.error('Usage: npm run serve [tauri|electron]'); + console.error('Usage: npm run serve [tauri|electron] [--dist]'); process.exit(1); } else { // Auto-detect: Linux uses Electron, Windows/Mac use Tauri @@ -79,6 +80,7 @@ if (target === "tauri") { console.log('Starting Tauri dev server...'); await execa("npx", ["tauri", "dev", "--config", "./src-tauri/tauri-local.conf.json"], {stdio: "inherit"}); } else { + const serveDist = process.argv.includes('--dist'); const srcNodePath = resolve("../phoenix/src-node"); console.log(`Running "npm install" in ${srcNodePath}`); await execa("npm", ["install"], {cwd: srcNodePath, stdio: "inherit"}); @@ -95,6 +97,13 @@ if (target === "tauri") { const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); const effectiveConfig = JSON.parse(readFileSync(configDest, 'utf8')); effectiveConfig.version = packageJson.version; + + // When --dist flag is passed, serve from ../phoenix/dist instead of ../phoenix/src + if (serveDist) { + console.log('Serving from ../phoenix/dist (--dist mode)'); + effectiveConfig.phoenixLoadURL = effectiveConfig.phoenixLoadURL.replace('/src/', '/dist/'); + } + writeFileSync(configDest, JSON.stringify(effectiveConfig, null, 2)); console.log('Starting Electron...'); From 5f3c556df65dc6fcc57d53a03a87ba1c15a989a2 Mon Sep 17 00:00:00 2001 From: abose Date: Thu, 12 Feb 2026 11:03:02 +0530 Subject: [PATCH 2/2] build: add npm run serve:dist to server from dist folder for quick testing in electron --- src-build/serveForPlatform.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src-build/serveForPlatform.js b/src-build/serveForPlatform.js index bdbb0da..6616c7d 100644 --- a/src-build/serveForPlatform.js +++ b/src-build/serveForPlatform.js @@ -66,6 +66,13 @@ if (target !== recommendedTarget) { console.warn(y(`╚${border}╝\n`)); } +const serveDist = process.argv.includes('--dist'); + +if (serveDist && target === "tauri") { + console.error('Error: --dist flag is only supported with Electron, not Tauri.'); + process.exit(1); +} + console.log(`Platform: ${platform}, target: ${target}`); // Run platform-specific command @@ -80,7 +87,6 @@ if (target === "tauri") { console.log('Starting Tauri dev server...'); await execa("npx", ["tauri", "dev", "--config", "./src-tauri/tauri-local.conf.json"], {stdio: "inherit"}); } else { - const serveDist = process.argv.includes('--dist'); const srcNodePath = resolve("../phoenix/src-node"); console.log(`Running "npm install" in ${srcNodePath}`); await execa("npm", ["install"], {cwd: srcNodePath, stdio: "inherit"});