forked from trent_larson/crowd-funder-for-time-pwa
migration: move to bash based build scripts
This commit is contained in:
53
scripts/build-electron.sh
Executable file
53
scripts/build-electron.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
# build-electron.sh
|
||||
# Author: Matthew Raymer
|
||||
# Description: Electron build script for TimeSafari application
|
||||
# This script handles the complete Electron build process including cleanup,
|
||||
# TypeScript compilation, Vite build, and Electron-specific setup.
|
||||
#
|
||||
# Exit Codes:
|
||||
# 1 - Cleanup failed
|
||||
# 2 - TypeScript compilation failed
|
||||
# 3 - Vite build failed
|
||||
# 4 - Electron build script failed
|
||||
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
# Source common utilities
|
||||
source "$(dirname "$0")/common.sh"
|
||||
|
||||
# Parse command line arguments
|
||||
parse_args "$@"
|
||||
|
||||
# Print build header
|
||||
print_header "TimeSafari Electron Build Process"
|
||||
log_info "Starting Electron build process at $(date)"
|
||||
|
||||
# Setup environment for Electron build
|
||||
setup_build_env "electron"
|
||||
|
||||
# Setup application directories
|
||||
setup_app_directories
|
||||
|
||||
# Load environment from .env file if it exists
|
||||
load_env_file ".env"
|
||||
|
||||
# Step 1: Clean previous builds
|
||||
safe_execute "Cleaning previous builds" "npm run clean:electron" || exit 1
|
||||
|
||||
# Step 2: Compile TypeScript for Electron
|
||||
safe_execute "Compiling TypeScript for Electron" "npx tsc -p tsconfig.electron.json" || exit 2
|
||||
|
||||
# Step 3: Build with Vite
|
||||
safe_execute "Building with Vite" "npx vite build --config vite.config.electron.mts" || exit 3
|
||||
|
||||
# Step 4: Run Electron build script
|
||||
safe_execute "Running Electron build script" "node scripts/build-electron.js" || exit 4
|
||||
|
||||
# Print build summary
|
||||
log_success "Electron build completed successfully!"
|
||||
print_footer "Electron Build"
|
||||
|
||||
# Exit with success
|
||||
exit 0
|
||||
Reference in New Issue
Block a user