@mercuryworks/lighthouse
v0.0.25
Published
Run a Mercury Lighthouse test for a client URL against the PageSpeed Insights API.
Downloads
9
Readme
Getting Started
You'll need Node installed locally or on your CI release environment (use the LTS version, currently >= 12.x.x)
You'll need either npm or yarn available
Create a new folder in your Mercury project: Let's call it
basic-lighthouse-test
Add a
package.json
file inside ofbasic-lighthouse-test
with the following JSON code:{ "dependencies": { "@mercuryworks/lighthouse": "0.0.25", "@types/node": "14.0.27", "dotenv": "8.2.0", "ts-node": "8.10.2", "typescript": "3.9.7" }, "license": "UNLICENSED", "name": "basic-lighthouse-test", "scripts": { "test": "ts-node index.ts" }, "version": "0.0.1" }
Add an
index.ts
file inside ofbasic-lighthouse-test
with the following TypeScript code:import dotenv from 'dotenv'; dotenv.config(); import runMercuryLighthouseReport from '@mercuryworks/lighthouse'; const run = async () => { try { const passed = await runMercuryLighthouseReport({ apiKey: process.env.API_KEY as string, url: process.env.APP_URL as string }); // optional: exit node with an error code if (!passed) { process.exit(1); } else { process.exit(0); } } catch (err) { // runMercuryLighthouseReport always resolves when configured correctly console.error(err); } }; run();
To run locally, add a
.env
file inside ofbasic-lighthouse-test
(replaceAPP_URL
with your project URL):API_KEY="" APP_URL="https://www.mercuryworks.com"
To run in a CI release, make sure to have an app setting/environment variable available for
APP_URL
With a terminal pointed to the
basic-lighthouse-test
directory, run with eitheryarn test
ornpm run test
Options
The runMercuryLighthouseReport
Promise takes the following options:
interface IMercuryLighthouseReportOptions {
accessibilityScoreMin?: number; // default is 90
bestPracticesScoreMin?: number; // default is 90
performanceScoreMin?: number; // default is 90
pwaScoreMin?: number; // default is 90
seoScoreMin?: number; // default is 90
strategyType?: 'mobile' | 'desktop'; // default is 'mobile'
timeout?: number; // default is 120000 (two minutes)
url: string;
}
Publishing
- Run
yarn build
- Login to npm locally with
npm login
- Test publishing this package by running
npm publish ./build --access public --dry-run
- Publish this package by running
npm publish ./build --access public
- Verify the version updated at https://www.npmjs.com/package/@mercuryworks/lighthouse