mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-04-24 13:44:54 +00:00
67 lines
2.5 KiB
Bash
67 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Quick Lint Status Checker
|
|
# Shows current linting health at a glance
|
|
|
|
echo "🔍 Quick Lint Status Check"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo ""
|
|
|
|
# Run lint check
|
|
npm run lint:check > /tmp/quick-lint.log 2>&1
|
|
EXIT_CODE=$?
|
|
|
|
# Extract metrics
|
|
TOTAL_WARNINGS=$(grep -c "warning" /tmp/quick-lint.log || echo "0")
|
|
TOTAL_ERRORS=$(grep -c "error" /tmp/quick-lint.log || echo "0")
|
|
FILES_WITH_ISSUES=$(grep -oP "/.+?\.tsx?" /tmp/quick-lint.log | sort -u | wc -l)
|
|
|
|
# Display results
|
|
echo "Exit Code: $([ $EXIT_CODE -eq 0 ] && echo "✅ 0 (PASSING)" || echo "❌ $EXIT_CODE (FAILING)")"
|
|
echo "Errors: $([ $TOTAL_ERRORS -eq 0 ] && echo "✅ $TOTAL_ERRORS" || echo "❌ $TOTAL_ERRORS")"
|
|
echo "Warnings: ⚠️ $TOTAL_WARNINGS"
|
|
echo "Files Affected: 📄 $FILES_WITH_ISSUES"
|
|
echo ""
|
|
|
|
# Top 5 warning types
|
|
echo "Top Warning Types:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
grep -oP '@typescript-eslint/[a-z-]+|react-hooks/[a-z-]+|react-refresh/[a-z-]+|no-[a-z-]+' /tmp/quick-lint.log 2>/dev/null | \
|
|
sort | uniq -c | sort -rn | head -5 | \
|
|
awk '{printf " %3d %s\n", $1, $2}'
|
|
echo ""
|
|
|
|
# TypeScript check
|
|
echo "TypeScript Status:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
npx tsc --noEmit > /tmp/quick-tsc.log 2>&1
|
|
TSC_EXIT_CODE=$?
|
|
echo "Compilation: $([ $TSC_EXIT_CODE -eq 0 ] && echo "✅ PASSING" || echo "❌ FAILING")"
|
|
echo ""
|
|
|
|
# Overall verdict
|
|
echo "Overall Status:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
if [ $EXIT_CODE -eq 0 ] && [ $TSC_EXIT_CODE -eq 0 ]; then
|
|
echo "✅ HEALTHY - Ready for CI/CD"
|
|
echo ""
|
|
echo "The $TOTAL_WARNINGS warnings are expected for"
|
|
echo "this JSON-driven architecture and are non-blocking."
|
|
elif [ $EXIT_CODE -eq 0 ] && [ $TSC_EXIT_CODE -ne 0 ]; then
|
|
echo "⚠️ NEEDS ATTENTION - TypeScript errors"
|
|
echo "See: /tmp/quick-tsc.log"
|
|
elif [ $EXIT_CODE -ne 0 ]; then
|
|
echo "❌ ISSUES FOUND - ESLint blocking errors"
|
|
echo "See: /tmp/quick-lint.log"
|
|
fi
|
|
echo ""
|
|
|
|
# Show commands
|
|
echo "Available Commands:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo " npm run lint:check - Check linting"
|
|
echo " npm run lint - Auto-fix issues"
|
|
echo " npx tsc --noEmit - Type check"
|
|
echo " ./procedural-lint-fix.sh - Full analysis"
|
|
echo ""
|