Ctrl K
ComunidadGuías…

scripts/code-metrics.sh

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/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"