feat: npm 离线打包脚本 — scripts/pack-npm.sh
一键构建 + 打包为 ccp-<version>.tgz: bash scripts/pack-npm.sh 目标机器安装(需要 Bun): npm install -g ./ccp-2.6.5.tgz ccp --version 产物 5.5MB,包含 dist-nosplit/cli.js + bin wrapper
This commit is contained in:
parent
452e2f01c8
commit
e806327608
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -35,3 +35,4 @@ dist-split-test/
|
|||
# Local analytics data (never upload)
|
||||
*.jsonl
|
||||
.claude/
|
||||
ccp-*.tgz
|
||||
|
|
|
|||
59
scripts/pack-npm.sh
Normal file
59
scripts/pack-npm.sh
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/env bash
|
||||
# scripts/pack-npm.sh — 构建 + 打包为 npm .tgz 离线安装包
|
||||
set -e
|
||||
|
||||
echo "=== 1. 构建 ==="
|
||||
bun run build --no-splitting
|
||||
|
||||
echo "=== 2. 准备打包目录 ==="
|
||||
VERSION=$(node -p "require('./package.json').version")
|
||||
PACK_DIR="/tmp/ccp-pack"
|
||||
rm -rf "$PACK_DIR"
|
||||
mkdir -p "$PACK_DIR/bin"
|
||||
|
||||
echo "=== 3. 复制产物 ==="
|
||||
cp dist-nosplit/cli.js "$PACK_DIR/cli.js"
|
||||
chmod +x "$PACK_DIR/cli.js"
|
||||
|
||||
echo "=== 4. 创建 bin 入口 ==="
|
||||
cat > "$PACK_DIR/bin/ccp" << 'BINEOF'
|
||||
#!/usr/bin/env bash
|
||||
# ccp — CC Pure CLI wrapper
|
||||
# Requires: bun (https://bun.sh)
|
||||
DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
exec bun "$DIR/cli.js" "$@"
|
||||
BINEOF
|
||||
chmod +x "$PACK_DIR/bin/ccp"
|
||||
|
||||
echo "=== 5. 生成 package.json ==="
|
||||
cat > "$PACK_DIR/package.json" << PKGEOF
|
||||
{
|
||||
"name": "ccp",
|
||||
"version": "$VERSION",
|
||||
"description": "CC Pure — 纯净版 Claude Code CLI",
|
||||
"license": "UNLICENSED",
|
||||
"private": true,
|
||||
"bin": {
|
||||
"ccp": "./bin/ccp"
|
||||
},
|
||||
"engines": {
|
||||
"bun": ">=1.3.0"
|
||||
},
|
||||
"files": [
|
||||
"cli.js",
|
||||
"bin/"
|
||||
]
|
||||
}
|
||||
PKGEOF
|
||||
|
||||
echo "=== 6. 打包 ==="
|
||||
TARBALL="ccp-${VERSION}.tgz"
|
||||
(cd "$PACK_DIR" && npm pack --pack-destination /tmp)
|
||||
mv "/tmp/$TARBALL" "./$TARBALL"
|
||||
|
||||
echo ""
|
||||
echo "✅ 完成: $(pwd)/$TARBALL ($(du -h ./$TARBALL | cut -f1))"
|
||||
echo ""
|
||||
echo "安装方式(目标机器需要 Bun):"
|
||||
echo " npm install -g ./$TARBALL"
|
||||
echo " ccp --version"
|
||||
Loading…
Reference in New Issue
Block a user