diff --git a/package.json b/package.json index b81e6d15..c906c131 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "auto-launch": "^5.0.6", "axios": "^1.7.9", "axios-cookiejar-support": "^5.0.5", + "check-disk-space": "^3.4.0", "classic-level": "^2.0.0", "classnames": "^2.5.1", "color": "^4.2.3", @@ -57,8 +58,7 @@ "create-desktop-shortcuts": "^1.11.1", "date-fns": "^3.6.0", "dexie": "^4.0.10", - "diskusage": "^1.2.0", - "electron-log": "^5.2.4", + "electron-log": "^5.4.3", "electron-updater": "^6.6.2", "embla-carousel-autoplay": "^8.6.0", "embla-carousel-react": "^8.6.0", diff --git a/src/main/events/hardware/get-disk-free-space.ts b/src/main/events/hardware/get-disk-free-space.ts index b5ac86e3..b54431eb 100644 --- a/src/main/events/hardware/get-disk-free-space.ts +++ b/src/main/events/hardware/get-disk-free-space.ts @@ -1,10 +1,13 @@ -import disk from "diskusage"; - +import { DiskUsage } from "@types"; import { registerEvent } from "../register-event"; +import checkDiskSpace from "check-disk-space"; const getDiskFreeSpace = async ( _event: Electron.IpcMainInvokeEvent, path: string -) => disk.check(path); +): Promise => { + const result = await checkDiskSpace(path); + return { free: result.free, total: result.size }; +}; registerEvent("getDiskFreeSpace", getDiskFreeSpace); diff --git a/src/renderer/src/declaration.d.ts b/src/renderer/src/declaration.d.ts index 3dc30cf2..16b8224a 100644 --- a/src/renderer/src/declaration.d.ts +++ b/src/renderer/src/declaration.d.ts @@ -40,9 +40,9 @@ import type { AchievementNotificationInfo, UserLibraryResponse, Game, + DiskUsage, } from "@types"; import type { AxiosProgressEvent } from "axios"; -import type disk from "diskusage"; declare global { declare module "*.svg" { @@ -271,7 +271,7 @@ declare global { >; /* Hardware */ - getDiskFreeSpace: (path: string) => Promise; + getDiskFreeSpace: (path: string) => Promise; checkFolderWritePermission: (path: string) => Promise; /* Cloud save */ diff --git a/src/types/index.ts b/src/types/index.ts index 6a864f3a..0e0825e4 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -10,6 +10,11 @@ export type HydraCloudFeature = | "backup" | "achievements-points"; +export interface DiskUsage { + free: number; + total: number; +} + export interface GameRepack { id: number; title: string;