refactor: implement clean modular Electron build system

Replace chained npm commands with single build-electron.sh script supporting
multiple build modes (dev/test/prod), platforms (windows/mac/linux), and
package types (appimage/deb/dmg). Add platform validation to prevent
cross-platform build issues and integrate cleaning functionality.

- Replace 15+ chained npm scripts with single modular build script
- Add platform detection and validation with early failure on mismatch
- Support environment-specific builds (development/test/production)
- Add comprehensive documentation in docs/electron-build-patterns.md
- Update BUILDING.md with new build patterns and examples
- Remove legacy electron:build:* scripts and consolidate under build:electron:*
- Add clean:electron script integrated into build process
- Improve error handling and user feedback throughout build process

This refactoring follows DRY principles, eliminates command chaining,
and provides a more maintainable and user-friendly build system.
This commit is contained in:
Matthew Raymer
2025-07-11 06:33:21 +00:00
parent fe739f013e
commit 5f790dd90b
6 changed files with 1977 additions and 192 deletions

View File

@@ -18,7 +18,13 @@
"electron:start-live": "node ./live-runner.js",
"electron:start": "npm run build && electron --inspect=5858 ./",
"electron:pack": "npm run build && electron-builder build --dir -c ./electron-builder.config.json",
"electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json -p always"
"electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json -p always",
"build:windows": "npm run build && electron-builder build --win -c ./electron-builder.config.json",
"build:mac": "npm run build && electron-builder build --mac -c ./electron-builder.config.json",
"build:linux": "npm run build && electron-builder build --linux -c ./electron-builder.config.json",
"build:appimage": "npm run build && electron-builder build --linux AppImage -c ./electron-builder.config.json",
"build:deb": "npm run build && electron-builder build --linux deb -c ./electron-builder.config.json",
"build:dmg": "npm run build && electron-builder build --mac dmg -c ./electron-builder.config.json"
},
"dependencies": {
"@capacitor-community/electron": "^5.0.0",