Performance Smoke Checks
Local performance smoke checks
Use the route performance smoke check against already-running local dev/preview servers or a configured base URL. It is intentionally lightweight: Playwright opens each representative route, reads browser navigation/resource timing, and compares the result to simple budgets. It does not run Lighthouse and does not require a production deployment.
1mise exec -- node tools/scripts/performance-smoke.mjs --list2mise exec -- node tools/scripts/performance-smoke.mjsThe default config is tools/performance-smoke-routes.json. It covers representative routes for:
wwwathttp://localhost:3040docsathttp://localhost:3041blogathttp://localhost:3063
Run a single target or override its base URL:
1mise exec -- node tools/scripts/performance-smoke.mjs --target www2mise exec -- node tools/scripts/performance-smoke.mjs --target www --base-url http://127.0.0.1:3040Useful options:
1mise exec -- node tools/scripts/performance-smoke.mjs --help2mise exec -- node tools/scripts/performance-smoke.mjs --dry-run3mise exec -- node tools/scripts/performance-smoke.mjs --timeout 30000The root package also exposes:
1pnpm perf:smoke2pnpm perf:checkperf:check runs the Cloudflare artifact budget gate first, then the local route smoke check. Use it when both artifact budgets and representative route timing/resource budgets are in scope.
Budget metrics currently supported in route config:
navigationMsresourceCountscriptCounttransferKiBencodedKiB
If a budget fails, the command exits non-zero and prints the route, metric, measured value, and limit. Treat config changes as intentional budget changes.