feat: Electron one-click TTRPG Player release publisher

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-07-01 17:19:04 +08:00
commit 7ca73f5871
15 changed files with 858 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
# TTRPG Player Publisher
Десктопная утилита (Electron): одна кнопка для полного релиза после того, как вы положили Mac-файлы в папку.
## Что делает
1. `git pull` в репозитории `dnd_player` (версия уже должна быть поднята в git)
2. Проверяет Mac-артефакты в папке релиза и пересобирает `latest-mac.yml`
3. Запускает `release-all.ps1 -AfterMac -SkipGit` (сборка Windows + Linux через WSL, загрузка на VPS)
## Mac-файлы в папке релиза
Перед нажатием кнопки скопируйте в папку релиза (по умолчанию `D:\TTRPG-Release`):
- `TTRPGPlayer-x64.zip`, `TTRPGPlayer-arm64.zip`
- `TTRPGPlayer-x64.dmg`, `TTRPGPlayer-arm64.dmg`
Также в этой папке должны лежать скрипты `release-all.ps1`, `prepare-release.ps1`, `publish.ps1` и конфиги `release-config.json`, `publish-config.json` (как в `D:\TTRPG-Release`).
## Запуск
```bash
npm install
npm start
```
## Настройки
При первом запуске создаётся `%APPDATA%\ttrpg-player-publisher\config.json` с путями:
- `projectRoot` — каталог `dnd_player`
- `releaseDir` — папка с Mac-файлами и артефактами
- `scriptsDir` — где лежат PowerShell-скриплы релиза (обычно та же папка, что `releaseDir`)
## Требования
- Windows, Node.js 20+, git, OpenSSH (`ttrpg_updates_root`), WSL для Linux-сборки
- Закройте dev-сервер плеера (Vite/Electron) — приложение пытается остановить их само перед `npm ci`