// 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(), 1000)
    return {
      text: "Reloading in 3 seconds...",
      script: `setTimeout(() => window.location.reload(), 3000)`
    }
  }
}