| set -e | |
| echo "Building New API Electron App..." | |
| echo "Step 1: Building frontend..." | |
| cd ../web | |
| DISABLE_ESLINT_PLUGIN='true' bun run build | |
| cd ../electron | |
| echo "Step 2: Building Go backend..." | |
| cd .. | |
| if [[ "$OSTYPE" == "darwin"* ]]; then | |
| echo "Building for macOS..." | |
| CGO_ENABLED=1 go build -ldflags="-s -w" -o new-api | |
| cd electron | |
| npm install | |
| npm run build:mac | |
| elif [[ "$OSTYPE" == "linux-gnu"* ]]; then | |
| echo "Building for Linux..." | |
| CGO_ENABLED=1 go build -ldflags="-s -w" -o new-api | |
| cd electron | |
| npm install | |
| npm run build:linux | |
| elif [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" || "$OSTYPE" == "win32" ]]; then | |
| echo "Building for Windows..." | |
| CGO_ENABLED=1 go build -ldflags="-s -w" -o new-api.exe | |
| cd electron | |
| npm install | |
| npm run build:win | |
| else | |
| echo "Unknown OS, building for current platform..." | |
| CGO_ENABLED=1 go build -ldflags="-s -w" -o new-api | |
| cd electron | |
| npm install | |
| npm run build | |
| fi | |
| echo "Build complete! Check electron/dist/ for output." |