forked from trent_larson/crowd-funder-for-time-pwa
Add comprehensive Electron build system and documentation
- Updated electron-builder.config.json with proper TimeSafari metadata - Added Linux package support (AppImage, deb, rpm) - Created build-packages.sh script for easy package building - Added npm scripts for building from project root - Created comprehensive README-BUILDING.md documentation - Fixed package.json metadata (author, homepage, repository) - Added maintainer information for Linux packages Features: - AppImage: Portable, no installation required (~145MB) - Debian package: System integration via package manager (~96MB) - RPM package: Support for RPM-based distributions - Build scripts support individual or all package types Usage: - npm run electron:build (all packages) - npm run electron:build:appimage (AppImage only) - npm run electron:build:deb (Debian package only) - cd electron && ./build-packages.sh [type]
This commit is contained in:
56
electron/build-packages.sh
Executable file
56
electron/build-packages.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
# TimeSafari Electron Build Script
|
||||
# Usage: ./build-packages.sh [pack|appimage|deb|rpm|all]
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 TimeSafari Electron Build Script"
|
||||
echo "=================================="
|
||||
|
||||
# Build TypeScript and rebuild native modules
|
||||
echo "📦 Building TypeScript and native modules..."
|
||||
npm run build
|
||||
|
||||
BUILD_TYPE="${1:-all}"
|
||||
|
||||
case "$BUILD_TYPE" in
|
||||
"pack")
|
||||
echo "📦 Creating unpacked build..."
|
||||
npx electron-builder build --dir -c ./electron-builder.config.json
|
||||
;;
|
||||
"appimage")
|
||||
echo "📦 Creating AppImage..."
|
||||
npx electron-builder build --linux AppImage -c ./electron-builder.config.json
|
||||
;;
|
||||
"deb")
|
||||
echo "📦 Creating Debian package..."
|
||||
npx electron-builder build --linux deb -c ./electron-builder.config.json
|
||||
;;
|
||||
"rpm")
|
||||
echo "📦 Creating RPM package..."
|
||||
if ! command -v rpmbuild &> /dev/null; then
|
||||
echo "⚠️ rpmbuild not found. Install with: sudo pacman -S rpm-tools"
|
||||
exit 1
|
||||
fi
|
||||
npx electron-builder build --linux rpm -c ./electron-builder.config.json
|
||||
;;
|
||||
"all")
|
||||
echo "📦 Creating all Linux packages..."
|
||||
npx electron-builder build --linux -c ./electron-builder.config.json
|
||||
;;
|
||||
*)
|
||||
echo "❌ Unknown build type: $BUILD_TYPE"
|
||||
echo "Usage: $0 [pack|appimage|deb|rpm|all]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "✅ Build completed successfully!"
|
||||
echo "📁 Output files in: ./dist/"
|
||||
echo ""
|
||||
echo "📦 Available packages:"
|
||||
ls -la dist/ | grep -E '\.(AppImage|deb|rpm)$' || echo " No packages found"
|
||||
echo ""
|
||||
echo "🎉 Ready to distribute!"
|
||||
Reference in New Issue
Block a user