Open source · Web performance

Web Performance Budget Gate

Check captured Lighthouse JSON against declared route-level performance budgets before a release. Compare repeated runs and distinguish a completed failure from incomplete evidence without loading a live page.

v1.0.0 · Node.js 22+ · MIT

Browse source and run locally · Check exported page images

Compare two public capture sets

Clone the repository, use Node.js 22 or newer, and run these commands from its root. The captures and budgets are checked-in synthetic examples.

Passing budget

node bin/web-performance-budget-gate.mjs --root examples/pass --budget budget.json --capture capture.json

The passing fixture evaluates three captured runs for one route and one median Largest Contentful Paint budget. It reports pass: one checked metric, zero errors and zero warnings.

Inspect the passing capture

Baseline regression

node bin/web-performance-budget-gate.mjs --root examples/fail --budget budget.json --capture capture.json

The failing fixture evaluates three captured runs and exits 1 with one regression-exceeded error. Its median exceeds the declared baseline tolerance even though it stays under the separate absolute ceiling.

Inspect the failing capture

Monochrome conceptual browser-page panels passing through a measurement threshold frame
Generated concept illustration. The results above come from public synthetic captures, not a measurement of Edilec or a client site.

What the result does and does not prove

The CLI evaluates supplied local budget and Lighthouse JSON capture files. It does not run Lighthouse, fetch a page, prove capture provenance, measure real-user performance or establish search ranking. A missing metric, too few runs or invalid input returns incomplete rather than a clean pass. Choose budgets and capture conditions for your own release workflow.

Read the input contract and limits

Continue the release review

Make performance budgets part of a release review

Discuss a practical capture, budget and review workflow with Edilec. Share only information you are permitted to disclose.

Discuss a performance budget workflow