sitespeed.io 21.2.2 → 21.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,6 +77,8 @@ block content
77
77
  th Metric
78
78
  th Value
79
79
  - performanceScore = get(d, 'coach.pageSummary.advice.performance.score')
80
+ tr
81
+ th(colspan='2') Page metrics
80
82
  if performanceScore
81
83
  tr
82
84
  td Performance Score
@@ -96,32 +98,32 @@ block content
96
98
  tr
97
99
  td Requests
98
100
  td #{requests}
99
- - ttfb = get(d, 'browsertime.pageSummary.statistics.timings.pageTimings.backEndTime.median')
101
+ - ttfb = get(d, 'browsertime.pageSummary.statistics.timings.pageTimings.backEndTime.median')
102
+ tr
103
+ th(colspan='2') Timing metrics
100
104
  if ttfb
101
105
  tr
102
106
  td TTFB [median]
103
107
  td #{h.time.ms(ttfb)}
108
+ - firstPaint = get(d, 'browsertime.pageSummary.statistics.timings.firstPaint.median')
109
+ if firstPaint
110
+ tr
111
+ td First Paint [median]
112
+ td #{h.time.ms(firstPaint)}
104
113
  - fullyLoaded = get(d, 'browsertime.pageSummary.statistics.timings.fullyLoaded.median')
105
114
  if fullyLoaded
106
115
  tr
107
116
  td Fully Loaded [median]
108
117
  td #{h.time.ms(fullyLoaded)}
109
- - firstVisualChange = get(d, 'browsertime.pageSummary.statistics.visualMetrics.FirstVisualChange.median')
110
- - firstPaint = get(d, 'browsertime.pageSummary.statistics.timings.firstPaint.median')
111
- if firstVisualChange
112
- tr
113
- td First Visual Change [median]
114
- td #{h.time.ms(firstVisualChange)}
115
- else if firstPaint
116
- tr
117
- td First Paint [median]
118
- td #{h.time.ms(firstPaint)}
119
118
  - fcp = get(d, 'browsertime.pageSummary.statistics.timings.paintTiming["first-contentful-paint"].median')
119
+ - lcp = get(d, 'browsertime.pageSummary.statistics.timings.largestContentfulPaint.renderTime.median')
120
+ if lcp
121
+ tr
122
+ th(colspan='2') Google Web Vitals
120
123
  if fcp
121
124
  tr
122
125
  td First Contentful Paint (FCP) [median]
123
126
  td #{h.time.ms(fcp)}
124
- - lcp = get(d, 'browsertime.pageSummary.statistics.timings.largestContentfulPaint.renderTime.median')
125
127
  if lcp
126
128
  tr
127
129
  td Largest Contentful Paint (LCP) [median]
@@ -143,6 +145,8 @@ block content
143
145
  td #{h.time.ms(mpFID)}
144
146
  - longTasks = get(d, 'browsertime.pageSummary.statistics.cpu.longTasks.tasks.median')
145
147
  if longTasks
148
+ tr
149
+ th(colspan='2') CPU metrics
146
150
  tr
147
151
  td CPU long tasks [median]
148
152
  td #{longTasks}
@@ -151,6 +155,13 @@ block content
151
155
  tr
152
156
  td CPU longest task duration
153
157
  td #{h.time.ms(maxLongTask)}
158
+ - firstVisualChange = get(d, 'browsertime.pageSummary.statistics.visualMetrics.FirstVisualChange.median')
159
+ if firstVisualChange
160
+ tr
161
+ th(colspan='2') Visual Metrics
162
+ tr
163
+ td First Visual Change [median]
164
+ td #{h.time.ms(firstVisualChange)}
154
165
  - speedIndex = get(d, 'browsertime.pageSummary.statistics.visualMetrics.SpeedIndex.median')
155
166
  if speedIndex
156
167
  tr
@@ -171,7 +182,31 @@ block content
171
182
  tr
172
183
  td Last Visual Change [median]
173
184
  td #{h.time.ms(lastVisualChange)}
185
+ - cruxFCP = get(d, 'crux.pageSummary.loadingExperience.ALL.data.record.metrics.first_contentful_paint.percentiles.p75');
186
+ if cruxFCP
187
+ tr
188
+ th(colspan='2') Chrome User Experience Report (CRUX)
189
+ tr
190
+ td First Contentful Paint [p75]
191
+ td #{h.time.ms(cruxFCP)}
192
+ - cruxLCP = get(d, 'crux.pageSummary.loadingExperience.ALL.data.record.metrics.largest_contentful_paint.percentiles.p75');
193
+ if cruxLCP
194
+ tr
195
+ td Largest Contentful Paint (LCP) [p75]
196
+ td #{h.time.ms(cruxLCP)}
197
+ - cruxFID = get(d, 'crux.pageSummary.loadingExperience.ALL.data.record.metrics.first_input_delay.percentiles.p75');
198
+ if cruxFID
199
+ tr
200
+ td First Input Delay (FID) [p75]
201
+ td #{h.time.ms(cruxFID)}
202
+ - cruxCLS = get(d, 'crux.pageSummary.loadingExperience.ALL.data.record.metrics.cumulative_layout_shift.percentiles.p75');
203
+ if cruxCLS || cruxCLS === 0
204
+ tr
205
+ td Cumulative Layout Shift (CLS) [p75]
206
+ td #{Number(cruxCLS).toFixed(2)}
174
207
  if !d.browsertime && d.webpagetest
208
+ tr
209
+ th(colspan='2') WebPageTest
175
210
  tr
176
211
  td Render (first view)
177
212
  td #{d.webpagetest.pageSummary.data.median.firstView.render}
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "21.2.2",
3
+ "version": "21.6.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "21.2.2",
9
+ "version": "21.6.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/storage": "5.8.3",
13
13
  "@tgwf/co2": "0.8.0",
14
14
  "aws-sdk": "2.882.0",
15
15
  "axe-core": "4.3.5",
16
- "browsertime": "14.12.2",
16
+ "browsertime": "14.18.0",
17
17
  "cli-color": "2.0.0",
18
18
  "coach-core": "7.0.0",
19
19
  "concurrent-queue": "7.0.2",
@@ -910,9 +910,9 @@
910
910
  "optional": true
911
911
  },
912
912
  "node_modules/@sitespeed.io/chromedriver": {
913
- "version": "96.0.4664-35",
914
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-96.0.4664-35.tgz",
915
- "integrity": "sha512-XhTaEmG+BNlLdXSuUPkxVAzM+dl4caHjEW76ATL4q9aMqesP3VtZIxK5i4ePnskaJiPhXm2Eg6zNkORLYP8/ag==",
913
+ "version": "97.0.4692-7b",
914
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-97.0.4692-7b.tgz",
915
+ "integrity": "sha512-h2P8Ln/qOu90LA8E89NRmrxWgbIYbm/ri4aRu0m/ItGVWVSwsFlxSRLe+6spBfmxBRtmxgAz2ws6wS6C/Jugkg==",
916
916
  "hasInstallScript": true,
917
917
  "dependencies": {
918
918
  "node-downloader-helper": "1.0.19",
@@ -938,9 +938,9 @@
938
938
  }
939
939
  },
940
940
  "node_modules/@sitespeed.io/geckodriver": {
941
- "version": "0.29.1-2",
942
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.29.1-2.tgz",
943
- "integrity": "sha512-nhjHgRz7itllVC6td8OubQWdsjq7uTK7v/myl4jvUsjypf2qbQpdch4E0clBOOFZf0iUQHcFerQ7o5JnKYAebg==",
941
+ "version": "0.29.1-3",
942
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.29.1-3.tgz",
943
+ "integrity": "sha512-qHYtvH/81lPcgzFQB2qObp9M8bMIrc7O8TWm05SVfiGUKKy4Kku0huoa/IB9e0ksrrRFYtm9GQT6JF+bANZPKA==",
944
944
  "hasInstallScript": true,
945
945
  "dependencies": {
946
946
  "node-downloader-helper": "1.0.18",
@@ -1465,15 +1465,15 @@
1465
1465
  }
1466
1466
  },
1467
1467
  "node_modules/browsertime": {
1468
- "version": "14.12.2",
1469
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.12.2.tgz",
1470
- "integrity": "sha512-y/ouU8ejg6OuxSw4GXVIHLL83vw65/45O5yWaYmj8rtoqaeghBzWsG+KiCtu5zJRH5B1SD+zM5x47hmxNYFvzQ==",
1468
+ "version": "14.18.0",
1469
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.18.0.tgz",
1470
+ "integrity": "sha512-qsM5ymoSxwlTFOoQ/3naMvX1UZrzvy2jz02HCKsjRFBPGLyKy68KPK2bUMHCB+X7AKsFuIKxftoGpThGGx3iUQ==",
1471
1471
  "dependencies": {
1472
1472
  "@cypress/xvfb": "1.2.4",
1473
1473
  "@devicefarmer/adbkit": "2.11.3",
1474
- "@sitespeed.io/chromedriver": "96.0.4664-35",
1474
+ "@sitespeed.io/chromedriver": "97.0.4692-7b",
1475
1475
  "@sitespeed.io/edgedriver": "95.0.1020-30",
1476
- "@sitespeed.io/geckodriver": "0.29.1-2",
1476
+ "@sitespeed.io/geckodriver": "0.29.1-3",
1477
1477
  "@sitespeed.io/throttle": "3.0.0",
1478
1478
  "@sitespeed.io/tracium": "0.3.3",
1479
1479
  "btoa": "1.2.1",
@@ -4856,9 +4856,9 @@
4856
4856
  "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
4857
4857
  },
4858
4858
  "node_modules/minipass": {
4859
- "version": "3.1.5",
4860
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
4861
- "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
4859
+ "version": "3.1.6",
4860
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
4861
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
4862
4862
  "dependencies": {
4863
4863
  "yallist": "^4.0.0"
4864
4864
  },
@@ -8180,9 +8180,9 @@
8180
8180
  }
8181
8181
  },
8182
8182
  "@sitespeed.io/chromedriver": {
8183
- "version": "96.0.4664-35",
8184
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-96.0.4664-35.tgz",
8185
- "integrity": "sha512-XhTaEmG+BNlLdXSuUPkxVAzM+dl4caHjEW76ATL4q9aMqesP3VtZIxK5i4ePnskaJiPhXm2Eg6zNkORLYP8/ag==",
8183
+ "version": "97.0.4692-7b",
8184
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-97.0.4692-7b.tgz",
8185
+ "integrity": "sha512-h2P8Ln/qOu90LA8E89NRmrxWgbIYbm/ri4aRu0m/ItGVWVSwsFlxSRLe+6spBfmxBRtmxgAz2ws6wS6C/Jugkg==",
8186
8186
  "requires": {
8187
8187
  "node-downloader-helper": "1.0.19",
8188
8188
  "node-stream-zip": "1.15.0"
@@ -8205,9 +8205,9 @@
8205
8205
  }
8206
8206
  },
8207
8207
  "@sitespeed.io/geckodriver": {
8208
- "version": "0.29.1-2",
8209
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.29.1-2.tgz",
8210
- "integrity": "sha512-nhjHgRz7itllVC6td8OubQWdsjq7uTK7v/myl4jvUsjypf2qbQpdch4E0clBOOFZf0iUQHcFerQ7o5JnKYAebg==",
8208
+ "version": "0.29.1-3",
8209
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.29.1-3.tgz",
8210
+ "integrity": "sha512-qHYtvH/81lPcgzFQB2qObp9M8bMIrc7O8TWm05SVfiGUKKy4Kku0huoa/IB9e0ksrrRFYtm9GQT6JF+bANZPKA==",
8211
8211
  "requires": {
8212
8212
  "node-downloader-helper": "1.0.18",
8213
8213
  "node-stream-zip": "1.14.0",
@@ -8631,15 +8631,15 @@
8631
8631
  }
8632
8632
  },
8633
8633
  "browsertime": {
8634
- "version": "14.12.2",
8635
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.12.2.tgz",
8636
- "integrity": "sha512-y/ouU8ejg6OuxSw4GXVIHLL83vw65/45O5yWaYmj8rtoqaeghBzWsG+KiCtu5zJRH5B1SD+zM5x47hmxNYFvzQ==",
8634
+ "version": "14.18.0",
8635
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.18.0.tgz",
8636
+ "integrity": "sha512-qsM5ymoSxwlTFOoQ/3naMvX1UZrzvy2jz02HCKsjRFBPGLyKy68KPK2bUMHCB+X7AKsFuIKxftoGpThGGx3iUQ==",
8637
8637
  "requires": {
8638
8638
  "@cypress/xvfb": "1.2.4",
8639
8639
  "@devicefarmer/adbkit": "2.11.3",
8640
- "@sitespeed.io/chromedriver": "96.0.4664-35",
8640
+ "@sitespeed.io/chromedriver": "97.0.4692-7b",
8641
8641
  "@sitespeed.io/edgedriver": "95.0.1020-30",
8642
- "@sitespeed.io/geckodriver": "0.29.1-2",
8642
+ "@sitespeed.io/geckodriver": "0.29.1-3",
8643
8643
  "@sitespeed.io/throttle": "3.0.0",
8644
8644
  "@sitespeed.io/tracium": "0.3.3",
8645
8645
  "btoa": "1.2.1",
@@ -11366,9 +11366,9 @@
11366
11366
  "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
11367
11367
  },
11368
11368
  "minipass": {
11369
- "version": "3.1.5",
11370
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
11371
- "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
11369
+ "version": "3.1.6",
11370
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
11371
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
11372
11372
  "requires": {
11373
11373
  "yallist": "^4.0.0"
11374
11374
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "sitespeed.io": "./bin/sitespeed.js",
5
5
  "sitespeed.io-wpr": "./bin/browsertimeWebPageReplay.js"
6
6
  },
7
- "version": "21.2.2",
7
+ "version": "21.6.0",
8
8
  "description": "Analyze the web performance of your site",
9
9
  "keywords": [
10
10
  "performance",
@@ -74,7 +74,7 @@
74
74
  "@tgwf/co2": "0.8.0",
75
75
  "aws-sdk": "2.882.0",
76
76
  "axe-core": "4.3.5",
77
- "browsertime": "14.12.2",
77
+ "browsertime": "14.18.0",
78
78
  "coach-core": "7.0.0",
79
79
  "cli-color": "2.0.0",
80
80
  "concurrent-queue": "7.0.2",
package/release/feed.js CHANGED
@@ -100,7 +100,8 @@ async function generateFeed() {
100
100
  coach: 'https://www.sitespeed.io/img/logos/coach.png',
101
101
  'chrome-har': '',
102
102
  'chrome-trace': '',
103
- compare: 'https://www.sitespeed.io/img/logos/compare.png'
103
+ compare: 'https://www.sitespeed.io/img/logos/compare.png',
104
+ humble: ''
104
105
  };
105
106
 
106
107
  sortedVersionFiles.forEach(file => {