stremio/apps/token-tray/scripts/publish-installer.cjs
Jos Vooges | STH 36d02cab10 Add Token Tray NSIS installer hosting and /agent download page.
Serve the Windows setup via /install, ship deploy/agent in Master, and document volume upload for the gitignored exe.
2026-09-23 00:36:40 +02:00

40 lines
1.3 KiB
JavaScript

/**
* Copy NSIS installer → deploy/agent/ for Docker/Dokploy serving via /install/token-tray-setup.exe
*/
const fs = require("fs");
const path = require("path");
const root = path.join(__dirname, "..");
const releaseDir = path.join(root, "release");
const outDir = path.join(root, "..", "..", "deploy", "agent");
const pkg = JSON.parse(fs.readFileSync(path.join(root, "package.json"), "utf8"));
const candidates = [
path.join(releaseDir, "token-tray-setup.exe"),
...fs
.readdirSync(releaseDir)
.filter((f) => /setup.*\.exe$/i.test(f) || /token-tray.*\.exe$/i.test(f))
.map((f) => path.join(releaseDir, f)),
];
const src = candidates.find((f) => fs.existsSync(f));
if (!src) {
console.error("Geen installer gevonden in apps/token-tray/release/ — run: pnpm pack:win");
process.exit(1);
}
fs.mkdirSync(outDir, { recursive: true });
const destExe = path.join(outDir, "token-tray-setup.exe");
fs.copyFileSync(src, destExe);
const stat = fs.statSync(destExe);
const meta = {
version: pkg.version,
filename: "token-tray-setup.exe",
sizeBytes: stat.size,
builtAt: new Date().toISOString(),
productName: "Media Cluster Token Tray",
available: true,
};
fs.writeFileSync(path.join(outDir, "token-tray.json"), JSON.stringify(meta, null, 2));
console.log("Published:", destExe);
console.log(meta);