72 lines
2.2 KiB
Bash
Executable file
72 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Define where our temporary node shim lives
|
|
SHIM_DIR="/tmp/antigravity_bin"
|
|
NODE_SHIM="$SHIM_DIR/node"
|
|
|
|
# Check if 'node' is already in PATH
|
|
if ! command -v node &> /dev/null; then
|
|
echo "⚠️ Node.js not found in PATH."
|
|
|
|
# Check if 'bun' is available to fill in
|
|
if command -v bun &> /dev/null; then
|
|
echo "✅ Found Bun! Creating a compatibility shim for Node..."
|
|
|
|
# Create shim directory
|
|
mkdir -p "$SHIM_DIR"
|
|
|
|
# Create the shim script
|
|
echo '#!/bin/sh' > "$NODE_SHIM"
|
|
echo 'exec bun "$@"' >> "$NODE_SHIM"
|
|
chmod +x "$NODE_SHIM"
|
|
|
|
# Add to PATH
|
|
export PATH="$SHIM_DIR:$PATH"
|
|
|
|
echo "🔧 Shim created at $NODE_SHIM"
|
|
else
|
|
echo "❌ Error: Neither 'node' nor 'bun' was found."
|
|
echo "Please install Node.js or Bun to run this application."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Ensure dependencies are installed (specifically checking for vite)
|
|
if [ ! -f "node_modules/.bin/vite" ]; then
|
|
echo "📦 Dependencies incomplete (vite binary missing)."
|
|
echo "⏳ Running pnpm install to fix... (This may take a while on network drives)"
|
|
|
|
# Run install and show output
|
|
pnpm install
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Installation failed. Please check the network connection or drive permissions."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "🚀 Starting Antigravity..."
|
|
# Check for vite again to be sure
|
|
if [ ! -f "node_modules/.bin/vite" ]; then
|
|
echo "❌ Error: 'vite' binary still not found after install."
|
|
echo "This might be due to the 'noexec' mount option on your drive preventing symlink creation in node_modules/.bin."
|
|
echo "Trying to run via node directly..."
|
|
|
|
# Fallback: finding the vite script manually if bin is missing
|
|
VITE_PATH=$(find node_modules -name vite.js | head -n 1)
|
|
if [ -z "$VITE_PATH" ]; then
|
|
# try package.json
|
|
VITE_PKG="node_modules/vite/bin/vite.js"
|
|
if [ -f "$VITE_PKG" ]; then
|
|
node "$VITE_PKG"
|
|
else
|
|
echo "❌ Could not find vite.js source."
|
|
exit 1
|
|
fi
|
|
else
|
|
node "$VITE_PATH"
|
|
fi
|
|
else
|
|
# Run the electron dev environment
|
|
pnpm dev:electron
|
|
fi
|