Files
clash-proxy/.husky/pre-push

44 lines
884 B
Plaintext
Raw Normal View History

#!/bin/bash
2025-10-09 10:29:20 +08:00
set -euo pipefail
2025-10-22 00:08:16 +08:00
remote_name="${1:-origin}"
remote_url="${2:-unknown}"
ROOT_DIR="$(git rev-parse --show-toplevel)"
cd "$ROOT_DIR"
if ! command -v pnpm >/dev/null 2>&1; then
echo "❌ pnpm is required for pre-push checks."
exit 1
fi
2025-10-22 00:08:16 +08:00
echo "[pre-push] Preparing to push to '$remote_name' ($remote_url). Running full validation..."
echo "[pre-push] Checking Prettier formatting..."
pnpm format:check
echo "[pre-push] Running ESLint..."
pnpm lint
echo "[pre-push] Running TypeScript type checking..."
pnpm typecheck
if command -v cargo >/dev/null 2>&1; then
echo "[pre-push] Verifying Rust formatting..."
(
cd src-tauri
cargo fmt --check
)
echo "[pre-push] Running cargo clippy..."
(
cd src-tauri
cargo clippy-all
)
else
2025-10-22 00:08:16 +08:00
echo "[pre-push] ⚠️ cargo not found; skipping Rust checks."
fi
2025-10-09 10:29:20 +08:00
echo "[pre-push] All checks passed."
2025-10-07 18:28:32 +08:00
exit 0