Spaces:
Running
Running
| echo "===================================" | |
| echo "Frontend Bundle Size Analysis" | |
| echo "===================================" | |
| echo "" | |
| cd "$(dirname "$0")/dist" || exit 1 | |
| echo "π¦ Total Distribution Size:" | |
| du -sh . | awk '{print " " $1}' | |
| echo "" | |
| echo "π JavaScript Bundles:" | |
| echo " (excluding static files)" | |
| TOTAL_SIZE=$(find . -name "*.js" ! -name "tailwind.js" ! -name "background.js" -type f | xargs du -ck | tail -1 | awk '{print $1}') | |
| TOTAL_MB=$(echo "scale=2; $TOTAL_SIZE / 1024" | bc) | |
| echo " Total: ${TOTAL_MB} MB" | |
| echo "" | |
| echo "π Top 10 Largest Files:" | |
| find . -name "*.js" ! -name "tailwind.js" ! -name "background.js" -type f -exec du -h {} + | sort -rh | head -10 | awk '{printf " %-8s %s\n", $1, $2}' | |
| echo "" | |
| echo "π Breakdown by Category:" | |
| echo "" | |
| echo " Carbon AI:" | |
| CARBON_AI=$(find . -name "carbon-ai*.js" -type f | xargs du -ck 2>/dev/null | tail -1 | awk '{print $1}') | |
| CARBON_AI_MB=$(echo "scale=2; $CARBON_AI / 1024" | bc) | |
| CARBON_AI_COUNT=$(find . -name "carbon-ai*.js" -type f | wc -l | tr -d ' ') | |
| echo " ${CARBON_AI_MB} MB across ${CARBON_AI_COUNT} chunks" | |
| echo " Carbon Icons:" | |
| CARBON_ICONS=$(find . -name "carbon-icons*.js" -type f | xargs du -ck 2>/dev/null | tail -1 | awk '{print $1}') | |
| CARBON_ICONS_KB=$(echo "scale=0; $CARBON_ICONS" | bc) | |
| CARBON_ICONS_COUNT=$(find . -name "carbon-icons*.js" -type f | wc -l | tr -d ' ') | |
| echo " ${CARBON_ICONS_KB} KB across ${CARBON_ICONS_COUNT} chunks" | |
| echo " React Vendor:" | |
| REACT=$(find . -name "react-vendor*.js" -type f | xargs du -ck 2>/dev/null | tail -1 | awk '{print $1}') | |
| REACT_KB=$(echo "scale=0; $REACT" | bc) | |
| echo " ${REACT_KB} KB" | |
| echo " Other Vendors:" | |
| VENDORS=$(find . -name "vendors-*.js" -type f | xargs du -ck 2>/dev/null | tail -1 | awk '{print $1}') | |
| VENDORS_MB=$(echo "scale=2; $VENDORS / 1024" | bc) | |
| VENDORS_COUNT=$(find . -name "vendors-*.js" -type f | wc -l | tr -d ' ') | |
| echo " ${VENDORS_MB} MB across ${VENDORS_COUNT} chunks" | |
| echo " Main App:" | |
| MAIN=$(find . -name "main-*.js" -type f | xargs du -ck 2>/dev/null | tail -1 | awk '{print $1}') | |
| MAIN_KB=$(echo "scale=0; $MAIN" | bc) | |
| MAIN_COUNT=$(find . -name "main-*.js" -type f | wc -l | tr -d ' ') | |
| echo " ${MAIN_KB} KB across ${MAIN_COUNT} chunks" | |
| echo "" | |
| echo "===================================" | |