/** * 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);