Serve the Windows setup via /install, ship deploy/agent in Master, and document volume upload for the gitignored exe.
40 lines
1.3 KiB
JavaScript
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);
|