#!/bin/bash # Check if nvm is not installed if ! command -v nvm &> /dev/null; then # Install nvm with checksum verification NVM_VERSION="v0.40.4" NVM_CHECKSUM="4b7412c49960c7d31e8df72da90c1fb5b8cccb419ac99537b737028d497aba4f" NVM_SCRIPT=$(mktemp) trap 'rm -f "$NVM_SCRIPT"' EXIT curl -fsSL "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" -o "$NVM_SCRIPT" if command -v sha256sum &>/dev/null; then echo "${NVM_CHECKSUM} ${NVM_SCRIPT}" | sha256sum -c - elif command -v shasum &>/dev/null; then echo "${NVM_CHECKSUM} ${NVM_SCRIPT}" | shasum -a 256 -c - else echo "No sha256 tool found; cannot verify nvm checksum"; exit 1 fi || { echo "nvm checksum verification failed"; exit 1; } bash "$NVM_SCRIPT" # Source nvm script in the current session export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" fi # Use nvm to set the required Node.js version nvm install nvm use # Check if nvm use was successful if [ $? -ne 0 ]; then echo "Error: Failed to switch to the Node.js version in .nvmrc. Deployment aborted." exit 1 fi # Run npm build npm run build # Check if the build was successful if [ $? -eq 0 ]; then echo "Build successful. Copying files..." # echo current dir echo pwd # Specify the destination directory destination_dir="../../litellm/proxy/_experimental/out" # Remove existing files in the destination directory rm -rf "$destination_dir"/* # Copy the contents of the output directory to the specified destination cp -r ./out/* "$destination_dir" rm -rf ./out echo "Deployment completed." else echo "Build failed. Deployment aborted." fi