File size: 1,983 Bytes
98ace4c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
{
"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"
}
]
} |