diff --git a/scripts/resize-images.mjs b/scripts/resize-images.mjs index 8620d710..e3b3963c 100644 --- a/scripts/resize-images.mjs +++ b/scripts/resize-images.mjs @@ -53,6 +53,10 @@ Opções: --out pasta de saída (default public/) -h, --help mostra esta ajuda +Recortes exibidos pequenos (ex.: hero) pedem --max-width ≈ 2x a maior +exibição: um master 3840px faz o /_next/image decodificar dezenas de MP +por derivado — a causa clássica de imagem lenta na home. + Caminhos podem ser arquivos de imagem ou pastas (varridas recursivamente). O nome do arquivo é mantido; só a extensão muda (foto.jpg -> foto.avif + foto.webp).` @@ -243,6 +247,13 @@ export const runResizeImages = async (options) => { `\n${results.length} arquivo(s) em ${join(outDir, '')} (${formats.join(', ')}, ${quality ? `qualidade ${quality}, ` : ''}${widthSummary}${removeBg ? ', fundo removido' : ''})\n`, ) + const oversized = results.filter(({ dimensions }) => Number(dimensions.split('×')[0]) >= 2000) + if (oversized.length > 0) { + console.warn( + `\naviso: ${oversized.length} saída(s) com 2000px ou mais de largura — o default AVIF (3840) é 2x um desktop de 1920px. Se o destino exibe menor (ex.: recorte de hero), repita com --max-width <2x a maior exibição>.`, + ) + } + if (failures.length > 0) { console.error(`\n${failures.length} falha(s):`) for (const failure of failures) console.error(` - ${failure}`)