42 lines
1.5 KiB
Bash
42 lines
1.5 KiB
Bash
#!/bin/bash
|
||
# prepare-source-claude-code-acp-ts.sh
|
||
# 从 GitHub 克隆并构建 claude-code-acp-ts 源码
|
||
|
||
set -e
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
ELECTRON_CLIENT_DIR="$(dirname "$SCRIPT_DIR")"
|
||
PROJECT_ROOT="$(dirname "$ELECTRON_CLIENT_DIR")"
|
||
|
||
SOURCE_DIR="$ELECTRON_CLIENT_DIR/sources/claude-code-acp-ts"
|
||
GIT_REPO="https://github.com/qiming-ai/claude-code-acp-ts.git"
|
||
BRANCH="feat/claude-code-acp-ts"
|
||
|
||
echo "[prepare-source-claude-code-acp-ts] 开始准备源码..."
|
||
|
||
# 1. 克隆或更新源码
|
||
if [ -d "$SOURCE_DIR/.git" ]; then
|
||
echo "[prepare-source-claude-code-acp-ts] 更新源码..."
|
||
cd "$SOURCE_DIR" && git checkout "$BRANCH" && git pull
|
||
else
|
||
echo "[prepare-source-claude-code-acp-ts] 克隆源码..."
|
||
mkdir -p "$(dirname "$SOURCE_DIR")"
|
||
git clone --branch "$BRANCH" "$GIT_REPO" "$SOURCE_DIR"
|
||
fi
|
||
|
||
# 2. 清理旧的 node_modules
|
||
if [ -d "$SOURCE_DIR/node_modules" ]; then
|
||
echo "[prepare-source-claude-code-acp-ts] 清理旧的 node_modules..."
|
||
rm -rf "$SOURCE_DIR/node_modules"
|
||
fi
|
||
|
||
# 3. 安装依赖
|
||
echo "[prepare-source-claude-code-acp-ts] 安装依赖..."
|
||
cd "$SOURCE_DIR" && npm install --ignore-scripts
|
||
|
||
# 4. 构建 TypeScript(使用 npx tsc 替代 npm run build,避免 Windows 上 ./node_modules/.bin/tsc 路径不兼容)
|
||
echo "[prepare-source-claude-code-acp-ts] 构建项目..."
|
||
cd "$SOURCE_DIR" && npx tsc
|
||
|
||
echo "[prepare-source-claude-code-acp-ts] ✓ 源码准备完成 (claude-code-acp-ts@$(node -p "require('./package.json').version"))"
|