Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
Automate running Lighthouse for every commit, viewing the changes, and preventing regressions
JavaScript CSS Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot chore: add dependabot configuration file (#185) Jan 23, 2020
.github misc: add semantic-pull-request validation (#177) Jan 15, 2020
docs docs: fix typos in wizard configuration Feb 3, 2020
packages feat(cli): add extraHeaders and lighthouserc support to wizard (#200) Feb 3, 2020
scripts ci: always run dogfood script on linux Jan 18, 2020
types feat(cli): add extraHeaders and lighthouserc support to wizard (#200) Feb 3, 2020
.browserslistrc refactor: split package into cli and utils Sep 3, 2019
.eslintrc.js chore: add required dependencies Apr 9, 2019
.eslintrc.ui.js tests(server): expose PreactNode type on LHCI namespace Jan 16, 2020
.gitignore refactor(gitignore): ignore node_modules folder Dec 3, 2019
.prettierrc chore: add required dependencies Apr 9, 2019
.travis.yml feat(server): add mysql support (#175) Jan 14, 2020
CONTRIBUTING.md initial commit Apr 8, 2019
LICENSE initial commit Apr 8, 2019
README.md docs(readme): use case examples in readme Dec 13, 2019
babel.config.js refactor: split package into cli and utils Sep 3, 2019
jest.config.js feat(cli): support Windows (#79) Nov 16, 2019
lerna.json chore: move build scripts down to child packages Sep 3, 2019
lighthouserc.json docs: improved common misconceptions in getting started flow Nov 14, 2019
package.json feat(server): add base d3 score graph Jan 23, 2020
tsconfig.json tests(viewer): add e2e viewer test Jan 16, 2020
yarn.lock feat(server): add base d3 score graph Jan 23, 2020

README.md

Lighthouse CI

Overview

Lighthouse CI is a set of commands that make continuously running, asserting, saving, and retrieving Lighthouse results as easy as possible.

The node CLI (npm install -g @lhci/cli) runs Lighthouse, asserts results, and uploads reports.

The node server (npm install @lhci/server) stores results, compares reports, and displays historical results with a dashboard UI.

Use Cases

  • Get a Lighthouse report alongside every PR.
  • Prevent regressions in accessibility, SEO, offline support, and performance best practices.
  • Track performance metrics and Lighthouse scores over time.
  • Set and keep performance budgets on scripts and images.
  • Run Lighthouse many times to reduce variance.
  • Compare two versions of your site to find improvements and regressions of individual resources.

Screenshot of the Lighthouse CI github app UI Screenshot of the Lighthouse CI server dashboard UI Screenshot of the Lighthouse CI github app UI Screenshot of the Lighthouse CI server diff UI

Documentation

Quick Start

.travis.yml

language: node_js
addons:
  chrome: stable
before_install:
  - npm install -g @lhci/cli@0.3.x
script:
  - npm run build # build your site
  - lhci autorun # run lighthouse CI

Related Projects

  • Lighthouse CI GitHub Action - Automatically run Lighthouse CI on every PR with GitHub Actions, no infrastructure required.

  • Lighthouse CI Starter Example - A minimal example repo that you can use as a template when starting from scratch, offers a beginner-friendly quickstart guide using create-react-app.

Community Guides

A collection of unofficial blog posts, tutorials, and guides written by the community on using Lighthouse CI.

NOTE: This is not official documentation. You're encouraged to familiarize yourself with Lighthouse CI and read through Getting Started before continuing.

You can’t perform that action at this time.