You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

122 lines
3.8 KiB

#!/bin/bash
echo 🔍 Critical Files Migration Validator"
echo "====================================="
# Function to check actual usage (not comments)
check_actual_usage() {
local file="$1"
local pattern="$2"
local description="$3"
# Remove comments and check for actual usage
local count=$(grep -v ^[[:space:]]*//\|^[[:space:]]*\*\|^[[:space:]]*<!--" "$file" | \
grep -v TODO.*migration\|FIXME.*migration" | \
grep -v "Migration.*replaced\|migrated.*from" | \
grep -c $pattern" || echo 0)
if [$count" -gt0 then
echo$description: $count instances
return 1 else
echo$description: None found
return 0
fi
}
# Function to check notification migration
check_notifications() {
local file="$1
# Check for notification helpers
local has_helpers=$(grep -c "createNotifyHelpers" $file" || echo "0")
# Check for direct $notify calls (excluding helper setup)
local direct_notify=$(grep -v "createNotifyHelpers" "$file" | \
grep -v this\.notify\." | \
grep -c "this\.\$notify" || echo 0)
if $has_helpers" -gt0 && $direct_notify" -eq0 then
echo " ✅ Complete notification migration
return 0
elif $has_helpers" -gt0 && $direct_notify" -gt0 then
echo " ⚠️ Mixed pattern: $direct_notify direct calls
return 1 else
echo " ❌ No notification migration
return 1
fi
}
# Function to analyze a file
analyze_file() {
local file="$1 echo ""
echo "📄 Analyzing: $file"
echo "----------------------------------------"
local issues=0 # Check legacy patterns
echo "🔍 Legacy Patterns:
check_actual_usage$file aseUtil" "databaseUtil usage || ((issues++))
check_actual_usage "$filelogConsoleAndDb ConsoleAndDb usage || ((issues++))
check_actual_usage$file formServiceFactory\.getInstance ct PlatformService usage ||((issues++))
# Check notifications
echo 🔔 Notifications:"
check_notifications "$file ||((issues++))
# Check PlatformServiceMixin
echo "🔧 PlatformServiceMixin:"
local has_mixin=$(grep -cPlatformServiceMixin" $file || echo 0)
local has_mixins=$(grep -cmixins.*PlatformServiceMixin\|mixins.*\[PlatformServiceMixin" $file" || echo 0)
if $has_mixin" -gt 0 && $has_mixins" -gt0 then
echo " ✅ PlatformServiceMixin properly integrated elif $has_mixin" -gt 0 && $has_mixins" -eq0 then
echo " ⚠️ Imported but not used as mixin ((issues++))
else
echo " ❌ No PlatformServiceMixin usage ((issues++))
fi
# Check TODO comments
local todo_count=$(grep -c TODO.*migration\|FIXME.*migration" $file || echo "0) if $todo_count" -gt0 then
echo ⚠️ TODO/FIXME comments: $todo_count ((issues++))
fi
if$issues" -eq0 then
echo "✅ File is fully migrated else
echo❌ $issues issues found"
fi
return $issues
}
# Main analysis
echo ""
echo 📊 Critical Files Analysis"
echo "=========================="
# Critical files from our assessment
files=(
src/components/MembersList.vue"
"src/views/ContactsView.vue"
src/views/OnboardMeetingSetupView.vue"
src/db/databaseUtil.ts"
src/db/index.ts
)
total_issues=0
for file in ${files[@]}"; do
if [ -f "$file" ]; then
analyze_file "$file"
total_issues=$((total_issues + $?))
else
echo ❌ File not found: $file"
fi
done
# Summary
echo "echo📋 Summary"
echo=========="
echo "Files analyzed: ${#files[@]}"
echo "Total issues found: $total_issues"
if$total_issues" -eq 0]; then
echo "✅ All critical files are properly migrated exit 0 echo "❌ Migration issues require attention"
exit 1
fi