Files
blitzkit/packages/scripts/src/downloadClient/index.ts
T

38 lines
1.0 KiB
TypeScript
Raw Normal View History

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";
2026-11-08 18:07:12 -06:00
import { downloadWGCClient } from "./wgc";
2026-11-08 17:38:55 -06:00
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-11-08 18:07:12 -06:00
const provider = import.meta.env.CLIENT_PROVIDER;
export const source = import.meta.env.CLIENT_SOURCE;
2026-11-08 17:38:55 -06:00
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) {
2026-11-08 18:07:12 -06:00
// steam, identical to wgc
2026-11-08 17:38:55 -06:00
case "steam":
await downloadSteamClient();
break;
2026-08-13 10:56:15 -05:00
2026-11-08 18:07:12 -06:00
// from zip, usually has a root directory for opentest
2026-11-08 17:38:55 -06:00
case "zip":
await downloadZipClient();
break;
2026-08-13 10:56:15 -05:00
2026-11-08 18:07:12 -06:00
// effectively the same as wgc, but direct for preview
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:
2026-11-08 18:07:12 -06:00
console.log("Unknown client provider specified, using latest wgc client");
case "wgc":
await downloadWGCClient();
break;
2026-08-13 10:56:15 -05:00
}