CLI tool for running Google’s Lighthouse checks
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
dist
lib
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore
.huskyrc
.npmignore
.npmrc
.nvmrc
LICENSE
README.md
commitlint.config.js
example-config.json
package-lock.json
package.json
rollup.config.js

README.md

Lighthouse Keeper

Lighthouse Keeper makes it easier to run specific Lighthouse audits on a set of URLs.

Installation

npm install --save-dev @sum.cumo/lighthouse-keeper

Google Chrome

You need a Chrome installation in order to be able to use Lighthouse.

Usage

With JSON Config File

lighthouse-keeper --config path/to/config.json

Options

These are the possible options for the configuration file:

Option Description Default
urls array of URLs to scan []
extendedInfo display extended info of the audit false by default. If the audit is not satisfied extendInfo turns true
allAudits indicates if all audits should be evaluated false
onlyAudits array of audit keys to evaluate (see below) []
scores object of minimum scores per category (see below) to obtain {}

Example

{
  "urls": [
    "https://www.example.com/"
  ],
  "scores": {
    "performance": 90,
    "accessibility": 90,
    "best-practices": 90,
    "seo": 80
  },
  "onlyAudits": [
    "performance",
    "accessibility",
    "best-practices",
    "seo"
  ],
  "skipAudits": [
    "byte-efficiency/uses-responsive-images",
    "byte-efficiency/uses-webp-images",
    "seo/meta-description"
  ],
  "extendedInfo": true
}

(Reasoning behind this sample config.)

Without Config File

lighthouse-keeper --url https://www.example.com --audits accesskeys,uses-http2 --scores seo:90,best-practices:10

These are the possible options for the CLI:

Option Description Mandatory
url the URL to scan yes
audits list of audits that should be evaluated (see below) no
scores list of minimum scores per category to obtain (see below) no
showaudits only show the available audits no

List entries must be separated by comma.

Categories

Category ID Description
accessibility These checks highlight opportunities to improve the accessibility of your web app. Only a subset of accessibility issues can be automatically detected so manual testing is also encouraged.
best-practices We’ve compiled some recommendations for modernizing your web app and avoiding performance pitfalls.
performance These encapsulate your web app’s current performance and opportunities to improve it.
pwa These checks validate the aspects of a Progressive Web App, as specified by the baseline PWA Checklist.
seo These checks ensure that your page is optimized for search engine results ranking. There are additional factors Lighthouse does not check that may affect your search ranking. Learn more.

Audits

If you want to see a list of all available audits, run

lighthouse-keeper --url https://www.example.com/ --showaudits

The url is actually irrelevant for the list, but needed for running Lighthouse to parse the response.

Please have in mind that there are audits like screenshot-thumbnails which can’t be validated. These audits are marked with a in the audits list and with (?) in the result.

License

Copyright 2018 sum.cumo GmbH

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.