67 lines
1.6 KiB
Bash
Executable File
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}" |