All Projects β†’ codechecks β†’ Lighthouse Keeper

codechecks / Lighthouse Keeper

Licence: mit
Keep an eye on Google Lighthouse score changes directly on GitHub πŸ’‘πŸ‘€

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Lighthouse Keeper

Lighthouse Check Action
GitHub Action for running @GoogleChromeLabs Lighthouse audits with all the bells and whistles πŸ”” Multiple audits, Slack notifications, and more!
Stars: ✭ 175 (+113.41%)
Mutual labels:  lighthouse, performance, accessibility
Pwmetrics
Progressive web metrics at your fingertipz
Stars: ✭ 1,243 (+1415.85%)
Mutual labels:  lighthouse, performance
Lightkeeper
Run Lighthouse tests in Pull Requests for multiple URLs with custom budgets
Stars: ✭ 83 (+1.22%)
Mutual labels:  lighthouse, performance
Gimbal
Web Performance Auditing tooling
Stars: ✭ 99 (+20.73%)
Mutual labels:  lighthouse, performance
Web Launch Checklist
πŸ“‹ A simple website launch checklist to keep track of the most important enrichment possibilities for a website.
Stars: ✭ 214 (+160.98%)
Mutual labels:  performance, accessibility
Lighthouse Monitor
Investigate performance over your whole company with lighthouse
Stars: ✭ 136 (+65.85%)
Mutual labels:  lighthouse, performance
Lighthouse Batch
Run Lighthouse analysis over multiple sites in a single command
Stars: ✭ 83 (+1.22%)
Mutual labels:  lighthouse, performance
Webpack Lighthouse Plugin
A Webpack plugin for Lighthouse
Stars: ✭ 271 (+230.49%)
Mutual labels:  lighthouse, performance
Autowebperf
AutoWebPerf provides a flexible and scalable framework for running web performance audits with arbitrary audit tools including PageSpeedInsights, WebPageTest and more.
Stars: ✭ 199 (+142.68%)
Mutual labels:  lighthouse, performance
playwright-lighthouse
🎭: Playwright Lighthouse Audit
Stars: ✭ 120 (+46.34%)
Mutual labels:  accessibility, lighthouse
Lighthouse Action
πŸ’‘πŸ  GitHub Action for running @GoogleChromeLabs Lighthouse webpage audits
Stars: ✭ 263 (+220.73%)
Mutual labels:  lighthouse, accessibility
Garie
Open source web performance
Stars: ✭ 484 (+490.24%)
Mutual labels:  lighthouse, performance
Handy.js
Handy makes defining and recognizing custom hand shapes in WebXR a snap!
Stars: ✭ 76 (-7.32%)
Mutual labels:  accessibility
Perftools Runner
Google Performance Tools runner using Puppeteer
Stars: ✭ 79 (-3.66%)
Mutual labels:  performance
Cetus
Cetus is a high performance middleware that provides transparent routing between your application and any backend MySQL Servers.
Stars: ✭ 1,199 (+1362.2%)
Mutual labels:  performance
Personal Goals
List of books I've read, projects I've done, videos I've seen, articles I've read or podcasts I've listened to.
Stars: ✭ 75 (-8.54%)
Mutual labels:  performance
Splay Tree
Fast splay-tree data structure
Stars: ✭ 80 (-2.44%)
Mutual labels:  performance
Reactime
Chrome extension for improving and optimizing performance in React applications (Gatsby and Next.js compatible).
Stars: ✭ 1,219 (+1386.59%)
Mutual labels:  performance
Compute
A C++ GPU Computing Library for OpenCL
Stars: ✭ 1,192 (+1353.66%)
Mutual labels:  performance
Graywater
An Android library for decomposing RecyclerView layouts to improve scroll performance.
Stars: ✭ 1,191 (+1352.44%)
Mutual labels:  performance

lighthouse-keeper

Lighthouse keeper

Keep an eye on Google Lighthouse score changes directly on GitHub πŸ’‘πŸ‘€

Discover performance, accessability, SEO problems before they reach production

Build Status Software License codechecks.io

Demo

Example Pull Request

Demo

Features

πŸ‘‰ track changes in performance, accessibility etc. directly in GitHub PR interface
πŸ‘‰ get detailed list of new failed audits
πŸ‘‰ automatically fail PRs if score is too low
πŸ‘‰ works with many different CI providers

Install

npm install --save-dev @codechecks/lighthouse-keeper

Usage

Lighthouse Keeper is built on Codechecks β€” new open source code review automation platform.

To use it, you need to install Codechecks GitHub App on a given repository and copy project secret to your CI environment.

Step by step guide

  1. Install codechecks client and lighthouse-keeper:
npm install --save-dev @codechecks/client @codechecks/lighthouse-keeper
  1. Create codechecks.yml file in a root of your project. It serves as a central configuration for all different codechecks plugins.
checks:
  - name: lighthouse-keeper
    options:
      buildPath: ./build

You might want to adjust the build path. To learn about all configuration options check out API section of this document. We can dry run lighthouse-keeper locally. Just make sure that your build exists and run npx codechecks.

Now we need to make sure that it runs on CI.

  1. Visit app.codechecks.io.
  2. Login with you github account and install Codechecks Github App on a desired repositories. Note: We don't have access to your code.
  3. Find your project on the list and copy secret.
  4. Add new environment variable to your CI configuration CC_SECRET= <COPIED_SECRET>.
  5. Run npx codechecks as part of your CI pipeline after building the app.
  6. That's it! πŸ”₯Create your first PR and let codechecks record initial baseline. With Codechecks you can track build size, visual regressions and much more! Check out other plugins at Awesome Codechecks

API

lighthouseKeeper(options: Options): Promise<void>

options

interface Options {
  url?: string;
  buildPath?: string;
  minScores?: Dictionary<number>;
}
url

optional string
Provide URL that lighthouse will be ran against. url OR buildPath MUST be provided.

buildPath

optional string
Provide relative path to directory with build. It will be served using http-server package and lighthouse will be ran against it. url OR buildPath MUST be provided.

minScore

optional Dictionary of numbers
Provide minimal scores for each metric. Possible keys are:

  • performance
  • accessibility
  • best-practices
  • seo
  • pwa

Contributing

All contributions are welcomed. Read more in CONTRIBUTING.md

Licence

MIT @ codechecks.io

Acknowledges

Thanks go to @andreasonny83 for his support and creating the lighthouse-ci

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].