From 3b1f793dc45ac460134d86bdacbd2cc33704a608 Mon Sep 17 00:00:00 2001 From: kite Date: Wed, 13 May 2026 15:44:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ocr.js=20=E5=8F=AF=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 +++- bin/ocr.js | 14 ++++++++++++++ scripts/install.js | 11 +++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 bin/ocr.js diff --git a/.gitignore b/.gitignore index 1cc3237..349f88c 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,9 @@ scripts/hooks/ verdor/ temp/ -bin/ +# Ignore downloaded Go binary, but keep JS entry point +!bin/ocr.js +bin/opencodereview /opencodereview diff --git a/bin/ocr.js b/bin/ocr.js new file mode 100755 index 0000000..6389689 --- /dev/null +++ b/bin/ocr.js @@ -0,0 +1,14 @@ +#!/usr/bin/env node +"use strict"; + +const { spawnSync } = require("child_process"); +const path = require("path"); + +const binaryPath = path.join(__dirname, "opencodereview"); + +const result = spawnSync(binaryPath, process.argv.slice(2), { + stdio: "inherit", + env: process.env, +}); + +process.exit(result.status ?? (result.error ? 1 : 0)); diff --git a/scripts/install.js b/scripts/install.js index f8e8a1d..de0a4ae 100644 --- a/scripts/install.js +++ b/scripts/install.js @@ -167,6 +167,17 @@ async function main() { fs.mkdirSync(binDir, { recursive: true }); } + // Ensure the JS wrapper has execute permission (needed on some Linux setups) + const jsWrapper = path.join(binDir, "ocr.js"); + if (fs.existsSync(jsWrapper)) { + try { + fs.chmodSync(jsWrapper, 0o755); + info("Made ocr.js executable."); + } catch (e) { + warn(`Could not make ocr.js executable: ${e.message}`); + } + } + // Download URL: bin/{VERSION}/{NAME}-{OS}-{ARCH} const versionNum = version.replace(/^v/, ""); const remoteFileName = `${BINARY_NAME}-${os}-${arch}`;