feat: adding electron updater

This commit is contained in:
Chubby Granny Chaser 2024-05-14 17:12:19 +01:00
parent 125264ff42
commit 05cc2a1206
5 changed files with 36 additions and 3 deletions

View File

@ -66,3 +66,21 @@ jobs:
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
- name: Release
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
dist/*.exe
dist/*.zip
dist/*.dmg
dist/*.AppImage
dist/*.snap
dist/*.deb
dist/*.rpm
dist/*.tar.gz
dist/*.yml
dist/*.blockmap
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -46,5 +46,7 @@ appImage:
npmRebuild: false
publish:
provider: github
owner: hydralauncher
repo: hydra
electronDownload:
mirror: https://npmmirror.com/mirrors/electron/

View File

@ -44,6 +44,7 @@
"color.js": "^1.2.0",
"date-fns": "^3.6.0",
"easydl": "^1.1.1",
"electron-updater": "^6.1.8",
"fetch-cookie": "^3.0.1",
"flexsearch": "^0.7.43",
"i18next": "^23.11.2",

View File

@ -15,9 +15,8 @@ export const createDataSource = (options: Partial<SqliteConnectionOptions>) =>
type: "better-sqlite3",
database: databasePath,
entities: [Game, Repack, UserPreferences, GameShopCache, SteamGame],
synchronize: true,
...options,
});
export const dataSource = createDataSource({
synchronize: true,
});
export const dataSource = createDataSource({});

View File

@ -1,4 +1,5 @@
import { app, BrowserWindow, net, protocol } from "electron";
import updater from "electron-updater";
import i18n from "i18next";
import path from "node:path";
import { electronApp, optimizer } from "@electron-toolkit/utils";
@ -7,6 +8,14 @@ import { dataSource } from "@main/data-source";
import * as resources from "@locales";
import { userPreferencesRepository } from "@main/repository";
const { autoUpdater } = updater;
autoUpdater.setFeedURL({
provider: "github",
owner: "hydralauncher",
repo: "hydra",
});
const gotTheLock = app.requestSingleInstanceLock();
if (!gotTheLock) app.quit();
@ -52,6 +61,10 @@ app.whenReady().then(() => {
WindowManager.createMainWindow();
WindowManager.createSystemTray(userPreferences?.language || "en");
WindowManager.mainWindow?.on("ready-to-show", () => {
autoUpdater.checkForUpdatesAndNotify();
});
});
});