48 lines
1.3 KiB
JavaScript
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);
|
|
});
|