sitespeed.io 24.2.0 → 24.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
+ ## 24.5.0 - 2022-05-05
4
+ ### Added
5
+ * Add INP and TTFB to the CRUX metrics [#3645](https://github.com/sitespeedio/sitespeed.io/pull/3645).
6
+ * Updated the Chrome USer Experience dashboard to include the new metrics. You can see the dahsboard [here](https://dashboard.sitespeed.io/d/t_bhsNGMk/chrome-user-experience-report) and download the new one from [here](https://github.com/sitespeedio/grafana-bootstrap-docker/blob/main/dashboards/graphite/ChromeUserExperienceReport.json).
7
+
8
+ ### Fixed
9
+ * Bumped Browsertime with a new fix release for the upcoming portable visual metrics script.
10
+ ## 24.4.0 - 2022-05-04
11
+ ### Added
12
+ * Updated to Edge 101 in the Docker container. Updated to latest [Browsertime 16.2.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1620---2022-05-01) with Edgedriver and Chromedriver 101.
13
+ * Updated to Firefox 100 in the Docker container.
14
+
15
+ ### Fixed
16
+ * If `--firstParty` do not match any URL, make sure we still show first vs third party [#3643](https://github.com/sitespeedio/sitespeed.io/pull/3643).
17
+ * Updated to latest NodeJs in the slim container.
18
+
19
+ ## 24.3.0 - 2022-04-27
20
+ ### Added
21
+ * Updated to Chrome 101 in the Docker container [#3641](https://github.com/sitespeedio/sitespeed.io/pull/3641).
22
+
3
23
  ## 24.2.0 - 2022-04-26
4
24
 
5
25
  ### Added
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-100.0-firefox-99.0-edge-100.0-b
1
+ FROM sitespeedio/webbrowsers:chrome-101.0-firefox-100.0-edge-101.0
2
2
 
3
3
  ARG TARGETPLATFORM=linux/amd64
4
4
 
package/Dockerfile-slim CHANGED
@@ -1,4 +1,4 @@
1
- FROM node:16.14.2-bullseye-slim
1
+ FROM node:16.15.0-bullseye-slim
2
2
 
3
3
  ARG TARGETPLATFORM=linux/amd64
4
4
 
package/README.md CHANGED
@@ -20,16 +20,21 @@
20
20
 
21
21
  Before we start telling you all about sitespeed.io you should just try it out:
22
22
 
23
+
24
+ Using NodeJS/npm (you need Chrome, Firefox, Edge or Safari installed or Chrome/Firefox on Android)
25
+
23
26
  ```bash
24
- docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
27
+ npm i -g sitespeed.io && sitespeed.io https://www.sitespeed.io/
25
28
  ```
26
29
 
27
- Or using npm (you need Chrome, Firefox, Edge or Safari installed or Chrome/Firefox on Android)
30
+ Or using Docker:
28
31
 
29
32
  ```bash
30
- npm i -g sitespeed.io && sitespeed.io https://www.sitespeed.io/
33
+ docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/
31
34
  ```
32
35
 
36
+
37
+
33
38
  Ok, now you have tried it, let us tell you more about sitespeed.io. We think of a complete web performance tool as having three key capabilities:
34
39
 
35
40
  - It test web sites using real browsers, simulating real users connectivity and collect important user centric metrics like Speed Index and First Visual Render.
package/lib/cli/cli.js CHANGED
@@ -1454,7 +1454,7 @@ module.exports.parseCommandLine = function parseCommandLine() {
1454
1454
  })
1455
1455
  .option('firstParty', {
1456
1456
  describe:
1457
- 'A regex running against each request and categorize it as first vs third party URL. (ex: ".*sitespeed.*")'
1457
+ 'A regex running against each request and categorize it as first vs third party URL. (ex: ".*sitespeed.*"). If you do not set a regular expression parts of the domain from the tested URL will be used: ".*domain.*" '
1458
1458
  })
1459
1459
  .option('urlAlias', {
1460
1460
  describe:
@@ -14,13 +14,17 @@ const DEFAULT_METRICS_PAGESUMMARY = [
14
14
  'loadingExperience.*.FIRST_CONTENTFUL_PAINT_MS.*',
15
15
  'loadingExperience.*.FIRST_INPUT_DELAY_MS.*',
16
16
  'loadingExperience.*.LARGEST_CONTENTFUL_PAINT_MS.*',
17
- 'loadingExperience.*.CUMULATIVE_LAYOUT_SHIFT_SCORE.*'
17
+ 'loadingExperience.*.CUMULATIVE_LAYOUT_SHIFT_SCORE.*',
18
+ 'loadingExperience.*.TIME_TO_FIRST_BYTE_MS.*',
19
+ 'loadingExperience.*.INTERACTION_TO_NEXT_PAINT_MS.*'
18
20
  ];
19
21
  const DEFAULT_METRICS_SUMMARY = [
20
22
  'originLoadingExperience.*.FIRST_CONTENTFUL_PAINT_MS.*',
21
23
  'originLoadingExperience.*.FIRST_INPUT_DELAY_MS.*',
22
24
  'originLoadingExperience.*.LARGEST_CONTENTFUL_PAINT_MS.*',
23
- 'originLoadingExperience.*.CUMULATIVE_LAYOUT_SHIFT_SCORE.*'
25
+ 'originLoadingExperience.*.CUMULATIVE_LAYOUT_SHIFT_SCORE.*',
26
+ 'originLoadingExperience.*.TIME_TO_FIRST_BYTE_MS.*',
27
+ 'originLoadingExperience.*.INTERACTION_TO_NEXT_PAINT_MS.*'
24
28
  ];
25
29
 
26
30
  function wait(ms) {
@@ -11,7 +11,7 @@ mixin sizeCell(title, size)
11
11
  td.number(data-title=title, data-value= size)= h.size.format(size)
12
12
 
13
13
  - const crux = pageInfo.data.crux.pageSummary;
14
- - const metrics = {first_contentful_paint:'First Contentful Paint (FCP)', largest_contentful_paint: 'Largest Contentful Paint (LCP)', first_input_delay:'First Input Delay (FID)', cumulative_layout_shift: 'Cumulative Layout Shift (CLS)'};
14
+ - const metrics = {first_contentful_paint:'First Contentful Paint (FCP)', largest_contentful_paint: 'Largest Contentful Paint (LCP)', first_input_delay:'First Input Delay (FID)', cumulative_layout_shift: 'Cumulative Layout Shift (CLS)',experimental_interaction_to_next_paint: 'Interaction to next paint (INP)', experimental_time_to_first_byte: 'Time to first byte (TTFB)'};
15
15
  - const experiences = ['loadingExperience','originLoadingExperience'];
16
16
 
17
17
  small
@@ -63,6 +63,10 @@ each experience in experiences
63
63
 
64
64
  - let CLSs = [Number(get(crux, `${cruxus}.cumulative_layout_shift.histogram[0].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.cumulative_layout_shift.histogram[1].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.cumulative_layout_shift.histogram[2].density`, 0)*100).toFixed(2)];
65
65
 
66
+ - let TTFBs = [Number(get(crux, `${cruxus}.experimental_time_to_first_byte.histogram[0].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.experimental_time_to_first_byte.histogram[1].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.experimental_time_to_first_byte.histogram[2].density`, 0)*100).toFixed(2)];
67
+
68
+ - let ITNPs = [Number(get(crux, `${cruxus}.experimental_interaction_to_next_paint.histogram[0].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.experimental_interaction_to_next_paint.histogram[1].density`, 0) * 100).toFixed(2), Number(get(crux, `${cruxus}.experimental_interaction_to_next_paint.histogram[2].density`, 0)*100).toFixed(2)];
69
+
66
70
  script(type='text/javascript').
67
71
  document.addEventListener("DOMContentLoaded", function() {
68
72
 
@@ -86,6 +90,8 @@ each experience in experiences
86
90
  drawPie('#chartLCP#{experience + formFactor}', [#{LCPs}], ['Fast: #{LCPs[0]}%', 'Moderate #{LCPs[1]}%', 'Slow: #{LCPs[2]}%']);
87
91
  drawPie('#chartFID#{experience + formFactor}', [#{FIDs}], ['Fast: #{FIDs[0]}%', 'Moderate #{FIDs[1]}%', 'Slow: #{FIDs[2]}%']);
88
92
  drawPie('#chartCLS#{experience + formFactor}', [#{CLSs}], ['Good: #{CLSs[0]}%', 'Need improvement: #{CLSs[1]}%', 'Poor: #{CLSs[2]}%']);
93
+ drawPie('#chartTTFB#{experience + formFactor}', [#{TTFBs}], ['Good: #{TTFBs[0]}%', 'Need improvement: #{TTFBs[1]}%', 'Poor: #{TTFBs[2]}%']);
94
+ drawPie('#chartITNP#{experience + formFactor}', [#{ITNPs}], ['Good: #{ITNPs[0]}%', 'Need improvement: #{ITNPs[1]}%', 'Poor: #{ITNPs[2]}%']);
89
95
 
90
96
 
91
97
  });
@@ -95,7 +101,6 @@ each experience in experiences
95
101
  th #{metrics['first_contentful_paint']}
96
102
  th #{metrics['largest_contentful_paint']}
97
103
  th #{metrics['first_input_delay']}
98
- th #{metrics['cumulative_layout_shift']}
99
104
  tr
100
105
  td(data-title=metrics['first_contentful_paint'])
101
106
  .ct-chart(id='chartFCP' + experience + formFactor)
@@ -103,5 +108,14 @@ each experience in experiences
103
108
  .ct-chart(id='chartLCP' + experience + formFactor)
104
109
  td(data-title=metrics['first_input_delay'])
105
110
  .ct-chart(id='chartFID' + experience + formFactor)
111
+ tr
112
+ th #{metrics['cumulative_layout_shift']}
113
+ th #{metrics['experimental_interaction_to_next_paint']}
114
+ th #{metrics['experimental_time_to_first_byte']}
115
+ tr
106
116
  td(data-title=metrics['cumulative_layout_shift'])
107
- .ct-chart(id='chartCLS' + experience + formFactor)
117
+ .ct-chart(id='chartCLS' + experience + formFactor)
118
+ td(data-title=metrics['experimental_interaction_to_next_paint'])
119
+ .ct-chart(id='chartITNP' + experience + formFactor)
120
+ td(data-title=metrics['experimental_time_to_first_byte'])
121
+ .ct-chart(id='chartTTFB' + experience + formFactor)
@@ -46,6 +46,35 @@ module.exports = function (cruxResult) {
46
46
  .density
47
47
  };
48
48
  }
49
+
50
+ if (cruxResult.record.metrics.experimental_interaction_to_next_paint) {
51
+ result.INTERACTION_TO_NEXT_PAINT_MS = {
52
+ p75: cruxResult.record.metrics.experimental_interaction_to_next_paint
53
+ .percentiles.p75,
54
+ fast: cruxResult.record.metrics.experimental_interaction_to_next_paint
55
+ .histogram[0].density,
56
+ moderate:
57
+ cruxResult.record.metrics.experimental_interaction_to_next_paint
58
+ .histogram[1].density,
59
+ slow: cruxResult.record.metrics.experimental_interaction_to_next_paint
60
+ .histogram[2].density
61
+ };
62
+ }
63
+
64
+ if (cruxResult.record.metrics.experimental_time_to_first_byte) {
65
+ result.TIME_TO_FIRST_BYTE_MS = {
66
+ p75: cruxResult.record.metrics.experimental_time_to_first_byte.percentiles
67
+ .p75,
68
+ fast: cruxResult.record.metrics.experimental_time_to_first_byte
69
+ .histogram[0].density,
70
+ moderate:
71
+ cruxResult.record.metrics.experimental_time_to_first_byte.histogram[1]
72
+ .density,
73
+ slow: cruxResult.record.metrics.experimental_time_to_first_byte
74
+ .histogram[2].density
75
+ };
76
+ }
77
+
49
78
  result.data = cruxResult;
50
79
  return result;
51
80
  };
@@ -14,7 +14,7 @@ small
14
14
  if pagexray.cookieNamesThirdParties.length > 0
15
15
  a(href='#third-party-cookies') Cookies |
16
16
  |  | 
17
- if pagexray.firstParty.requests
17
+ if pagexray.firstParty.requests || options.firstParty
18
18
  a(href='#first-vs-third') First vs third
19
19
  |  | 
20
20
  a#third-party
@@ -87,5 +87,5 @@ if thirdparty.possibileMissedThirdPartyDomains && thirdparty.possibileMissedThi
87
87
 
88
88
  include ./thirdPartyCookies.pug
89
89
 
90
- if pagexray.firstParty.requests
90
+ if pagexray.firstParty.requests || options.firstParty
91
91
  include ./firstParty.pug
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "24.2.0",
3
+ "version": "24.5.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "24.2.0",
9
+ "version": "24.5.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/storage": "5.19.3",
13
13
  "@tgwf/co2": "0.8.0",
14
14
  "aws-sdk": "2.1121.0",
15
15
  "axe-core": "4.4.1",
16
- "browsertime": "16.1.0",
16
+ "browsertime": "16.2.1",
17
17
  "cli-color": "2.0.2",
18
18
  "coach-core": "7.1.1",
19
19
  "concurrent-queue": "7.0.2",
@@ -886,64 +886,36 @@
886
886
  }
887
887
  },
888
888
  "node_modules/@sitespeed.io/chromedriver": {
889
- "version": "100.0.4896-20",
890
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-100.0.4896-20.tgz",
891
- "integrity": "sha512-+x4CiRRBbbSm/Bcl4KXj7Zg/TFy0x7bAQTrS7ZkqU9KmgqhMYvPXjToY+zOgjdYggfu7pbelaNIjmK7zHlWQxg==",
889
+ "version": "101.0.4951-15",
890
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-101.0.4951-15.tgz",
891
+ "integrity": "sha512-x5rhmXa4El5gDIGcdgADrcU8yo9Iah2wlufFzNQ6NQ0fWhPxNPPblsQhXc9EKZG36XqRaxmd65io6Gi9tiLy8g==",
892
892
  "hasInstallScript": true,
893
893
  "dependencies": {
894
- "node-downloader-helper": "2.1.0",
894
+ "node-downloader-helper": "2.1.1",
895
895
  "node-stream-zip": "1.15.0"
896
896
  }
897
897
  },
898
898
  "node_modules/@sitespeed.io/edgedriver": {
899
- "version": "100.0.1185-29",
900
- "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-100.0.1185-29.tgz",
901
- "integrity": "sha512-vqOVE14qTgINA9hWDhVl4M7pKwMnP71FUofaIaHMx2H2x/VHhlJ/b4EqfIxSYghoFs/vZYDmMwawiQoNSAnPJg==",
899
+ "version": "101.0.1210-32",
900
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-101.0.1210-32.tgz",
901
+ "integrity": "sha512-sCyCPjAqMa+4m4H8jUjrvheRcy8xXKSZUQeI38jfa0vh84h3wVhwqWP5s5xg8RpJhLPT6Bat2fDIyJFtkBNRbA==",
902
902
  "hasInstallScript": true,
903
903
  "dependencies": {
904
- "node-downloader-helper": "1.0.18",
904
+ "node-downloader-helper": "2.1.1",
905
905
  "node-stream-zip": "1.15.0"
906
906
  }
907
907
  },
908
- "node_modules/@sitespeed.io/edgedriver/node_modules/node-downloader-helper": {
909
- "version": "1.0.18",
910
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-1.0.18.tgz",
911
- "integrity": "sha512-C7hxYz/yg4d8DFVC6c4fMIOI7jywbpQHOznkax/74F8NcC8wSOLO+UxNMcwds/5wEL8W+RPXT9C389w3bDOMxw==",
912
- "bin": {
913
- "ndh": "bin/ndh"
914
- }
915
- },
916
908
  "node_modules/@sitespeed.io/geckodriver": {
917
- "version": "0.30.0",
918
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.30.0.tgz",
919
- "integrity": "sha512-UT/A1XXQkN0tXHw9ibVLLrhP45OKPfW/d2zIOjIPiQ/Hk/7L7BvtOcBZpjH4GBMqIoEADRd8U7l8i6U6NUFeOw==",
909
+ "version": "0.31.0",
910
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.31.0.tgz",
911
+ "integrity": "sha512-VvYDDIIrQh5x2mxPljwYYD9XP8/MaWjyi4LnOt1TzkORsw21cLDwhXmWkPqY/vLDQKTTfBmHfSK477ehcBUROQ==",
920
912
  "hasInstallScript": true,
921
913
  "dependencies": {
922
- "node-downloader-helper": "1.0.18",
923
- "node-stream-zip": "1.14.0",
914
+ "node-downloader-helper": "2.1.1",
915
+ "node-stream-zip": "1.15.0",
924
916
  "tar": "6.1.11"
925
917
  }
926
918
  },
927
- "node_modules/@sitespeed.io/geckodriver/node_modules/node-downloader-helper": {
928
- "version": "1.0.18",
929
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-1.0.18.tgz",
930
- "integrity": "sha512-C7hxYz/yg4d8DFVC6c4fMIOI7jywbpQHOznkax/74F8NcC8wSOLO+UxNMcwds/5wEL8W+RPXT9C389w3bDOMxw==",
931
- "bin": {
932
- "ndh": "bin/ndh"
933
- }
934
- },
935
- "node_modules/@sitespeed.io/geckodriver/node_modules/node-stream-zip": {
936
- "version": "1.14.0",
937
- "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.14.0.tgz",
938
- "integrity": "sha512-SKXyiBy9DBemsPHf/piHT00Y+iPK+zwru1G6+8UdOBzITnmmPMHYBMV6M1znyzyhDhUFQW0HEmbGiPqtp51M6Q==",
939
- "engines": {
940
- "node": ">=0.10.0"
941
- },
942
- "funding": {
943
- "type": "github",
944
- "url": "https://github.com/sponsors/antelle"
945
- }
946
- },
947
919
  "node_modules/@sitespeed.io/throttle": {
948
920
  "version": "3.1.1",
949
921
  "resolved": "https://registry.npmjs.org/@sitespeed.io/throttle/-/throttle-3.1.1.tgz",
@@ -1709,15 +1681,15 @@
1709
1681
  }
1710
1682
  },
1711
1683
  "node_modules/browsertime": {
1712
- "version": "16.1.0",
1713
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-16.1.0.tgz",
1714
- "integrity": "sha512-lDm+iRiKXG3xxz4rgGE8HJrM1HPwYoET2t/EAvTXMSll7Gp5fQ45mO17/NA8YfE+jqLdbF0zMofbxDtawUJ0Bg==",
1684
+ "version": "16.2.1",
1685
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-16.2.1.tgz",
1686
+ "integrity": "sha512-5WQMbePZ1HWlyW4JzxHqHrz73+VkM0ehvvQFaKSh2If9zqDvoge4NXp2xFTTipdqqFxZkTklby2A13u4kd/qGQ==",
1715
1687
  "dependencies": {
1716
1688
  "@cypress/xvfb": "1.2.4",
1717
1689
  "@devicefarmer/adbkit": "2.11.3",
1718
- "@sitespeed.io/chromedriver": "100.0.4896-20",
1719
- "@sitespeed.io/edgedriver": "100.0.1185-29",
1720
- "@sitespeed.io/geckodriver": "0.30.0",
1690
+ "@sitespeed.io/chromedriver": "101.0.4951-15",
1691
+ "@sitespeed.io/edgedriver": "101.0.1210-32",
1692
+ "@sitespeed.io/geckodriver": "0.31.0",
1721
1693
  "@sitespeed.io/throttle": "3.1.1",
1722
1694
  "@sitespeed.io/tracium": "0.3.3",
1723
1695
  "btoa": "1.2.1",
@@ -1736,7 +1708,7 @@
1736
1708
  "lodash.merge": "4.6.2",
1737
1709
  "lodash.pick": "4.4.0",
1738
1710
  "lodash.set": "4.3.2",
1739
- "selenium-webdriver": "4.1.1",
1711
+ "selenium-webdriver": "4.1.2",
1740
1712
  "yargs": "17.4.1"
1741
1713
  },
1742
1714
  "bin": {
@@ -5118,9 +5090,9 @@
5118
5090
  }
5119
5091
  },
5120
5092
  "node_modules/jszip": {
5121
- "version": "3.7.1",
5122
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
5123
- "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
5093
+ "version": "3.9.1",
5094
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.9.1.tgz",
5095
+ "integrity": "sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw==",
5124
5096
  "dependencies": {
5125
5097
  "lie": "~3.3.0",
5126
5098
  "pako": "~1.0.2",
@@ -5810,9 +5782,9 @@
5810
5782
  "optional": true
5811
5783
  },
5812
5784
  "node_modules/node-downloader-helper": {
5813
- "version": "2.1.0",
5814
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.0.tgz",
5815
- "integrity": "sha512-MIUI6kEpSzujmys7AkUK+GzfPywrIeNhQIPe1pQgRxM7RYi4/31KZgC7NQOIjXPVQSXM1mVHcY9psvSQVRt1Kg==",
5785
+ "version": "2.1.1",
5786
+ "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.1.tgz",
5787
+ "integrity": "sha512-ouk8MGmJj1gYymbJwi1L8Mr6PdyheJLwfsmyx0KtsvyJ+7Fpf0kBBzM8Gmx8Mt/JBfRWP1PQm6dAGV6x7eNedw==",
5816
5788
  "bin": {
5817
5789
  "ndh": "bin/ndh"
5818
5790
  },
@@ -7173,9 +7145,9 @@
7173
7145
  "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
7174
7146
  },
7175
7147
  "node_modules/selenium-webdriver": {
7176
- "version": "4.1.1",
7177
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz",
7178
- "integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==",
7148
+ "version": "4.1.2",
7149
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz",
7150
+ "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==",
7179
7151
  "dependencies": {
7180
7152
  "jszip": "^3.6.0",
7181
7153
  "tmp": "^0.2.1",
@@ -9175,50 +9147,31 @@
9175
9147
  }
9176
9148
  },
9177
9149
  "@sitespeed.io/chromedriver": {
9178
- "version": "100.0.4896-20",
9179
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-100.0.4896-20.tgz",
9180
- "integrity": "sha512-+x4CiRRBbbSm/Bcl4KXj7Zg/TFy0x7bAQTrS7ZkqU9KmgqhMYvPXjToY+zOgjdYggfu7pbelaNIjmK7zHlWQxg==",
9150
+ "version": "101.0.4951-15",
9151
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-101.0.4951-15.tgz",
9152
+ "integrity": "sha512-x5rhmXa4El5gDIGcdgADrcU8yo9Iah2wlufFzNQ6NQ0fWhPxNPPblsQhXc9EKZG36XqRaxmd65io6Gi9tiLy8g==",
9181
9153
  "requires": {
9182
- "node-downloader-helper": "2.1.0",
9154
+ "node-downloader-helper": "2.1.1",
9183
9155
  "node-stream-zip": "1.15.0"
9184
9156
  }
9185
9157
  },
9186
9158
  "@sitespeed.io/edgedriver": {
9187
- "version": "100.0.1185-29",
9188
- "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-100.0.1185-29.tgz",
9189
- "integrity": "sha512-vqOVE14qTgINA9hWDhVl4M7pKwMnP71FUofaIaHMx2H2x/VHhlJ/b4EqfIxSYghoFs/vZYDmMwawiQoNSAnPJg==",
9159
+ "version": "101.0.1210-32",
9160
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-101.0.1210-32.tgz",
9161
+ "integrity": "sha512-sCyCPjAqMa+4m4H8jUjrvheRcy8xXKSZUQeI38jfa0vh84h3wVhwqWP5s5xg8RpJhLPT6Bat2fDIyJFtkBNRbA==",
9190
9162
  "requires": {
9191
- "node-downloader-helper": "1.0.18",
9163
+ "node-downloader-helper": "2.1.1",
9192
9164
  "node-stream-zip": "1.15.0"
9193
- },
9194
- "dependencies": {
9195
- "node-downloader-helper": {
9196
- "version": "1.0.18",
9197
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-1.0.18.tgz",
9198
- "integrity": "sha512-C7hxYz/yg4d8DFVC6c4fMIOI7jywbpQHOznkax/74F8NcC8wSOLO+UxNMcwds/5wEL8W+RPXT9C389w3bDOMxw=="
9199
- }
9200
9165
  }
9201
9166
  },
9202
9167
  "@sitespeed.io/geckodriver": {
9203
- "version": "0.30.0",
9204
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.30.0.tgz",
9205
- "integrity": "sha512-UT/A1XXQkN0tXHw9ibVLLrhP45OKPfW/d2zIOjIPiQ/Hk/7L7BvtOcBZpjH4GBMqIoEADRd8U7l8i6U6NUFeOw==",
9168
+ "version": "0.31.0",
9169
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.31.0.tgz",
9170
+ "integrity": "sha512-VvYDDIIrQh5x2mxPljwYYD9XP8/MaWjyi4LnOt1TzkORsw21cLDwhXmWkPqY/vLDQKTTfBmHfSK477ehcBUROQ==",
9206
9171
  "requires": {
9207
- "node-downloader-helper": "1.0.18",
9208
- "node-stream-zip": "1.14.0",
9172
+ "node-downloader-helper": "2.1.1",
9173
+ "node-stream-zip": "1.15.0",
9209
9174
  "tar": "6.1.11"
9210
- },
9211
- "dependencies": {
9212
- "node-downloader-helper": {
9213
- "version": "1.0.18",
9214
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-1.0.18.tgz",
9215
- "integrity": "sha512-C7hxYz/yg4d8DFVC6c4fMIOI7jywbpQHOznkax/74F8NcC8wSOLO+UxNMcwds/5wEL8W+RPXT9C389w3bDOMxw=="
9216
- },
9217
- "node-stream-zip": {
9218
- "version": "1.14.0",
9219
- "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.14.0.tgz",
9220
- "integrity": "sha512-SKXyiBy9DBemsPHf/piHT00Y+iPK+zwru1G6+8UdOBzITnmmPMHYBMV6M1znyzyhDhUFQW0HEmbGiPqtp51M6Q=="
9221
- }
9222
9175
  }
9223
9176
  },
9224
9177
  "@sitespeed.io/throttle": {
@@ -9808,15 +9761,15 @@
9808
9761
  }
9809
9762
  },
9810
9763
  "browsertime": {
9811
- "version": "16.1.0",
9812
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-16.1.0.tgz",
9813
- "integrity": "sha512-lDm+iRiKXG3xxz4rgGE8HJrM1HPwYoET2t/EAvTXMSll7Gp5fQ45mO17/NA8YfE+jqLdbF0zMofbxDtawUJ0Bg==",
9764
+ "version": "16.2.1",
9765
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-16.2.1.tgz",
9766
+ "integrity": "sha512-5WQMbePZ1HWlyW4JzxHqHrz73+VkM0ehvvQFaKSh2If9zqDvoge4NXp2xFTTipdqqFxZkTklby2A13u4kd/qGQ==",
9814
9767
  "requires": {
9815
9768
  "@cypress/xvfb": "1.2.4",
9816
9769
  "@devicefarmer/adbkit": "2.11.3",
9817
- "@sitespeed.io/chromedriver": "100.0.4896-20",
9818
- "@sitespeed.io/edgedriver": "100.0.1185-29",
9819
- "@sitespeed.io/geckodriver": "0.30.0",
9770
+ "@sitespeed.io/chromedriver": "101.0.4951-15",
9771
+ "@sitespeed.io/edgedriver": "101.0.1210-32",
9772
+ "@sitespeed.io/geckodriver": "0.31.0",
9820
9773
  "@sitespeed.io/throttle": "3.1.1",
9821
9774
  "@sitespeed.io/tracium": "0.3.3",
9822
9775
  "btoa": "1.2.1",
@@ -9836,7 +9789,7 @@
9836
9789
  "lodash.merge": "4.6.2",
9837
9790
  "lodash.pick": "4.4.0",
9838
9791
  "lodash.set": "4.3.2",
9839
- "selenium-webdriver": "4.1.1",
9792
+ "selenium-webdriver": "4.1.2",
9840
9793
  "yargs": "17.4.1"
9841
9794
  }
9842
9795
  },
@@ -12429,9 +12382,9 @@
12429
12382
  }
12430
12383
  },
12431
12384
  "jszip": {
12432
- "version": "3.7.1",
12433
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
12434
- "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
12385
+ "version": "3.9.1",
12386
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.9.1.tgz",
12387
+ "integrity": "sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw==",
12435
12388
  "requires": {
12436
12389
  "lie": "~3.3.0",
12437
12390
  "pako": "~1.0.2",
@@ -12986,9 +12939,9 @@
12986
12939
  "optional": true
12987
12940
  },
12988
12941
  "node-downloader-helper": {
12989
- "version": "2.1.0",
12990
- "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.0.tgz",
12991
- "integrity": "sha512-MIUI6kEpSzujmys7AkUK+GzfPywrIeNhQIPe1pQgRxM7RYi4/31KZgC7NQOIjXPVQSXM1mVHcY9psvSQVRt1Kg=="
12942
+ "version": "2.1.1",
12943
+ "resolved": "https://registry.npmjs.org/node-downloader-helper/-/node-downloader-helper-2.1.1.tgz",
12944
+ "integrity": "sha512-ouk8MGmJj1gYymbJwi1L8Mr6PdyheJLwfsmyx0KtsvyJ+7Fpf0kBBzM8Gmx8Mt/JBfRWP1PQm6dAGV6x7eNedw=="
12992
12945
  },
12993
12946
  "node-fetch": {
12994
12947
  "version": "2.6.7",
@@ -14034,9 +13987,9 @@
14034
13987
  "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
14035
13988
  },
14036
13989
  "selenium-webdriver": {
14037
- "version": "4.1.1",
14038
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz",
14039
- "integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==",
13990
+ "version": "4.1.2",
13991
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz",
13992
+ "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==",
14040
13993
  "requires": {
14041
13994
  "jszip": "^3.6.0",
14042
13995
  "tmp": "^0.2.1",
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": "24.2.0",
7
+ "version": "24.5.0",
8
8
  "description": "Analyze the web performance of your site",
9
9
  "keywords": [
10
10
  "performance",
@@ -80,7 +80,7 @@
80
80
  "@tgwf/co2": "0.8.0",
81
81
  "aws-sdk": "2.1121.0",
82
82
  "axe-core": "4.4.1",
83
- "browsertime": "16.1.0",
83
+ "browsertime": "16.2.1",
84
84
  "coach-core": "7.1.1",
85
85
  "cli-color": "2.0.2",
86
86
  "concurrent-queue": "7.0.2",