prepare.ts 770 B

123456789101112131415161718192021
  1. #!/usr/bin/env bun
  2. import { $ } from "bun"
  3. import { copyBinaryToSidecarFolder, getCurrentSidecar } from "./utils"
  4. import { Script } from "@opencode-ai/script"
  5. const sidecarConfig = getCurrentSidecar()
  6. const dir = "src-tauri/target/opencode-binaries"
  7. await $`mkdir -p ${dir}`
  8. await $`gh release download v${Script.version} --pattern ${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} --repo sst/opencode --skip-existing --dir ${dir}`
  9. if (sidecarConfig.assetExt === "tar.gz") {
  10. await $`tar -xvzf ${dir}/${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} -C ${dir}`
  11. } else {
  12. await $`unzip -o ${dir}/${sidecarConfig.ocBinary}.${sidecarConfig.assetExt} -d ${dir}`
  13. }
  14. await copyBinaryToSidecarFolder(`${dir}/opencode${process.platform === "win32" ? ".exe" : ""}`)