Files
cline/scripts/runclinecore.sh
T
Sarah Fortune afa3eed7eb Update scripts/runclinecore.sh to include platform specific node module path (#6618)
With the introduction of better sqlite, this script needs to set the correct path for platform specific node modules. The logic is copied from the JB plugin (the vscode extension does not set the node modules path).
2025-10-02 14:21:39 -07:00

51 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eu #x
# This installs the cline-core app to the user's home directory,
# and starts the service.
if [[ "${1:-}" == "-h" ]]; then
./scripts/test-hostbridge-server.ts &
fi
CORE_DIR=~/.cline/core
INSTALL_DIR=$CORE_DIR/dev-instance/
LOG_FILE=~/.cline/cline-core-service.log
ZIP_FILE=standalone.zip
ZIP=dist-standalone/${ZIP_FILE}
# Remove old unpacked versions to force reinstall
rm -rf $CORE_DIR/* || true
mkdir -p $INSTALL_DIR
cp $ZIP $INSTALL_DIR
cd $INSTALL_DIR
unp $ZIP_FILE > /dev/null
pkill -f cline-core.js || true
# Detect platform name using the same logic as ClineDirs.kt in the plugin.
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
if [[ "$OS" == "darwin" && "$ARCH" == "x86_64" ]]; then
PLATFORM_NAME="darwin-x64"
elif [[ "$OS" == "darwin" && "$ARCH" == "arm64" ]]; then
PLATFORM_NAME="darwin-arm64"
elif [[ "$OS" == *"mingw"* || "$OS" == *"cygwin"* || "$OS" == *"msys"* ]] && [[ "$ARCH" == "x86_64" || "$ARCH" == "amd64" ]]; then
# Note: This script requires a bash-compatible environment on Windows (Git Bash, MSYS2, Cygwin)
PLATFORM_NAME="win-x64"
elif [[ "$OS" == "linux" && ("$ARCH" == "x86_64" || "$ARCH" == "amd64") ]]; then
PLATFORM_NAME="linux-x64"
else
echo "Unsupported platform: $OS $ARCH"
exit 1
fi
BINARY_MODULES_DIR="./binaries/$PLATFORM_NAME/node_modules"
echo pwd: $(pwd)
set -x
NODE_PATH=$BINARY_MODULES_DIR:./node_modules DEV_WORKSPACE_FOLDER=/tmp/ node cline-core.js 2>&1 | tee $LOG_FILE