1
0

Use Deno.Command for upgrade

This commit is contained in:
Zef Hemel 2023-10-04 10:47:52 +02:00
parent 4904644464
commit 2a1438f95a

View File

@ -3,28 +3,28 @@ import { version } from "../version.ts";
export async function upgradeCommand() {
console.log("Now going to attempt an upgrade...");
const p = Deno.run({
cmd: ["deno", "cache", "--reload", Deno.mainModule],
const command = new Deno.Command("deno", {
args: ["cache", "--reload", Deno.mainModule],
stdout: "inherit",
stderr: "inherit",
});
const exitCode = await p.status();
if (!exitCode.success) {
const commandOutput = await command.output();
if (!commandOutput.success) {
console.error("Something went wrong there...");
Deno.exit(1);
}
console.log(
"So, that's done. Now let's see if this actually did anything...",
);
const vp = Deno.run({
cmd: ["deno", "run", "-A", "--unstable", Deno.mainModule, "version"],
stdout: "piped",
const vp = new Deno.Command("deno", {
args: ["run", "-A", "--unstable", Deno.mainModule, "version"],
});
const versionStatus = await vp.status();
const versionStatus = await vp.output();
if (!versionStatus.success) {
console.error("Could not run version command, something is wrong.");
Deno.exit(1);
}
const rawVersion = await vp.output();
const newVersion = new TextDecoder().decode(rawVersion).trim();
const newVersion = new TextDecoder().decode(versionStatus.stdout).trim();
if (newVersion === version) {
console.log(
`Nope. I hate to tell you this, but it looks like we're still running ${newVersion}. This was a bit of a futile exercise. Let's try again soon some time.`,