ya-webadb/libraries/fetch-scrcpy-server/bin/fetch-server.js
2023-11-03 11:18:25 +08:00

61 lines
1.5 KiB
JavaScript

#!/usr/bin/env node
import { fetchVersion } from "gh-release-fetch";
import { promises as fs } from "node:fs";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
const __dirname = fileURLToPath(dirname(import.meta.url));
let serverVersion = process.argv[2];
if (!serverVersion.startsWith("v")) {
serverVersion = "v" + serverVersion;
}
if (!serverVersion) {
console.log("Usage: fetch-scrcpy-server <version>");
process.exit(1);
}
console.log(`Downloading Scrcpy server binary version ${serverVersion}...`);
const binFolder = resolve(__dirname, "..");
await fetchVersion({
repository: "Genymobile/scrcpy",
version: serverVersion,
package: `scrcpy-server-${serverVersion}`,
destination: binFolder,
extract: false,
});
await Promise.all([
fs.rename(
resolve(binFolder, `scrcpy-server-${serverVersion}`),
resolve(binFolder, "server.bin"),
),
fs.writeFile(
resolve(binFolder, "index.js"),
`
export const VERSION ='${serverVersion}';
export const BIN = new URL('./server.bin', import.meta.url);
`,
),
fs.writeFile(
resolve(binFolder, "index.d.ts"),
`
export const VERSION: '${serverVersion}';
export const BIN: URL;
`,
),
fs.writeFile(
resolve(binFolder, "version.js"),
`
export const VERSION ='${serverVersion}';
`,
),
fs.writeFile(
resolve(binFolder, "version.d.ts"),
`
export const VERSION: '${serverVersion}';
`,
),
]);