Files
davidson-ci/modules/detect.sh
T
pauljd 1aee963ed2
pauljd/davidson-ci: Davidson CI / ai-review (push) Successful in 41s
pauljd/davidson-ci: Davidson CI / quality (push) Successful in 1m43s
Refine Lighthouse findings and project detection
2026-09-12 20:34:44 +01:00

67 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
echo "================================"
echo " Davidson CI - Project Detection"
echo "================================"
PHP_COUNT=$(find . \
-type f \
-name "*.php" \
-not -path "*/vendor/*" \
-not -path "./.davidson-ci/*" \
| wc -l)
JS_COUNT=$(find . \
-type f \
\( -name "*.js" -o -name "*.mjs" -o -name "*.cjs" \) \
-not -path "*/node_modules/*" \
-not -path "./.davidson-ci/*" \
| wc -l)
TS_COUNT=$(find . \
-type f \
\( -name "*.ts" -o -name "*.tsx" \) \
-not -path "*/node_modules/*" \
-not -path "./.davidson-ci/*" \
| wc -l)
CSS_COUNT=$(find . \
-type f \
-name "*.css" \
-not -path "*/node_modules/*" \
-not -path "./.davidson-ci/*" \
| wc -l)
FRONTEND_TYPE="none"
LIGHTHOUSE_ELIGIBLE="false"
if [ -f "./vite.config.js" ] || [ -f "./vite.config.ts" ]; then
FRONTEND_TYPE="vite"
LIGHTHOUSE_ELIGIBLE="true"
elif [ -f "./next.config.js" ] || [ -f "./next.config.mjs" ]; then
FRONTEND_TYPE="next"
LIGHTHOUSE_ELIGIBLE="true"
elif [ -f "./index.html" ]; then
FRONTEND_TYPE="static"
LIGHTHOUSE_ELIGIBLE="true"
fi
echo
echo "Detected:"
echo "PHP: $PHP_COUNT"
echo "JavaScript: $JS_COUNT"
echo "TypeScript: $TS_COUNT"
echo "CSS: $CSS_COUNT"
echo "Frontend: $FRONTEND_TYPE"
echo "Lighthouse: $LIGHTHOUSE_ELIGIBLE"
echo
{
echo "DAVIDSON_PHP_COUNT=$PHP_COUNT"
echo "DAVIDSON_JS_COUNT=$JS_COUNT"
echo "DAVIDSON_TS_COUNT=$TS_COUNT"
echo "DAVIDSON_CSS_COUNT=$CSS_COUNT"
echo "DAVIDSON_FRONTEND_TYPE=$FRONTEND_TYPE"
echo "DAVIDSON_LIGHTHOUSE_ELIGIBLE=$LIGHTHOUSE_ELIGIBLE"
} >> "${GITHUB_ENV:-/dev/null}"