{ "timestamp": "2025-11-01T17:18:11.881Z", "files": [ { "path": "public/app.js", "size": 220049, "sizeFormatted": "214.89 KB", "lines": 4830, "characters": 217548, "gzipEstimate": "64.47 KB" }, { "path": "public/styles.css", "size": 79547, "sizeFormatted": "77.68 KB", "lines": 3704, "characters": 78889, "gzipEstimate": "23.3 KB" }, { "path": "public/index.html", "size": 40825, "sizeFormatted": "39.87 KB", "lines": 808, "characters": 40459, "gzipEstimate": "11.96 KB" }, { "path": "public/sw.js", "size": 16666, "sizeFormatted": "16.28 KB", "lines": 433, "characters": 16574, "gzipEstimate": "4.88 KB" }, { "path": "public/manifest.json", "size": 3814, "sizeFormatted": "3.72 KB", "lines": 155, "characters": 3799, "gzipEstimate": "1.12 KB" } ], "totalSize": 360901, "totalSizeFormatted": "352.44 KB", "gzipEstimate": "105.73 KB", "recommendations": [ { "priority": "ALTA", "issue": "Bundle muito grande (>300KB)", "solution": "Implementar code splitting e lazy loading" }, { "priority": "ALTA", "issue": "app.js muito grande (>150KB)", "solution": "Dividir em módulos menores e carregar sob demanda" }, { "priority": "MÉDIA", "issue": "styles.css grande (>50KB)", "solution": "Remover CSS não utilizado com PurgeCSS" }, { "priority": "MÉDIA", "issue": "Sem minificação", "solution": "Implementar minificação com Terser (JS) e cssnano (CSS)" }, { "priority": "ALTA", "issue": "Sem compressão Gzip/Brotli", "solution": "Configurar compressão no servidor" }, { "priority": "BAIXA", "issue": "Otimização de imagens", "solution": "Converter SVGs para WebP quando apropriado" } ] }