Verificando alterações no Pardonned
Site Astro estático — não há servidor em tempo de execução. Verifique no diretório dist/ em um navegador real.
Build & serve
pnpm build # precisa de data/pardonned.db (veja CLAUDE.md)
cd dist && python3 -m http.server 8123 --bind 127.0.0.1 # execute em segundo plano
Driver
O playwright já é uma devDependency (usado pelo scraper) com Chromium instalado — escreva um .mjs descartável na raiz do repositório (para que o node resolva playwright a partir de node_modules), execute com node e delete após o uso.
Os fluxos principais estão em scripts inline nas páginas (ex.: filtro/ordenação/paginação em /search/ são totalmente client-side, sincronizados com parâmetros da URL via history.replaceState).
Armadilhas
- Stubbing do PostHog: as páginas construídas incorporam o snippet real do PostHog, que faz
window.posthog = ee substitui qualquer stub instalado viaaddInitScript. Para observar chamadas deposthog.capture, aplique o patch após o carregamento:page.evaluate(() => { window.posthog = { ...window.posthog, capture: (n, p) => window.__ev.push({n, p}) } }). - Paginação com janela em /search: apenas as páginas 1, 2, …, última são clicáveis a partir da página 1. Para alcançar uma página mais profunda, carregue-a via
?page=Nna URL ou clique em "Próximo" repetidamente. - Astro dev vs build:
pnpm devtambém funciona, mas o comportamento do estado da URL deve ser verificado no build de produção, pois os scripts inline são o que é realmente enviado.