agent-orchestrator/frontend/scripts/build-daemon.mjs

29 lines
892 B
JavaScript

import { rmSync, mkdirSync } from "node:fs";
import { dirname, join, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { spawnSync } from "node:child_process";
const scriptsDir = dirname(fileURLToPath(import.meta.url));
const frontendRoot = resolve(scriptsDir, "..");
const repoRoot = resolve(frontendRoot, "..");
const backendRoot = join(repoRoot, "backend");
const outDir = join(frontendRoot, "daemon");
const outPath = join(outDir, process.platform === "win32" ? "ao.exe" : "ao");
rmSync(outDir, { recursive: true, force: true });
mkdirSync(outDir, { recursive: true });
const result = spawnSync("go", ["build", "-o", outPath, "./cmd/ao"], {
cwd: backendRoot,
stdio: "inherit",
});
if (result.error) {
console.error(`failed to start go build: ${result.error.message}`);
process.exit(1);
}
if (result.status !== 0) {
process.exit(result.status ?? 1);
}