pagespeeder
v3.0.1
Published
Measure pagespeed with a simple configuration.
Downloads
12
Maintainers
Readme
pagespeeder
Measure pagespeed with a simple configuration.
Install
Requirements
- Chrome / Chromium needs to be installed first
npm i -g pagespeeder
CLI Usage
Options
| Option | Values | Default | Description | | ------------------- | --------------------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | -u--url | https://github.com | none (required) | URL to check the pagespeed for | | -d--device | mobile, desktop | all | Which device you want the check. Default is both. If you select a value only this value will be checked | | -o--output | cli, json | cli | cli will only be displayed in console window while json output will create a json file with the results | | -p--outputPath | ./results/result.json | working directory | The output path which is used to save the result json for every device. Device names are added to the filename automatically. If you just enter a path a default filename is added. | | -r--runs | 3 | 1 | How many runs you want to do against an url. This is used to get precise results instead of an single test. Pagespeed tests can differ between 2 runs. The result will be the average of all runs. |
Examples
To get desktop and mobile results with 1 run
pagespeeder -u https://github.com
Node Module Usage
API
new PageSpeeder(url, device, runs, options);
Options
url = string - "https://google.com";
device = string - "mobile" || "desktop" || null; // null means "mobile && desktop"
runs = number - 1; // Number of runs for one result (average score)
options = {
// Options for the chrome-launcher and chrome flags itselt
launcherOptions: {
port: null,
ignoreHTTPSErrors: true,
headless: true,
args: [
"--no-zygote",
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-gpu",
],
},
// Config to give to lighthouse. Default Config 'lighthouse.conf.js' is used.
lighthouseConfig: lighthouseConfig,
// Just supress some output things. Leave it to false for better usage
silent: false,
// Simple function that will be called before or after the named actions
hooks: {
beforeRunDevice: (device, options) => {},
afterRunDevice: (device, options) => {},
beforeRunIteration: (run, runCount, options) => {},
afterRunInteration: (run, runCount, options) => {},
},
Examples
const PageSpeeder = require("pagespeeder");
const ps = new PageSpeeder("https://github.com", "mobile", 3);
const scores = await ps.run();
// Use the scores array to your needs