summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/package.json2
-rwxr-xr-xpackages/opencode/script/build.ts15
2 files changed, 15 insertions, 2 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 11bc4b0cb..2592553e7 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -7,7 +7,7 @@
"scripts": {
"typecheck": "tsgo --noEmit",
"test": "bun test",
- "build": "./script/build.ts",
+ "build": "bun run script/build.ts",
"dev": "bun run --conditions=browser ./src/index.ts",
"random": "echo 'Random script updated at $(date)' && echo 'Change queued successfully' && echo 'Another change made' && echo 'Yet another change' && echo 'One more change' && echo 'Final change' && echo 'Another final change' && echo 'Yet another final change'",
"clean": "echo 'Cleaning up...' && rm -rf node_modules dist",
diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts
index a85fde9e2..f51cb2924 100755
--- a/packages/opencode/script/build.ts
+++ b/packages/opencode/script/build.ts
@@ -16,6 +16,7 @@ import pkg from "../package.json"
import { Script } from "@opencode-ai/script"
const singleFlag = process.argv.includes("--single")
+const baselineFlag = process.argv.includes("--baseline")
const skipInstall = process.argv.includes("--skip-install")
const allTargets: {
@@ -78,7 +79,19 @@ const allTargets: {
]
const targets = singleFlag
- ? allTargets.filter((item) => item.os === process.platform && item.arch === process.arch)
+ ? allTargets.filter((item) => {
+ if (item.os !== process.platform || item.arch !== process.arch) {
+ return false
+ }
+
+ // When building for the current platform, prefer a single native binary by default.
+ // Baseline binaries require additional Bun artifacts and can be flaky to download.
+ if (item.avx2 === false) {
+ return baselineFlag
+ }
+
+ return true
+ })
: allTargets
await $`rm -rf dist`