{"repo":"jantimon/web-performance-debugger","free":true,"listed":false,"github":"https://github.com/jantimon/web-performance-debugger","clone":"git clone https://github.com/jantimon/web-performance-debugger.git","description":"Drive Chrome or Firefox (Puppeteer), or profile Node in-process, to attribute layout, style, and paint work, rendering counts, CPU self-time, and allocation back to source lines, with isolated timing and CI gating","language":"TypeScript","stars":31,"topics":["ci","cpu-profiling","firefox","inp","layout-thrashing","performance","puppeteer","ssr","web-vitals","forced-reflow"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"@jantimon/web-performance-debugger wpd measures where a page's time goes and names the source line responsible. Every number says how it was measured and how far to trust it. It drives real Chrome or Firefox (or pure Node) and attributes layout, paint, style, and invalidation work — plus CPU self-time — back to the source line that caused it . It finds and investigates ; it does not grade, rank, or recommend. So it is not Lighthouse and not a website-comparison tool: it hands you exact, measurement-tagged numbers and the JSON to act on them, and the judgment stays with you. It decomposes one measured span into slices that tile it exactly: Σ slices + idle = wall , exactly. No unexplained time: JS is split by owning package, style and layout carry real milliseconds, and the part that was just waiting for the next frame is idle , not a vague \"browser\" bucket that reads like work. Above is a real forced-layout probe, so style + layout dominate; on a typical interaction most of the wall is idle (the frame wait) and wpd says so. Install Needs Node 24+ . Chrome downloads on install (skip it with the CPU-only --target node lane); Firefox is optional. The pnpm caveats and how to point wpd at your own browser are in Requirements. At a glance - Names the line a grade can't: a page score like Lighthouse tells you the page is slow, not which line of your code made it slow. wpd decomposes one real interaction, page load, or SSR render into slices that tile the wall exactly ( Σ slices + idl","default_branch":null,"files":null,"tree":[],"storefront":"/r/jantimon","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jantimon/web-performance-debugger/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}