Spaces:
Runtime error
Runtime error
| console.log("ftp-uploading..............") | |
| const { execSync, exec, spawn } = require("child_process"); | |
| const path = require("path"); | |
| const repoPath = path.join(__dirname, "dist"); | |
| function runWithExecSync() { | |
| return new Promise((resolve, reject) => { | |
| try { | |
| execSync("sh upload.sh", { cwd: repoPath, stdio: "inherit" }); | |
| resolve("execSync success"); | |
| } catch (err) { | |
| reject(err); | |
| } | |
| }); | |
| } | |
| function runWithExec() { | |
| return new Promise((resolve, reject) => { | |
| exec("sh upload.sh", { cwd: repoPath }, (error, stdout, stderr) => { | |
| if (error) { | |
| reject(error); | |
| return; | |
| } | |
| console.log(stdout); | |
| resolve("exec success"); | |
| }); | |
| }); | |
| } | |
| function runWithSpawn() { | |
| return new Promise((resolve, reject) => { | |
| const child = spawn("sh", ["upload.sh"], { cwd: repoPath, stdio: "inherit" }); | |
| child.on("close", (code) => { | |
| if (code === 0) { | |
| resolve("spawn success"); | |
| } else { | |
| reject(new Error(`spawn exited with code ${code}`)); | |
| } | |
| }); | |
| }); | |
| } | |
| (async () => { | |
| try { | |
| await runWithExecSync(); | |
| } catch (e1) { | |
| console.error("execSync failed:", e1); | |
| try { | |
| await runWithExec(); | |
| } catch (e2) { | |
| console.error("exec failed:", e2); | |
| try { | |
| await runWithSpawn(); | |
| } catch (e3) { | |
| console.error("spawn failed:", e3); | |
| process.exit(1); | |
| } | |
| } | |
| } | |
| })(); | |