summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLuke Parker <[email protected]>2025-12-04 03:21:13 +1000
committerGitHub <[email protected]>2025-12-03 11:21:13 -0600
commitc5b4cc80cc4ad07dfe68847fec518779f2cce65c (patch)
tree01a70d9f6ae0df46ebb3dfadb2733db876a474ff
parent0bccd1d5788d607f761cabf4d2d1a58980c60fe4 (diff)
downloadopencode-c5b4cc80cc4ad07dfe68847fec518779f2cce65c.tar.gz
opencode-c5b4cc80cc4ad07dfe68847fec518779f2cce65c.zip
fix: bunfs path on windows (#5011)
-rwxr-xr-xpackages/opencode/script/build.ts13
1 files changed, 10 insertions, 3 deletions
diff --git a/packages/opencode/script/build.ts b/packages/opencode/script/build.ts
index 98c332e32..64f43b748 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 skipInstall = process.argv.includes("--skip-install")
const allTargets: {
os: string
@@ -83,8 +84,10 @@ const targets = singleFlag
await $`rm -rf dist`
const binaries: Record<string, string> = {}
-await $`bun install --os="*" --cpu="*" @opentui/core@${pkg.dependencies["@opentui/core"]}`
-await $`bun install --os="*" --cpu="*" @parcel/watcher@${pkg.dependencies["@parcel/watcher"]}`
+if (!skipInstall) {
+ await $`bun install --os="*" --cpu="*" @opentui/core@${pkg.dependencies["@opentui/core"]}`
+ await $`bun install --os="*" --cpu="*" @parcel/watcher@${pkg.dependencies["@parcel/watcher"]}`
+}
for (const item of targets) {
const name = [
pkg.name,
@@ -102,6 +105,10 @@ for (const item of targets) {
const parserWorker = fs.realpathSync(path.resolve(dir, "./node_modules/@opentui/core/parser.worker.js"))
const workerPath = "./src/cli/cmd/tui/worker.ts"
+ // Use platform-specific bunfs root path based on target OS
+ const bunfsRoot = item.os === "win32" ? "B:/~BUN/root/" : "/$bunfs/root/"
+ const workerRelativePath = path.relative(dir, parserWorker).replaceAll("\\", "/")
+
await Bun.build({
conditions: ["browser"],
tsconfig: "./tsconfig.json",
@@ -118,7 +125,7 @@ for (const item of targets) {
entrypoints: ["./src/index.ts", parserWorker, workerPath],
define: {
OPENCODE_VERSION: `'${Script.version}'`,
- OTUI_TREE_SITTER_WORKER_PATH: "/$bunfs/root/" + path.relative(dir, parserWorker).replaceAll("\\", "/"),
+ OTUI_TREE_SITTER_WORKER_PATH: bunfsRoot + workerRelativePath,
OPENCODE_WORKER_PATH: workerPath,
OPENCODE_CHANNEL: `'${Script.channel}'`,
},