feat: add native platform installers for Windows, macOS, and Linux

Replace zip/tar archive distribution with platform-native installers:

- Windows: NSIS installer (.exe) with per-user install to
  %LOCALAPPDATA%\Programs\Aryx, Start Menu and Desktop shortcuts,
  Add/Remove Programs registration, and silent install support
- macOS: DMG disk image (.dmg) with drag-to-Applications experience
  via create-dmg
- Linux: Debian package (.deb) with /opt/aryx installation,
  /usr/bin/aryx symlink, desktop entry, hicolor icons, and
  libsecret-1-0 dependency declaration

Add scripts/create-installer.ts as the platform-dispatching entry
point. Update CI workflow to produce native installers instead of
archives. Add installerAssetName to ReleaseTarget interface.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
David Kaya
2026-03-26 13:06:50 +01:00
co-authored by Copilot
parent da7aa5cdd2
commit f838d2ac15
8 changed files with 549 additions and 18 deletions
+2
View File
@@ -9,6 +9,7 @@
"build:electron": "electron-vite build",
"build": "bun run build:electron && bun run sidecar:build",
"package": "bun run build:electron && bun run sidecar:publish && bun run scripts/package-electron.ts",
"installer": "bun run package && bun run scripts/create-installer.ts",
"preview": "electron-vite preview",
"lsp:typescript": "typescript-language-server --stdio",
"typecheck": "tsc --noEmit -p tsconfig.json",
@@ -47,6 +48,7 @@
"@vitejs/plugin-react": "5.1.0",
"@xyflow/react": "^12.10.1",
"bun-types": "^1.3.11",
"create-dmg": "^8.1.0",
"electron": "^41.0.3",
"electron-vite": "^5.0.0",
"highlight.js": "^11.11.1",