sitespeed.io 21.2.0 → 21.4.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,8 +1,32 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
+ ## 21.4.0 - 2022-01-12
4
+ ### Added
5
+ * Updated to a new build of WebPageReplay in the Docker container
6
+ * Updated the Ubuntu base image to latest version and latest NodeJS in the Docketr container.
7
+ * Upgraded Browdsertime [#3528](https://github.com/sitespeedio/sitespeed.io/pull/3528):
8
+ * Add support for Humble as connectivity engine for mobile phone testing. Make sure to setup Humble on a Raspberry Pi 4 and the choose engine with --connectivity.engine humble and set the URL to your instance --connectivity.humble.url http://raspberrypi.local:3000. Added in #1691.
9
+ * Upgraded to Chrome 97 and Edge 97 in the Docker container.
10
+ * Upgraded to Chromedriver 97.
11
+ ### Fixed
12
+ * Updated Chromedriver library that automatically picks up the Chromedriver if it's installed on Raspberry Pi.
13
+ ## 21.3.0 - 2022-01-01
14
+ ### Added
15
+ * Updated to [Browsertime 14.13.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14130---2021-12-30) with the following fixes for the user agent:
16
+ * Append text to Chrome/Edge user agent using `--chrome.appendToUserAgent`
17
+ * When you use Chrome/Edge and use a "emulated device" that will use the user agent that you provide using `--userAgent`. Else it will use the user agent from your emulated device setting.
18
+ * You can also use Edge to run emulated mobile with the same settings as Chrome.
19
+ ## 21.2.2 - 2021-12-23
20
+ ### Fixed
21
+ * Fix the error introduced in 21.2.0 for "Include page summary URL in the result JSON"
22
+ [#3525](https://github.com/sitespeedio/sitespeed.io/pull/3525).
23
+
24
+ ## 21.2.1 - 2021-12-22
25
+ ### Fixed
26
+ * It turns out that Firefox 95 doesn't work with the HAR export trigger and the workaround that worked in Firefox 94 seems to not work in 95 see https://github.com/sitespeedio/browsertime/issues/1671#issuecomment-999412035. That's why we are reverting to Firefox 94 in the Docker containers.
3
27
  ## 21.2.0 - 2021-12-22
4
28
  ### Fixed
5
- * The catching of errors in the queue was broken and reported the error x times (x=numbert of plugins). Also when we had an error the result JSON was not stored. [#3522](https://github.com/sitespeedio/sitespeed.io/pull/3522).
29
+ * The catching of errors in the queue was broken and reported the error x times (x=number of plugins). Also when we had an error the result JSON was not stored. [#3522](https://github.com/sitespeedio/sitespeed.io/pull/3522).
6
30
 
7
31
  ### Added
8
32
  * Updated to Firefox 95 and Edge 96 in the Docker container.
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-96.0-firefox-95.0-edge-96.0-dev
1
+ FROM sitespeedio/webbrowsers:chrome-97.0-firefox-94.0-edge-97.0-dev-2
2
2
 
3
3
  ENV SITESPEED_IO_BROWSERTIME__XVFB true
4
4
  ENV SITESPEED_IO_BROWSERTIME__DOCKER true
package/Dockerfile-slim CHANGED
@@ -6,7 +6,7 @@ ENV SITESPEED_IO_BROWSERTIME__BROWSER firefox
6
6
  ENV SITESPEED_IO_BROWSERTIME__VISUAL_METRICS false
7
7
  ENV SITESPEED_IO_BROWSERTIME__HEADLESS true
8
8
 
9
- ENV FIREFOX_VERSION 95.0
9
+ ENV FIREFOX_VERSION 94.0
10
10
 
11
11
  ENV PATH="/usr/local/bin:${PATH}"
12
12
 
package/lib/cli/cli.js CHANGED
@@ -113,6 +113,18 @@ function validateInput(argv) {
113
113
  return 'Error: You have a miss match between number of alias for groups and URLs.';
114
114
  }
115
115
 
116
+ if (
117
+ argv.browsertime.connectivity &&
118
+ argv.browsertime.connectivity.engine === 'humble'
119
+ ) {
120
+ if (
121
+ !argv.browsertime.connectivity.humble ||
122
+ !argv.browsertime.connectivity.humble.url
123
+ ) {
124
+ return 'You need to specify the URL to Humble by using the --browsertime.connectivity.humble.url option.';
125
+ }
126
+ }
127
+
116
128
  if (
117
129
  argv.browsertime.safari &&
118
130
  argv.browsertime.safari.useSimulator &&
@@ -291,12 +303,19 @@ module.exports.parseCommandLine = function parseCommandLine() {
291
303
  .option('browsertime.connectivity.engine', {
292
304
  alias: 'connectivity.engine',
293
305
  default: 'external',
294
- choices: ['external', 'throttle', 'tsproxy'],
306
+ choices: ['external', 'throttle', 'tsproxy', 'humble'],
295
307
  describe:
296
- 'The engine for connectivity. Throttle works on Mac and tc based Linux. Use external if you set the connectivity outside of Browsertime. Use tsproxy if you are using Kubernetes. More documentation at https://www.sitespeed.io/documentation/sitespeed.io/connectivity/.',
308
+ 'The engine for connectivity. Throttle works on Mac and tc based Linux. For mobile you can use Humble if you have a Humble setup. Use external if you set the connectivity outside of Browsertime. Use tsproxy if you are using Kubernetes. More documentation at https://www.sitespeed.io/documentation/sitespeed.io/connectivity/.',
297
309
  type: 'string',
298
310
  group: 'Browser'
299
311
  })
312
+ .option('browsertime.connectivity.humble.url', {
313
+ alias: 'connectivity.humble.url',
314
+ type: 'string',
315
+ describe:
316
+ 'The path to your Humble instance. For example http://raspberrypi:3000',
317
+ group: 'Browser'
318
+ })
300
319
  .option('browsertime.pageCompleteCheck', {
301
320
  alias: 'pageCompleteCheck',
302
321
  describe:
@@ -715,6 +734,12 @@ module.exports.parseCommandLine = function parseCommandLine() {
715
734
  default: true,
716
735
  group: 'Chrome'
717
736
  })
737
+ .option('browsertime.chrome.appendToUserAgent', {
738
+ alias: 'chrome.appendToUserAgent',
739
+ type: 'string',
740
+ describe: 'Append to the user agent.',
741
+ group: 'Chrome'
742
+ })
718
743
  .option('browsertime.chrome.android.package', {
719
744
  alias: 'chrome.android.package',
720
745
  describe:
@@ -100,7 +100,7 @@ module.exports = {
100
100
  // set mobile options
101
101
  if (options.mobile) {
102
102
  btOptions.viewPort = '360x640';
103
- if (btOptions.browser === 'chrome') {
103
+ if (btOptions.browser === 'chrome' || btOptions.browser === 'edge') {
104
104
  const emulation = get(
105
105
  btOptions,
106
106
  'chrome.mobileEmulation.deviceName',
@@ -109,8 +109,9 @@ module.exports = {
109
109
  btOptions.chrome.mobileEmulation = {
110
110
  deviceName: emulation
111
111
  };
112
+ } else {
113
+ btOptions.userAgent = iphone6UserAgent;
112
114
  }
113
- btOptions.userAgent = iphone6UserAgent;
114
115
  }
115
116
  const scriptCategories = await browserScripts.allScriptCategories;
116
117
  let scriptsByCategory = await browserScripts.getScriptsForCategories(
package/lib/sitespeed.js CHANGED
@@ -164,7 +164,7 @@ module.exports = {
164
164
  ? resultUrls.reportSummaryUrl() + '/index.html'
165
165
  : '',
166
166
  pageSummaryUrl:
167
- url && resultUrls.hasBaseUrl()
167
+ url && resultUrls.hasBaseUrl() && !options.multi
168
168
  ? resultUrls.absoluteSummaryPageUrl(url) + 'index.html'
169
169
  : '',
170
170
  localPath: storageManager.getBaseDir()
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "21.2.0",
3
+ "version": "21.4.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "21.2.0",
9
+ "version": "21.4.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.14.1",
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",
@@ -1465,13 +1465,13 @@
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.14.1",
1469
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.14.1.tgz",
1470
+ "integrity": "sha512-nwhFYrWsoAjyd8VVLAgiWLi3wdM2qFOrM6hS/qvD1QNrOj/x22w5wF5jmgk0ni0gAFvl7gL1vWnwLRlGzuk1HQ==",
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
1476
  "@sitespeed.io/geckodriver": "0.29.1-2",
1477
1477
  "@sitespeed.io/throttle": "3.0.0",
@@ -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"
@@ -8631,13 +8631,13 @@
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.14.1",
8635
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-14.14.1.tgz",
8636
+ "integrity": "sha512-nwhFYrWsoAjyd8VVLAgiWLi3wdM2qFOrM6hS/qvD1QNrOj/x22w5wF5jmgk0ni0gAFvl7gL1vWnwLRlGzuk1HQ==",
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
8642
  "@sitespeed.io/geckodriver": "0.29.1-2",
8643
8643
  "@sitespeed.io/throttle": "3.0.0",
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.0",
7
+ "version": "21.4.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.14.1",
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 => {