Files
hyperzine/scripts/deploy-up.mjs
2026-03-27 12:05:15 +00:00

48 lines
1.3 KiB
JavaScript

import path from "node:path";
import { spawn } from "node:child_process";
const root = process.cwd();
function parseArg(name) {
const raw = process.argv.find((arg) => arg.startsWith(`--${name}=`));
if (!raw) return "";
return raw.slice(name.length + 3).trim();
}
function runNodeScript(scriptPath, args) {
return new Promise((resolve, reject) => {
const child = spawn(process.execPath, [scriptPath, ...args], {
cwd: root,
stdio: "inherit"
});
child.on("error", reject);
child.on("close", (code) => {
if (code !== 0) {
reject(new Error(`Deploy failed with exit code ${code}`));
return;
}
resolve();
});
});
}
async function main() {
const walletArg = parseArg("wallet");
const gatewayArg = parseArg("gateway");
const appName = parseArg("app-name");
const appVersion = parseArg("app-version");
await runNodeScript(path.join(root, "scripts", "deploy.mjs"), [
"--upload-mode=up",
...(walletArg ? [`--wallet=${walletArg}`] : []),
...(gatewayArg ? [`--gateway=${gatewayArg}`] : []),
...(appName ? [`--app-name=${appName}`] : []),
...(appVersion ? [`--app-version=${appVersion}`] : [])
]);
}
main().catch((error) => {
console.error(error?.message || String(error));
process.exit(1);
});