#!/bin/bash # Source nvm to get access to pnpm export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Function to run a command and check its status run_check() { local desc=$1 local cmd=$2 echo -e "\n${YELLOW}Running: ${desc}${NC}" echo -e "${YELLOW}Command: ${cmd}${NC}" if eval "$cmd"; then echo -e "${GREEN}✓ ${desc} passed${NC}" return 0 else echo -e "${RED}✗ ${desc} failed${NC}" return 1 fi } # Track if any checks fail failed=0 echo -e "${YELLOW}🔍 Running all checks for Hikari Desktop...${NC}" # Frontend checks run_check "Frontend lint" "pnpm lint" || failed=1 run_check "Frontend format check" "pnpm format:check" || failed=1 run_check "Frontend type check" "pnpm check" || failed=1 run_check "Frontend tests" "pnpm test" || failed=1 # Backend checks run_check "Backend clippy (strict)" "cd src-tauri && cargo clippy --all-targets --all-features -- -D warnings" || failed=1 run_check "Backend tests" "cargo test" || failed=1 # Summary echo -e "\n${YELLOW}========================================${NC}" if [ $failed -eq 0 ]; then echo -e "${GREEN}✨ All checks passed! The code is looking great!${NC}" echo -e "${GREEN} Naomi would be so proud of us! 💖${NC}" exit 0 else echo -e "${RED}❌ Some checks failed. Let's fix them together!${NC}" echo -e "${RED} Don't worry, we'll get through this! 💪${NC}" exit 1 fi