22 lines
550 B
TypeScript
22 lines
550 B
TypeScript
// Update NOSE itself and restart.
|
|
|
|
import { $ } from "bun"
|
|
|
|
export default async function () {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
return { error: "Can only update in production." }
|
|
}
|
|
|
|
const { stdout } = await $`cd .. && git pull`.quiet()
|
|
const out = stdout.toString()
|
|
|
|
if (/up to date/.test(out)) {
|
|
return "Up to date."
|
|
} else {
|
|
setTimeout(() => process.exit(), 500)
|
|
return {
|
|
text: "Reloading in 3 seconds...",
|
|
script: `setTimeout(() => (window as any).location = window.location, 3000)`
|
|
}
|
|
}
|
|
} |