#!/usr/bin/env bash
set -e
set -o pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="${PROJECT_ROOT:-$(cd "$SCRIPT_DIR/../.." && pwd)}"

source "$PROJECT_ROOT/scripts/lib/ui.sh"

check_dependencies() {
  command -v bun >/dev/null 2>&1 || log_error "bun is not installed"
}

main() {
  check_dependencies

  echo -e "${GREY}┌${NC}"

  echo -e "${GREY}├${NC} ${WHITE}Cleaning artifacts${NC}"
  rm -rf node_modules

  log_rem "node_modules/"

  log_step "Cleaning cache"
  bun pm cache rm
  log_info "Package manager cache cleared"

  log_step "Rehydrating project"
  bun install
  log_info "Dependencies installed"

  echo -e "${GREY}└${NC}\n"
  echo -e "${GREEN}✓ Clean complete${NC}"
}

main "$@"
