From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001 From: wwf <yearningwang@iqtogether.com> Date: 星期三, 04 六月 2025 15:17:49 +0800 Subject: [PATCH] 初始化 --- .husky/pre-commit | 36 ++++++++++++++++++++---------------- 1 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 2ad3922..d9290e1 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,6 @@ -#!/bin/sh +#!/usr/bin/env bash +. "$(dirname -- "$0")/_/husky.sh" + # get the list of modified files files=$(git diff --cached --name-only) @@ -9,17 +11,13 @@ for file in $files do - # Use POSIX compliant pattern matching - case "$file" in - api/*.py) - # set api_modified flag to true - api_modified=true - ;; - web/*) - # set web_modified flag to true - web_modified=true - ;; - esac + if [[ $file == "api/"* && $file == *.py ]]; then + # set api_modified flag to true + api_modified=true + elif [[ $file == "web/"* ]]; then + # set web_modified flag to true + web_modified=true + fi done # run linters based on the modified modules @@ -27,11 +25,17 @@ if $api_modified; then echo "Running Ruff linter on api module" + # python style checks rely on `ruff` in path + if ! command -v ruff &> /dev/null; then + echo "Installing linting tools (Ruff, dotenv-linter ...) ..." + poetry install -C api --only lint + fi + # run Ruff linter auto-fixing - uv run --project api --dev ruff check --fix ./api + ruff check --fix ./api # run Ruff linter checks - uv run --project api --dev ruff check ./api || status=$? + ruff check --preview ./api || status=$? status=${status:-0} @@ -46,7 +50,7 @@ if $web_modified; then echo "Running ESLint on web module" cd ./web || exit 1 - lint-staged + npx lint-staged echo "Running unit tests check" modified_files=$(git diff --cached --name-only -- utils | grep -v '\.spec\.ts$' || true) @@ -59,7 +63,7 @@ # check if the test file exists if [ -f "../$test_file" ]; then echo "Detected changes in $file, running corresponding unit tests..." - pnpm run test "../$test_file" + npm run test "../$test_file" if [ $? -ne 0 ]; then echo "Unit tests failed. Please fix the errors before committing." -- Gitblit v1.8.0