49 lines
1.5 KiB
PowerShell
49 lines
1.5 KiB
PowerShell
# PowerShell script for linting and type checking
|
|
# Usage: .\scripts\lint.ps1 [--fix]
|
|
|
|
param(
|
|
[switch]$Fix
|
|
)
|
|
|
|
Write-Host "INFO: Running code quality checks..." -ForegroundColor Cyan
|
|
|
|
# Check if ruff is installed
|
|
if (-not (Get-Command ruff -ErrorAction SilentlyContinue)) {
|
|
Write-Host "FAIL ruff not found. Install with: pip install -r requirements-dev.txt" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
# Check if mypy is installed
|
|
if (-not (Get-Command mypy -ErrorAction SilentlyContinue)) {
|
|
Write-Host "FAIL mypy not found. Install with: pip install -r requirements-dev.txt" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "`nINFO: Step 1: Ruff Linter" -ForegroundColor Yellow
|
|
if ($Fix) {
|
|
Write-Host " -> Running ruff check with auto-fix..." -ForegroundColor Gray
|
|
ruff check --fix .
|
|
Write-Host " -> Running ruff format..." -ForegroundColor Gray
|
|
ruff format .
|
|
} else {
|
|
Write-Host " -> Running ruff check..." -ForegroundColor Gray
|
|
ruff check .
|
|
Write-Host " -> Checking ruff format..." -ForegroundColor Gray
|
|
ruff format --check .
|
|
}
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "WARN Ruff found issues. Run '.\scripts\\lint.ps1 -Fix' to auto-fix." -ForegroundColor Yellow
|
|
}
|
|
|
|
Write-Host "`nINFO: Step 2: MyPy Type Checker" -ForegroundColor Yellow
|
|
Write-Host " -> Running mypy..." -ForegroundColor Gray
|
|
mypy .
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "WARN MyPy found type issues." -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "`nPASS All checks passed!" -ForegroundColor Green
|