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:
@@ -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}`);
|
||||
|
||||
Reference in New Issue
Block a user