Giter VIP home page Giter VIP logo

psi's Introduction

psi Dependency Status devDependency Status Build Status

PageSpeed Insights With Reporting

Run mobile and desktop performance tests for your deployed site using Google PageSpeed Insights with tidy reporting for your build process. A sample Gulpfile demonstrating use is also available.

Uses gpagespeed and the reporter in grunt-pagespeed.

Install

$ npm install --save psi

Preview

Usage

When using this module for a production-level build process, registering for an API key from the Google Developer Console is recommended.

var psi = require('psi');

psi({
	// key: '...', optional
	url: 'http://html5rocks.com',
	paths: '',           // optional
	locale: 'en_GB',     // optional
	strategy: 'mobile',  // optional
	threshold: 80        // optional
});

Optionally, a callback is also available with access to the response:

psi(options, function(err, data){
	console.log(data.score);
	console.log(data.pageStats);
});

###Options

####url Type: String

URL of the page for which the PageSpeed Insights API should generate results.

####locale Type: String Default: en_US

The locale that results should be generated in (e.g 'en_GB').

####strategy Type: String Default: desktop

The strategy to use when analyzing the page. Valid values are desktop and mobile.

####threshold Type: Number Default: 70

Threshold score that is needed to pass the pagespeed test

####paths Type: Array

An array of URL paths that are appended to the URL

####key Type: String Default: nokey

Google API Key

Unless Specified defaults to use the free tier on PageSpeed Insights. Good for getting a feel for how well this tool works for you.

CLI support

You will probably want to globally install psi if using as a CLI. This can be done as follows:

npm install -g psi

You can then casually use it with your key:

$ psi http://www.google.com --key 'YOUR_KEY_GOES_HERE'

Similar to gpagespeed, the following optional flags are also supported:

$ psi <url> --key=<key> --prettyprint=<true> --userIp=<userIp> --locale=<locale> --strategy=<desktop|mobile>
$ psi http://www.html5rocks.com --strategy=mobile

Getting PSI into your build

A sample Gulp project using PSI is available.

If you use Grunt, grunt-pagespeed is a task by James Cryer that uses PSI under the hood.

License

Apache 2.0
Copyright 2014 Google Inc

psi's People

Contributors

addyosmani avatar samccone avatar joews avatar sindresorhus avatar

Watchers

James Cloos avatar Ferreira avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.