0.0.25 • Published 4 years ago

@mercuryworks/lighthouse v0.0.25

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
4 years ago

Getting Started

  1. You'll need Node installed locally or on your CI release environment (use the LTS version, currently >= 12.x.x)
  2. You'll need either npm or yarn available
  3. Create a new folder in your Mercury project: Let's call it basic-lighthouse-test
  4. Add a package.json file inside of basic-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"
    }
  5. Add an index.ts file inside of basic-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();
  6. To run locally, add a .env file inside of basic-lighthouse-test (replace APP_URL with your project URL):

    API_KEY=""
    APP_URL="https://www.mercuryworks.com"
  7. To run in a CI release, make sure to have an app setting/environment variable available for APP_URL

  8. With a terminal pointed to the basic-lighthouse-test directory, run with either yarn test or npm 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

  1. Run yarn build
  2. Login to npm locally with npm login
  3. Test publishing this package by running npm publish ./build --access public --dry-run
  4. Publish this package by running npm publish ./build --access public
  5. Verify the version updated at https://www.npmjs.com/package/@mercuryworks/lighthouse
0.0.25

4 years ago

0.0.24

4 years ago

0.0.23

4 years ago

0.0.22

4 years ago

0.0.21

4 years ago

0.0.20

4 years ago

0.0.18

4 years ago

0.0.19

4 years ago

0.0.17

4 years ago

0.0.15

4 years ago

0.0.16

4 years ago

0.0.14

4 years ago

0.0.12

4 years ago

0.0.13

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago