logiek/laravel-google-lighthouse

This package provides a wrapper for Google Lighthouse to audit the quality of web pages with Laravel.

1.2.0 2023-08-10 17:27 UTC

This package is auto-updated.

Last update: 2024-04-10 19:03:15 UTC


README

Latest Stable Version Total Downloads License PHP Version Require

This package is based on octoper/lighthouse-php.

This package provides a wrapper for Google Lighthouse to audit the quality of web pages with Laravel.

Installation

You can install the package via Composer:

composer require logiek/laravel-google-lighthouse

The package will automatically register itself. Optionally you can publish the config file with:

php artisan vendor:publish --provider="Logiek\GoogleLighthouse\GoogleLighthouseServiceProvider" --tag="config"

Usage

The following example will perform the default Google Lighthouse audit and store the result in the given path.

use Logiek\GoogleLighthouse\GoogleLighthouse;

(new GoogleLighthouse())
    ->setOutput('report.html')
    ->audit('http://example.com');

Categories

Per default the audit will run all the available categories. To run the audit for a specified list of categories you can specify the categories that the audit should run as shown in the example below, any missing category will be skipped.

The available categories are: performance, pwa, bestPractices, accessibility and seo.

use Logiek\GoogleLighthouse\GoogleLighthouse;

(new GoogleLighthouse())
    ->performance()
    ->pwa()
    ->setOutput('report.html')
    ->audit('http://example.com');

Output

The setOutput method accepts a second argument that can be used to specify the format (based on the configuration). If the format argument is missing then the file extension will be used to determine the output format. If the file extension does not specify an accepted format, an exception will be thrown.

For the example the following code will create two reports example.report.html and example.report.json.

use Logiek\GoogleLighthouse\GoogleLighthouse;

(new GoogleLighthouse())
    ->setOutput('example', ['html', 'json'])
    ->audit('http://example.com');

Options

The setOption method can be used to specify certain options to fine tune Google Lighthouse to your liking.

use Logiek\GoogleLighthouse\GoogleLighthouse;

(new GoogleLighthouse())
    ->setOption('--throttling.cpuSlowdownMultiplier', 4)
    ->setOutput('report.html')
    ->audit('http://example.com');

Changelog

Please see the CHANGELOG for more information about recent changes.

License

This project is open-sourced software licensed under the MIT license.