2026-08-13 10:56:15 -05:00
|
|
|
import { assertSecret } from "@blitzkit/core";
|
2026-08-13 11:05:01 -05:00
|
|
|
import { mkdir, rm } from "node:fs/promises";
|
2026-11-08 17:38:55 -06:00
|
|
|
import { downloadSteamClient } from "./steam";
|
|
|
|
|
import { downloadWGPKGClient } from "./wgpkg";
|
|
|
|
|
import { downloadZipClient } from "./zip";
|
2026-08-13 10:56:15 -05:00
|
|
|
|
2026-11-08 17:38:55 -06:00
|
|
|
export const DEPOT_DOWNLOADER_RETRY_TIME = 30_000;
|
2026-10-24 20:32:34 -05:00
|
|
|
|
2026-08-13 10:56:15 -05:00
|
|
|
const provider = assertSecret(import.meta.env.CLIENT_PROVIDER);
|
2026-11-08 17:38:55 -06:00
|
|
|
export const source = assertSecret(import.meta.env.CLIENT_SOURCE);
|
|
|
|
|
export const dir = assertSecret(import.meta.env.CLIENT_DIR);
|
2026-08-13 10:56:15 -05:00
|
|
|
|
2026-08-13 11:05:01 -05:00
|
|
|
await rm(dir, { recursive: true, force: true });
|
2026-08-13 12:15:55 -05:00
|
|
|
await mkdir(dir, { recursive: true });
|
2026-08-13 11:05:01 -05:00
|
|
|
|
2026-11-08 17:38:55 -06:00
|
|
|
switch (provider) {
|
|
|
|
|
case "steam":
|
|
|
|
|
await downloadSteamClient();
|
|
|
|
|
break;
|
2026-08-13 10:56:15 -05:00
|
|
|
|
2026-11-08 17:38:55 -06:00
|
|
|
case "zip":
|
|
|
|
|
await downloadZipClient();
|
|
|
|
|
break;
|
2026-08-13 10:56:15 -05:00
|
|
|
|
2026-11-08 17:38:55 -06:00
|
|
|
case "wgpkg":
|
|
|
|
|
await downloadWGPKGClient();
|
|
|
|
|
break;
|
2026-08-13 10:56:15 -05:00
|
|
|
|
2026-11-08 17:38:55 -06:00
|
|
|
default:
|
|
|
|
|
throw new Error(`Unknown provider: ${provider}`);
|
2026-08-13 10:56:15 -05:00
|
|
|
}
|