Test Windows support again

This commit is contained in:
00Fjongl 2024-08-07 15:07:30 -05:00
parent 0434e55c69
commit 34e923dea5

View file

@ -1,5 +1,5 @@
import { readFile, writeFile, unlink, mkdir, rm } from 'node:fs/promises';
import { exec, spawn } from 'node:child_process';
import { exec, fork } from 'node:child_process';
import { fileURLToPath } from 'node:url';
import { build } from 'esbuild';
@ -26,19 +26,34 @@ for(let i = 2; i < process.argv.length; i++)
if (error) throw error;
console.log(stdout);
});
else if (process.platform === "win32")
exec("START", ["/B", "node", "backend.js"], (error, stdout) => {
if (error) throw error;
console.log(stdout);
});
else {
const server = spawn("node",
[fileURLToPath(new URL("./backend.js", import.meta.url))],
{cwd: process.cwd(), stdio: "inherit", detached: true}
const server = fork(fileURLToPath(new URL("./backend.js", import.meta.url)),
{detached: true}
);
server.unref();
server.disconnect();
}
break;
}
case "stop":
await writeFile(shutdown, "");
try {await fetch(new URL("/test-shutdown", serverUrl))}
try {
const response = await Promise.race([
fetch(new URL("/test-shutdown", serverUrl)),
new Promise(resolve => {
setTimeout(() => {
resolve("Error");
}, 5000);
})
]);
if(response === "Error") throw new Error("Server is unresponsive.");
}
catch (e) {await unlink(shutdown)}
if (config.production)
exec("npm run pm2-stop", (error, stdout) => {