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:
Matthew Raymer
2025-06-27 09:04:18 +00:00
parent b8b0ebdf4d
commit 711cf91180
5 changed files with 357 additions and 10 deletions

View File

@@ -1,7 +1,9 @@
{
"appId": "com.yourdoamnin.yourapp",
"appId": "app.timesafari.desktop",
"productName": "TimeSafari",
"directories": {
"buildResources": "resources"
"buildResources": "resources",
"output": "dist"
},
"files": [
"assets/**/*",
@@ -12,17 +14,51 @@
"publish": {
"provider": "github"
},
"linux": {
"target": [
{
"target": "AppImage",
"arch": ["x64"]
},
{
"target": "deb",
"arch": ["x64"]
},
{
"target": "rpm",
"arch": ["x64"]
}
],
"icon": "assets/appIcon.png",
"category": "Office",
"description": "Time Safari - Community building through gifts, gratitude, and collaborative projects",
"maintainer": "Matthew Raymer <matthew@timesafari.app>",
"vendor": "TimeSafari"
},
"nsis": {
"allowElevation": true,
"oneClick": false,
"allowToChangeInstallationDirectory": true
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true
},
"win": {
"target": "nsis",
"target": [
{
"target": "nsis",
"arch": ["x64"]
}
],
"icon": "assets/appIcon.ico"
},
"mac": {
"category": "your.app.category.type",
"target": "dmg"
"category": "public.app-category.productivity",
"target": [
{
"target": "dmg",
"arch": ["x64", "arm64"]
}
],
"icon": "assets/appIcon.png"
}
}