40 lines
989 B
TypeScript
40 lines
989 B
TypeScript
import { Cliffy, Colors } from "../deps.ts";
|
|
import { version } from "../version.ts";
|
|
|
|
export default async function upgrade() {
|
|
const meta = await fetch(
|
|
"https://deno.hibas123.de/raw/@denreg-cli/meta.json"
|
|
).then((e) => e.json());
|
|
|
|
if (meta.version === version) {
|
|
const res = await Cliffy.Confirm.prompt({
|
|
message: Colors.yellow("No update available!") + " Continue?",
|
|
default: false,
|
|
});
|
|
if (!res) return;
|
|
}
|
|
|
|
const res = await Cliffy.Confirm.prompt({
|
|
message: "Are you sure you want to upgrade?",
|
|
default: true,
|
|
});
|
|
|
|
if (res) {
|
|
const process = Deno.run({
|
|
cmd: [
|
|
"deno",
|
|
"install",
|
|
"-A",
|
|
"--unstable",
|
|
"-f",
|
|
`https://deno.hibas123.de/raw/@denreg-cli@${meta.version}/denreg.ts`,
|
|
],
|
|
});
|
|
|
|
const s = await process.status();
|
|
if (!s) {
|
|
console.log(Colors.red("Upgrade failed!"));
|
|
}
|
|
}
|
|
}
|