fix: production renderer, app icon, dev:web script

- Add Bradly app icon (.icns + .png) for macOS
- Fix Electron production mode: Express serves built renderer files
- Add extraResource for renderer + remotion-bundle in forge.config.ts
- Fix dev:web script to use npx tsx
This commit is contained in:
2026-06-02 04:06:00 -05:00
parent 92a8cf78a9
commit e42a484ab0
5 changed files with 27 additions and 1 deletions
+20
View File
@@ -71,6 +71,26 @@ async function startExpressServer(): Promise<void> {
const { createExpressApp } = await import('../../server');
const expressApp = await createExpressApp();
// In production Electron, serve the built renderer files
if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'development') {
const { default: express } = await import('express');
// electron-vite builds renderer to out/renderer/
const rendererPath = app.isPackaged
? path.join(process.resourcesPath, 'renderer')
: path.join(__dirname, '..', '..', 'out', 'renderer');
if (fs.existsSync(rendererPath)) {
expressApp.use(express.static(rendererPath));
// SPA fallback — serve index.html for all non-API routes
expressApp.get('*', (_req: any, res: any) => {
res.sendFile(path.join(rendererPath, 'index.html'));
});
console.log('📦 Serving renderer from:', rendererPath);
} else {
console.warn('⚠️ Renderer build not found at:', rendererPath);
}
}
return new Promise<void>((resolve, reject) => {
const server = expressApp.listen(EXPRESS_PORT, '127.0.0.1', () => {
console.log(`🚀 Express server on http://127.0.0.1:${EXPRESS_PORT}`);