Overview
lighthouserc.json sits at the repository root and web-vitals is a declared dependency consumed by src/services/webVitals.ts (which itself has 7 type errors). @lhci/cli appears in the depcheck ignore list, implying it was once used — but no workflow in .github/workflows/ invokes Lighthouse CI, and @lhci/cli is not in devDependencies. The web target is configured in app.json (web.output: "static") and bundle-size.yml does build a web bundle, so the pieces for a real web performance gate exist but are not connected.
Specifications
Features:
- A Lighthouse CI job running against the exported web bundle
- Budgets in
lighthouserc.json enforced on pull requests
webVitals.ts type errors resolved so field data is actually collected
Tasks:
- Add
@lhci/cli to devDependencies and remove it from the depcheck ignore list
- Add a Lighthouse job that reuses the
expo export --platform web output already produced by bundle-size.yml
- Review and calibrate the assertions in
lighthouserc.json
- Fix the seven type errors in
src/services/webVitals.ts
Impacted Files:
lighthouserc.json
.github/workflows/bundle-size.yml
src/services/webVitals.ts
package.json
Acceptance Criteria
- Lighthouse runs on pull requests against the web export
- Budget violations fail the check
- Web vitals collection type-checks
Overview
lighthouserc.jsonsits at the repository root andweb-vitalsis a declared dependency consumed bysrc/services/webVitals.ts(which itself has 7 type errors).@lhci/cliappears in the depcheck ignore list, implying it was once used — but no workflow in.github/workflows/invokes Lighthouse CI, and@lhci/cliis not indevDependencies. The web target is configured inapp.json(web.output: "static") andbundle-size.ymldoes build a web bundle, so the pieces for a real web performance gate exist but are not connected.Specifications
Features:
lighthouserc.jsonenforced on pull requestswebVitals.tstype errors resolved so field data is actually collectedTasks:
@lhci/clitodevDependenciesand remove it from the depcheck ignore listexpo export --platform weboutput already produced bybundle-size.ymllighthouserc.jsonsrc/services/webVitals.tsImpacted Files:
lighthouserc.json.github/workflows/bundle-size.ymlsrc/services/webVitals.tspackage.jsonAcceptance Criteria