Files
16gagent/.benchmark/hr/fullstack/scripts/dev.mjs
T
2026-06-06 10:40:48 +08:00

33 lines
972 B
JavaScript

#!/usr/bin/env node
/**
* Dev script — starts both web and api in parallel.
* Usage: node scripts/dev.mjs
*/
import { spawn } from "node:child_process";
function start(name, command, args, cwd) {
const child = spawn(command, args, {
cwd,
stdio: "inherit",
shell: true,
env: { ...process.env, FORCE_COLOR: "1" },
});
child.on("error", (err) => console.error(`[${name}] Failed: ${err.message}`));
child.on("exit", (code) => {
if (code !== 0 && code !== null) console.error(`[${name}] Exited with code ${code}`);
});
return child;
}
const ROOT = new URL("..", import.meta.url).pathname;
console.log("🚀 Starting fullstack dev servers...\n");
const api = start("api", "npm", ["run", "dev"], `${ROOT}/apps/api`);
const web = start("web", "npm", ["run", "dev"], `${ROOT}/apps/web`);
process.on("SIGINT", () => { api.kill(); web.kill(); process.exit(0); });
process.on("SIGTERM", () => { api.kill(); web.kill(); process.exit(0); });