forked from GoogleChromeLabs/psi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcli.js
More file actions
70 lines (56 loc) · 1.38 KB
/
cli.js
File metadata and controls
70 lines (56 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env node
'use strict';
// Adapted from cli.js in gpagespeed
var insights = require('./index')
, pkg = require('./package.json')
, query = process.argv[2]
, argv = require('minimist')((process.argv.slice(2)))
, opts = {}
;
function printHelp() {
console.log(pkg.description);
console.log('');
console.log('Usage:');
console.log(' $ psi <url> --key=<key>');
console.log('');
console.log('Optional, supply other arguments.');
console.log('See https://developers.google.com/speed/docs/insights/v1/getting_started for description');
console.log(' $ psi <url> --key=<key> --prettyprint=<true> --userIp=<userIp> --locale=<locale> --strategy=<desktop|mobile>');
}
if (!query || process.argv.indexOf('-h') !== -1 || process.argv.indexOf('--help') !== -1) {
printHelp();
return;
}
if (process.argv.indexOf('-v') !== -1 || process.argv.indexOf('--version') !== -1) {
console.log(pkg.version);
return;
}
if (query.indexOf('http') !== -1) {
opts.url = argv._[0];
}
if(!opts.url){
printHelp();
return;
}
if(argv.url){
opts.url = argv.url;
}
if(argv.key){
opts.key = argv.key;
}
if(argv.callback){
opts.callback = argv.callback;
}
if(argv.prettyprint){
opts.prettyprint = argv.prettyprint;
}
if(argv.userIp){
opts.userIp = argv.userIp;
}
if(argv.locale){
opts.locale = argv.locale;
}
if(argv.strategy){
opts.strategy = argv.strategy;
}
insights(opts);