diff --git a/ui/litellm-dashboard/build_ui_custom_path.sh b/ui/litellm-dashboard/build_ui_custom_path.sh new file mode 100644 index 00000000000..11b054b593c --- /dev/null +++ b/ui/litellm-dashboard/build_ui_custom_path.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# Check if BASE_UI_PATH argument is provided +if [ -z "$1" ]; then + echo "Error: BASE_UI_PATH argument is required." + echo "Usage: $0 " + exit 1 +fi + +# Set BASE_UI_PATH from the first argument +BASE_UI_PATH="$1" + +# Check if nvm is not installed +if ! command -v nvm &> /dev/null; then + # Install nvm + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash + + # 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 use v18.17.0 + +# Check if nvm use was successful +if [ $? -ne 0 ]; then + echo "Error: Failed to switch to Node.js v18.17.0. Deployment aborted." + exit 1 +fi + +# print contents of ui_colors.json +echo "Contents of ui_colors.json:" +cat ui_colors.json + +# Run npm build with the environment variable +BASE_UI_PATH=$BASE_UI_PATH 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" + + echo "Deployment completed." +else + echo "Build failed. Deployment aborted." +fi \ No newline at end of file