scripts/code-metrics.sh
Rama master · réplica de lectura del repositorio original.
#!/bin/bash
# Code metrics collection script for Sublarr
# Collects complexity, duplication, and maintainability metrics
set -e
echo "📊 Collecting Code Metrics..."
echo ""
# Backend metrics
echo "🐍 Backend Metrics (Python)..."
cd backend
# Cyclomatic Complexity with radon
if command -v radon &> /dev/null; then
echo " - Cyclomatic Complexity:"
radon cc . --min B --json > metrics_complexity.json 2>/dev/null || echo " radon not installed, skipping"
echo " - Maintainability Index:"
radon mi . --min B --json > metrics_maintainability.json 2>/dev/null || echo " radon not installed, skipping"
else
echo " radon not installed. Install with: pip install radon"
fi
cd ..
# Frontend metrics
echo ""
echo "⚛️ Frontend Metrics (TypeScript)..."
cd frontend
# Check for jscpd (copy-paste detector)
if command -v jscpd &> /dev/null; then
echo " - Code Duplication:"
jscpd --min-lines 5 --min-tokens 50 --format json --output ./metrics_duplication.json src/ 2>/dev/null || echo " jscpd scan completed"
else
echo " jscpd not installed. Install with: npm install -g jscpd"
fi
cd ..
echo ""
echo "✅ Metrics collection complete!"
echo " Results saved in backend/metrics_*.json and frontend/metrics_*.json"