Monorepo for Aesthetic.Computer aesthetic.computer
at main 48 lines 2.4 kB view raw
1# DEPRECATED: Old Node.js + cli.js bundling path for Claude Code in AC Native OS. 2# Replaced by native binary bundling in ac-os (line ~82). 3# Archived from fedac/native/scripts/build-and-flash.sh on 2026-03-16. 4 5# ── Node.js + Claude Code CLI ── 6NODE_BIN="$(command -v node 2>/dev/null || true)" 7if [ -n "$NODE_BIN" ] && [ -f "$NODE_BIN" ]; then 8 log "Bundling Node.js for Claude Code CLI..." 9 cp "$NODE_BIN" "${INITRAMFS_DIR}/bin/node" 10 strip --strip-debug "${INITRAMFS_DIR}/bin/node" 2>/dev/null || true 11 chmod +x "${INITRAMFS_DIR}/bin/node" 12 for lib in $(ldd "$NODE_BIN" 2>/dev/null | grep -oP '/\S+'); do 13 [ -f "$lib" ] && cp -n "$lib" "${INITRAMFS_DIR}/lib64/" 2>/dev/null || true 14 done 15 NODE_SIZE=$(du -sh "${INITRAMFS_DIR}/bin/node" | cut -f1) 16 log " node: ${NODE_SIZE} ($(${NODE_BIN} --version))" 17 18 # Bundle Claude Code (x64-linux only, strip other platforms) 19 CLAUDE_PKG="$(npm root -g 2>/dev/null)/@anthropic-ai/claude-code" 20 if [ -d "$CLAUDE_PKG" ]; then 21 log "Bundling Claude Code CLI..." 22 CLAUDE_DIR="${INITRAMFS_DIR}/opt/claude-code" 23 mkdir -p "${CLAUDE_DIR}/vendor/ripgrep/x64-linux" \ 24 "${CLAUDE_DIR}/vendor/tree-sitter-bash/x64-linux" 25 # Core files 26 cp "${CLAUDE_PKG}/cli.js" "${CLAUDE_DIR}/" 27 cp "${CLAUDE_PKG}/package.json" "${CLAUDE_DIR}/" 28 [ -f "${CLAUDE_PKG}/resvg.wasm" ] && cp "${CLAUDE_PKG}/resvg.wasm" "${CLAUDE_DIR}/" 29 # Vendor binaries (x64-linux only) 30 cp -r "${CLAUDE_PKG}/vendor/ripgrep/x64-linux/"* "${CLAUDE_DIR}/vendor/ripgrep/x64-linux/" 2>/dev/null || true 31 cp -r "${CLAUDE_PKG}/vendor/tree-sitter-bash/x64-linux/"* "${CLAUDE_DIR}/vendor/tree-sitter-bash/x64-linux/" 2>/dev/null || true 32 # Create claude wrapper 33 cat > "${INITRAMFS_DIR}/bin/claude" << 'CLAUDE_WRAPPER' 34#!/bin/sh 35export NODE_PATH=/opt/claude-code 36export HOME="${HOME:-/tmp}" 37export TERM="${TERM:-dumb}" 38exec /bin/node /opt/claude-code/cli.js "$@" 39CLAUDE_WRAPPER 40 chmod +x "${INITRAMFS_DIR}/bin/claude" 41 CLAUDE_SIZE=$(du -sh "${CLAUDE_DIR}" | cut -f1) 42 log " claude-code: ${CLAUDE_SIZE} (x64-linux only)" 43 else 44 warn "Claude Code not found globally — run: npm i -g @anthropic-ai/claude-code" 45 fi 46else 47 warn "Node.js not found — Claude Code CLI not available" 48fi