92a8cf78a9
- Add electron-vite + Electron Forge tooling - Create Electron main process with embedded Express server - Create preload script with native dialog IPC bridge - Refactor server.ts to export createExpressApp() (dual web/electron) - Adapt renderQueue.ts for packaged binaries + pre-built bundle - Add ensureBrowser() for Chrome Headless Shell pre-download - Add scripts/bundle-remotion.js for packaging - Data persists in ~/Library/Application Support/Bradly/ - Web mode preserved via npm run dev:web
47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
/**
|
|
* Electron Forge Configuration — Bradly Desktop App
|
|
*
|
|
* Handles packaging and creating distributable installers.
|
|
* Currently targets macOS (.dmg) only.
|
|
*/
|
|
import type { ForgeConfig } from '@electron-forge/shared-types';
|
|
import { MakerDMG } from '@electron-forge/maker-dmg';
|
|
|
|
const config: ForgeConfig = {
|
|
packagerConfig: {
|
|
name: 'Bradly',
|
|
executableName: 'bradly',
|
|
asar: {
|
|
// Remotion compositor binaries MUST be outside app.asar
|
|
// because they are native executables that need direct filesystem access
|
|
unpack: '{**/node_modules/@remotion/compositor-*/**,**/node_modules/@remotion/renderer/**}',
|
|
},
|
|
// Ignore development files during packaging
|
|
ignore: [
|
|
/^\/src$/,
|
|
/^\/scripts$/,
|
|
/^\/uploads$/,
|
|
/^\/renders$/,
|
|
/^\/\.vscode$/,
|
|
/^\/\.git$/,
|
|
/^\/\.env/,
|
|
/^\/\.antigravity$/,
|
|
/^\/vite\.config\.ts$/,
|
|
/^\/electron\.vite\.config\.ts$/,
|
|
/^\/tsconfig\.json$/,
|
|
/^\/ABOUT\.md$/,
|
|
/^\/AGENTS\.md$/,
|
|
/^\/README\.md$/,
|
|
/^\/schema\.sql$/,
|
|
/^\/backend_endpoint\.py$/,
|
|
],
|
|
},
|
|
makers: [
|
|
new MakerDMG({
|
|
format: 'ULFO',
|
|
}),
|
|
],
|
|
};
|
|
|
|
export default config;
|