summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-06-24 18:40:36 -0400
committerDax Raad <[email protected]>2025-06-24 18:40:36 -0400
commit2384c7e734eb0316bc3f1f85bd1ca2983547a1e2 (patch)
tree86950c310905d9f03841f8fb6997ddc969177a08 /packages
parent1bad3d98946994073e82e895734b1276a1593d81 (diff)
downloadopencode-2384c7e734eb0316bc3f1f85bd1ca2983547a1e2.tar.gz
opencode-2384c7e734eb0316bc3f1f85bd1ca2983547a1e2.zip
ci: windows
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/bin/opencode.cmd56
-rw-r--r--packages/opencode/package.json3
2 files changed, 59 insertions, 0 deletions
diff --git a/packages/opencode/bin/opencode.cmd b/packages/opencode/bin/opencode.cmd
new file mode 100644
index 000000000..8bac765c5
--- /dev/null
+++ b/packages/opencode/bin/opencode.cmd
@@ -0,0 +1,56 @@
+@echo off
+setlocal enabledelayedexpansion
+
+if defined OPENCODE_BIN_PATH (
+ set "resolved=%OPENCODE_BIN_PATH%"
+ goto :execute
+)
+
+rem Get the directory of this script
+set "script_dir=%~dp0"
+set "script_dir=%script_dir:~0,-1%"
+
+rem Detect platform and architecture
+set "platform=win32"
+
+rem Detect architecture
+if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
+ set "arch=x64"
+) else if "%PROCESSOR_ARCHITECTURE%"=="ARM64" (
+ set "arch=arm64"
+) else if "%PROCESSOR_ARCHITECTURE%"=="x86" (
+ set "arch=x86"
+) else (
+ set "arch=x64"
+)
+
+set "name=opencode-!platform!-!arch!"
+set "binary=opencode.exe"
+
+rem Search for the binary starting from script location
+set "resolved="
+set "current_dir=%script_dir%"
+
+:search_loop
+set "candidate=%current_dir%\node_modules\%name%\bin\%binary%"
+if exist "%candidate%" (
+ set "resolved=%candidate%"
+ goto :execute
+)
+
+rem Move up one directory
+for %%i in ("%current_dir%") do set "parent_dir=%%~dpi"
+set "parent_dir=%parent_dir:~0,-1%"
+
+rem Check if we've reached the root
+if "%current_dir%"=="%parent_dir%" goto :not_found
+set "current_dir=%parent_dir%"
+goto :search_loop
+
+:not_found
+echo It seems that your package manager failed to install the right version of the OpenCode CLI for your platform. You can try manually installing the "%name%" package >&2
+exit /b 1
+
+:execute
+rem Execute the binary with all arguments
+"%resolved%" %* \ No newline at end of file
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 25b7f7117..711eb6180 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -8,6 +8,9 @@
"typecheck": "tsc --noEmit",
"dev": "bun run ./src/index.ts"
},
+ "bin": {
+ "opencode": "./bin/opencode"
+ },
"exports": {
"./*": "./src/*.ts"
},