From 0fa0e8f41b955ba7ce33df9404b803b3cf053f02 Mon Sep 17 00:00:00 2001 From: Francisco Solla Date: Thu, 1 Oct 2026 20:04:26 -0300 Subject: [PATCH] =?UTF-8?q?chore(images):=20avisa=20sa=C3=ADdas=20com=2020?= =?UTF-8?q?00px=20ou=20mais=20no=20gerador=20de=20assets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/resize-images.mjs | 11 +++++++++++ 1 file changed, 11 insertions(+) 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}`)