Make mypy run again, fix what it found, and add one check script
a7fb56cpinned mypy to Python 3.11 for the Pi. In a dev venv that also has the analysis extra, numpy's stubs use 3.12 syntax, so mypy aborted on them before checking a single file - and from the next day on four real errors went in unnoticed (ebab03b,0ef5a04,9fd106b). Skip following numpy/librosa instead; only librosa_analyzer.py touches them. Fix the four errors (variables reused with a narrower type). There is no CI, so scripts/check.sh is the gate: pytest, ruff, mypy, vitest, tsc and eslint in one command. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
44
scripts/check.sh
Executable file
44
scripts/check.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Every check this repo has, in one command. There is no CI, so this is the gate:
|
||||
# run it before committing, and treat a checker that cannot run as a failure.
|
||||
#
|
||||
# scripts/check.sh backend and web
|
||||
# scripts/check.sh backend just one half
|
||||
# scripts/check.sh web
|
||||
#
|
||||
# PYTHON picks the interpreter (default: python-backend/.venv/bin/python, else python3).
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
repo="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
what="${1:-all}"
|
||||
|
||||
backend() {
|
||||
cd "$repo/python-backend"
|
||||
local python="${PYTHON:-}"
|
||||
if [[ -z "$python" ]]; then
|
||||
if [[ -x .venv/bin/python ]]; then python=.venv/bin/python; else python=python3; fi
|
||||
fi
|
||||
echo "== backend: pytest"
|
||||
"$python" -m pytest -q
|
||||
echo "== backend: ruff"
|
||||
"$python" -m ruff check .
|
||||
echo "== backend: mypy"
|
||||
"$python" -m mypy
|
||||
}
|
||||
|
||||
web() {
|
||||
cd "$repo/web"
|
||||
echo "== web: vitest"
|
||||
npm run --silent test
|
||||
echo "== web: tsc + eslint"
|
||||
npm run --silent check
|
||||
}
|
||||
|
||||
case "$what" in
|
||||
all) backend; web ;;
|
||||
backend) backend ;;
|
||||
web) web ;;
|
||||
*) echo "usage: $0 [all|backend|web]" >&2; exit 2 ;;
|
||||
esac
|
||||
echo "== all checks passed"
|
||||
Reference in New Issue
Block a user