Initial commit: add .gitignore and README
This commit is contained in:
69
utils/deps-audit.sh
Executable file
69
utils/deps-audit.sh
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Load shared libraries
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/../lib/init.sh"
|
||||
|
||||
# Dependency Audit Script
|
||||
# Audits dependencies across all projects for security vulnerabilities
|
||||
|
||||
set -e
|
||||
|
||||
echo "🔍 Auditing dependencies across all projects..."
|
||||
|
||||
PROJECTS_DIR="."
|
||||
AUDITED=0
|
||||
VULNERABILITIES=0
|
||||
|
||||
audit_project() {
|
||||
local project=$1
|
||||
|
||||
if [ -f "$project/package.json" ]; then
|
||||
cd "$project"
|
||||
|
||||
echo "🔍 Auditing $project..."
|
||||
|
||||
if command -v npm &> /dev/null; then
|
||||
if npm audit --audit-level=moderate 2>/dev/null; then
|
||||
echo " ✅ $project - No vulnerabilities"
|
||||
else
|
||||
echo " ⚠️ $project - Vulnerabilities found"
|
||||
((VULNERABILITIES++))
|
||||
fi
|
||||
((AUDITED++))
|
||||
elif command -v pnpm &> /dev/null; then
|
||||
if pnpm audit --audit-level=moderate 2>/dev/null; then
|
||||
echo " ✅ $project - No vulnerabilities"
|
||||
else
|
||||
echo " ⚠️ $project - Vulnerabilities found"
|
||||
((VULNERABILITIES++))
|
||||
fi
|
||||
((AUDITED++))
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
}
|
||||
|
||||
echo "📋 Auditing projects..."
|
||||
|
||||
# Audit all projects with package.json
|
||||
for dir in */; do
|
||||
if [ -d "$dir" ] && [ "$dir" != "node_modules/" ] && [ "$dir" != ".git/" ] && [ "$dir" != "scripts/" ]; then
|
||||
audit_project "$dir"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "📊 Audit Summary:"
|
||||
echo " ✅ Audited: $AUDITED"
|
||||
echo " ⚠️ With vulnerabilities: $VULNERABILITIES"
|
||||
|
||||
if [ $VULNERABILITIES -gt 0 ]; then
|
||||
echo ""
|
||||
echo "⚠️ Some projects have vulnerabilities. Run 'npm audit fix' or 'pnpm audit fix' in affected projects."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ All dependencies secure!"
|
||||
|
||||
Reference in New Issue
Block a user