sitespeed.io 27.0.0-beta.9 → 27.1.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,18 +1,31 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
- ## 27.0.0 - UNRELEASED
3
+ ## 27.1.0 - 2023-04-05
4
4
 
5
- ### Breaking changes
6
- The project was transitioned to a [pure ESM package](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) in Browsertime [#1859](https://github.com/sitespeedio/browsertime/pull/1859) and sitespeed.io [#3769](https://github.com/sitespeedio/sitespeed.io/pull/3769), allowing us to stay current with dependencies that have made the same transition and ensuring the ability to always utilize the latest versions of our dependencies. This is important for us and will make the project easier to maintain.
5
+ ### Added
6
+ * Chrome 112 in the Docker container.
7
+ * Updated Browsertime:
8
+ * Increased the default wait time from 2 to 5 seconds when a element a clicked and the page complete check runs [#1931](https://github.com/sitespeedio/browsertime/pull/1931)
9
+ * Upgraded to Chromedriver 112 [#1932](https://github.com/sitespeedio/browsertime/pull/1932).
10
+ * If you use `--headless` Chrome will use the new headless switch [#1933](https://github.com/sitespeedio/browsertime/pull/1933).
11
+ * The plugin-lighthouse uses Lighthouse 10.1.0 and --headless=new
12
+
13
+ ## 27.0.0 - 2023-04-04
14
+
15
+ Wow it's been many months since I did a new release wih sitespeed.io. I've had a lot to do in my personal life, a lot at work and low energy to finish the big changes I've done in both Browsertime and sitespeed.io. And here it is: 27.0.0. It can still have some rough edges so please [report any bugs](https://github.com/sitespeedio/sitespeed.io/issues) and I will try to fix them ASAP.
7
16
 
17
+ There's been many additions to Browsertime the last months and I'll update the CHANGELOG and make sure the documentation in uptodate the coming weeks.
18
+
19
+ ### Breaking changes
20
+ The project was transitioned to a [pure ESM package](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) both Browsertime [#1859](https://github.com/sitespeedio/browsertime/pull/1859) and sitespeed.io [#3769](https://github.com/sitespeedio/sitespeed.io/pull/3769). That allow us to stay uptodate with dependencies. This is important for us and will make the project easier to maintain.
8
21
 
9
22
  #### CLI users
10
- If you are a command line user and use scripting, you will need to do a change to your scripts or add a extra configuration.
23
+ If you are a command line user and use [scripting](https://www.sitespeed.io/documentation/sitespeed.io/scripting/), you will need to do a change to your scripts or add some extra configuration.
11
24
 
12
- The new browsertime version treat all JavaScript files that ends with *.js* as ESM modules, that means your old script files will not work out of the box. There's a couple of fixes for that:
25
+ **The quick fix**: Rename your *.js* scripting files to *.cjs* that way NodeJS will treat your file as a common JS file and everything will just work. For example if you have a file names `login.js` you can rename that to `login.cjs` and make sure you load that new file. Then sitespeed.io 27.0.0 will just work as before.
13
26
 
14
27
  **The best fix**:
15
- Change your code so your scripts also follows ESM package. If you have simple scripts you probably just need to change your exports. The old way looked like this:
28
+ Change your code so your scripts also follows ESM. If you have simple scripts you probably just need to change your exports. The old way looked like this:
16
29
 
17
30
  ```
18
31
  module.exports = async function(context, commands) {
@@ -29,19 +42,18 @@ export default async function (context, commands) {
29
42
 
30
43
  If you have more complicated scripts, follow the [ESM package guide](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).
31
44
 
32
- Then rename your file to be named *.mjs. If your file is names `collect.js` change it to `collect.mjs`. This is the best fix and will work 100% of the time. That way NodeJS will know that you are using the ESM standard. You can read more in [how NodeJs choose to load files](https://nodejs.org/docs/latest-v18.x/api/packages.html#determining-module-system).
45
+ Then rename your file to be named *.mjs. If your file is named `collect.js` change it to `collect.mjs`. This is the best fix and will work 100% of the time. That way NodeJS will know that you are using the ESM standard. You can read more in [how NodeJs choose to load files](https://nodejs.org/docs/latest-v18.x/api/packages.html#determining-module-system).
33
46
 
34
- **The quick fix**: Rename your *.js* to *.cjs* that way NodeJS will treat your file as a common JS file and everything will just work. For example if you have a file names `login.js` you can rename that to `login.cjs` and make sure you load that new file.
35
47
 
36
- **Another quick fix alternative**: As a last alternative add `--browsertime.cjs` as a parameter to your test. That way the scripting file will be treated as a commonjs file. This is a hack, so to make sure it works, the user that runs Browsertime need to have write privileges to the folder where you have your scripting files. Browsertime will create a package.json file on the same levels as yoru script file. If you already have a package.json there, it will be overwritten.
48
+ **Another quick fix alternative**: As a last alternative add `--browsertime.cjs` as a parameter to your test. That way the scripting file will be treated as a commonjs file. This is a hack, so to make sure it works, the user that runs Browsertime need to have write privileges to the folder where you have your scripting files. Browsertime will create a package.json file on the same levels as your script file. If you already have a package.json there, it will be overwritten.
37
49
 
38
50
  #### Non cli users
39
- Documentattion coming soon.
51
+ Documentation coming soon.
40
52
 
41
53
  Read [Sindre Sorhus Pure ESM package guide](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) on how you can move your project.
42
54
 
43
55
  #### Plugin creators
44
- Documentattion coming soon.
56
+ Documentattion coming soon. You will need to upgrade your plugin to ESM. You can check how we [did it](https://github.com/sitespeedio/plugin-lighthouse/pull/111) for the Lighthouse plugin.
45
57
 
46
58
  #### Remove ImageMagick dependency
47
59
  We moved to use a new Visual Metrics script as default contributed by Gregory Mierzwinski that do not use ImageMagick. Mozilla has used this script for many months and we have internally used it in our test infrastructure since it was first released.
@@ -56,6 +68,21 @@ If you still want to use ImageMagick you can do that by setting ```browsertime.v
56
68
  ### Fixed
57
69
  * All dependencies has been updated to latest versions [#3774](https://github.com/sitespeedio/sitespeed.io/pull/3774).
58
70
 
71
+ ### Added
72
+ * [A lot of things has happened](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md) in Browsertime:
73
+ * There's a new better way to get the HAR from Firefox using WebDriver BiDi network events. Thank you Julian Descottes and others at Mozilla that made this happen! With the new version we hope to see less overhead getting the HAR + it works on Firefox on Android #1918. You can turn it on with --browsertime.firefox.bidihar.
74
+ * Updated to Geckodriver 0.33
75
+ * Fixed the interaction to next paint error message that started to appear in latest Chrome
76
+ * Safer check for getting last meaningful paint
77
+ * Log the CPU benchmark metric to the console. This is useful (at least for me) when debugging instances with a lot of instability.
78
+ * In Chrome 111 some metrics become more instable when running on host with limited CPU. This change also exists in 112 beta. However we where missing out on a couple of command line magic to disable features in Chrome.
79
+ * On Linux you can use taskset to assing FFMPEG to specific CPUs using --videoParams.taskset "0,5,7,9-11" . It will start FFMPEG with taskset -c <CPUS> to pin FFMPG to specific CPU(s). Specify a numerical list of processors. The list may contain multiple items, separated by comma, and ranges. For example, "0,5,7,9-11". Use it together with isolcpus.
80
+ * If you use a rooted Samsung A51 you can now choose the CPU speed (min/middle/max) using --android.pinCPUSpeed min|middle|max
81
+ * Expose chrome-remote-interface client to scripting. This makes it so much easier to run whatever CDP command. Get the raw version `commands.cdp.getRawClient()`.
82
+ * Pin CPU freq to fastest for Samsung A51 (if you have a rooted device)
83
+ * Updated to Chrome 111, Firefox 111 and Edge 111 in the Docker container.
84
+ * The Lighthouse plugin has been updated to Lighthouse 10.
85
+ * Support for InfluxDb 2, thank you [Damien-Ar](https://github.com/Damien-Ar) for PR [#3711](https://github.com/sitespeedio/sitespeed.io/pull/3711) and [Roman Voitseshevsky](https://github.com/boitcex) for adding tests in [#3790](https://github.com/sitespeedio/sitespeed.io/pull/3790).
59
86
  ## 26.1.0 - 2022-10-21
60
87
  ### Added
61
88
  * Update to 0.10.4 co2 and make it possible change model [#3736](https://github.com/sitespeedio/sitespeed.io/pull/3736) and the to 0.11.3 in [#3741](https://github.com/sitespeedio/sitespeed.io/pull/3741)
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-111.0-firefox-111.0-edge-111.0
1
+ FROM sitespeedio/webbrowsers:chrome-112.0-firefox-111.0-edge-111.0
2
2
 
3
3
  ARG TARGETPLATFORM=linux/amd64
4
4
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "27.0.0-beta.9",
3
+ "version": "27.1.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "27.0.0-beta.9",
9
+ "version": "27.1.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/storage": "6.9.4",
@@ -15,7 +15,7 @@
15
15
  "@tgwf/co2": "0.12.2",
16
16
  "aws-sdk": "2.1327.0",
17
17
  "axe-core": "4.6.3",
18
- "browsertime": "17.5.0-beta4",
18
+ "browsertime": "17.6.0",
19
19
  "cli-color": "2.0.3",
20
20
  "coach-core": "7.1.3",
21
21
  "concurrent-queue": "7.0.2",
@@ -1004,9 +1004,9 @@
1004
1004
  }
1005
1005
  },
1006
1006
  "node_modules/@sitespeed.io/chromedriver": {
1007
- "version": "111.0.5563-64",
1008
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-111.0.5563-64.tgz",
1009
- "integrity": "sha512-nrtXbj/hcDwyWC2cQpUj2J+h8BT/Vynp0ubGZdblfAiT2raj0zsMuuwv63hmMaqAzV0IIWGXDMDJEgfLNTAWkQ==",
1007
+ "version": "112.0.5615-28",
1008
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-112.0.5615-28.tgz",
1009
+ "integrity": "sha512-Um/D7PQ5NlfCT2Khq8iEzescNy2L4xR+cK/vC/tRRCBAOZXMCXb1oY0OE7Bw2CIhtPf4a2Ldi3cRU6oSEAUb+w==",
1010
1010
  "hasInstallScript": true,
1011
1011
  "dependencies": {
1012
1012
  "node-downloader-helper": "2.1.5",
@@ -1035,9 +1035,9 @@
1035
1035
  }
1036
1036
  },
1037
1037
  "node_modules/@sitespeed.io/geckodriver": {
1038
- "version": "0.32.2",
1039
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.32.2.tgz",
1040
- "integrity": "sha512-zE66zN4Hj+kWHwJvOeXbG1Pjws/cCe+ICng2ko3Utg4ueDblZRH4Da20b81If38BGst6IVfpGSPsU6SzTkeshA==",
1038
+ "version": "0.33.0",
1039
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.33.0.tgz",
1040
+ "integrity": "sha512-w6w+x9/Q44JekTPi8NlRsfh5Uz4TfquJcUEs0tA/oEcxLVxRS7VtaiaJEE0GzzN6cUmFS6Twas7E4bCA4k/Yxg==",
1041
1041
  "hasInstallScript": true,
1042
1042
  "dependencies": {
1043
1043
  "node-downloader-helper": "2.1.5",
@@ -1843,15 +1843,15 @@
1843
1843
  }
1844
1844
  },
1845
1845
  "node_modules/browsertime": {
1846
- "version": "17.5.0-beta4",
1847
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.5.0-beta4.tgz",
1848
- "integrity": "sha512-UXcWwTDHne8iBVW99xUETpSwMTj8jfuOI5dWXuU4VFCVabxSy8HqhCP3T36yZk8lCv5Tt6oyoDM+V68QfYGijQ==",
1846
+ "version": "17.6.0",
1847
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.6.0.tgz",
1848
+ "integrity": "sha512-lTvnimE83GM3IsLA81C5mT3V/VF8OIfzRa0+PwkS0oicQ7GkkiC5+lHbxgDDe1dro/dWZ3ytP64fI+g/VDBTsQ==",
1849
1849
  "dependencies": {
1850
1850
  "@cypress/xvfb": "1.2.4",
1851
1851
  "@devicefarmer/adbkit": "2.11.3",
1852
- "@sitespeed.io/chromedriver": "111.0.5563-64",
1852
+ "@sitespeed.io/chromedriver": "112.0.5615-28",
1853
1853
  "@sitespeed.io/edgedriver": "111.0.1661-41",
1854
- "@sitespeed.io/geckodriver": "0.32.2",
1854
+ "@sitespeed.io/geckodriver": "0.33.0",
1855
1855
  "@sitespeed.io/throttle": "5.0.0",
1856
1856
  "@sitespeed.io/tracium": "0.3.3",
1857
1857
  "btoa": "1.2.1",
@@ -9984,9 +9984,9 @@
9984
9984
  }
9985
9985
  },
9986
9986
  "@sitespeed.io/chromedriver": {
9987
- "version": "111.0.5563-64",
9988
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-111.0.5563-64.tgz",
9989
- "integrity": "sha512-nrtXbj/hcDwyWC2cQpUj2J+h8BT/Vynp0ubGZdblfAiT2raj0zsMuuwv63hmMaqAzV0IIWGXDMDJEgfLNTAWkQ==",
9987
+ "version": "112.0.5615-28",
9988
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-112.0.5615-28.tgz",
9989
+ "integrity": "sha512-Um/D7PQ5NlfCT2Khq8iEzescNy2L4xR+cK/vC/tRRCBAOZXMCXb1oY0OE7Bw2CIhtPf4a2Ldi3cRU6oSEAUb+w==",
9990
9990
  "requires": {
9991
9991
  "node-downloader-helper": "2.1.5",
9992
9992
  "node-stream-zip": "1.15.0"
@@ -10009,9 +10009,9 @@
10009
10009
  }
10010
10010
  },
10011
10011
  "@sitespeed.io/geckodriver": {
10012
- "version": "0.32.2",
10013
- "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.32.2.tgz",
10014
- "integrity": "sha512-zE66zN4Hj+kWHwJvOeXbG1Pjws/cCe+ICng2ko3Utg4ueDblZRH4Da20b81If38BGst6IVfpGSPsU6SzTkeshA==",
10012
+ "version": "0.33.0",
10013
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/geckodriver/-/geckodriver-0.33.0.tgz",
10014
+ "integrity": "sha512-w6w+x9/Q44JekTPi8NlRsfh5Uz4TfquJcUEs0tA/oEcxLVxRS7VtaiaJEE0GzzN6cUmFS6Twas7E4bCA4k/Yxg==",
10015
10015
  "requires": {
10016
10016
  "node-downloader-helper": "2.1.5",
10017
10017
  "node-stream-zip": "1.15.0",
@@ -10632,15 +10632,15 @@
10632
10632
  }
10633
10633
  },
10634
10634
  "browsertime": {
10635
- "version": "17.5.0-beta4",
10636
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.5.0-beta4.tgz",
10637
- "integrity": "sha512-UXcWwTDHne8iBVW99xUETpSwMTj8jfuOI5dWXuU4VFCVabxSy8HqhCP3T36yZk8lCv5Tt6oyoDM+V68QfYGijQ==",
10635
+ "version": "17.6.0",
10636
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.6.0.tgz",
10637
+ "integrity": "sha512-lTvnimE83GM3IsLA81C5mT3V/VF8OIfzRa0+PwkS0oicQ7GkkiC5+lHbxgDDe1dro/dWZ3ytP64fI+g/VDBTsQ==",
10638
10638
  "requires": {
10639
10639
  "@cypress/xvfb": "1.2.4",
10640
10640
  "@devicefarmer/adbkit": "2.11.3",
10641
- "@sitespeed.io/chromedriver": "111.0.5563-64",
10641
+ "@sitespeed.io/chromedriver": "112.0.5615-28",
10642
10642
  "@sitespeed.io/edgedriver": "111.0.1661-41",
10643
- "@sitespeed.io/geckodriver": "0.32.2",
10643
+ "@sitespeed.io/geckodriver": "0.33.0",
10644
10644
  "@sitespeed.io/throttle": "5.0.0",
10645
10645
  "@sitespeed.io/tracium": "0.3.3",
10646
10646
  "btoa": "1.2.1",
package/package.json CHANGED
@@ -5,10 +5,7 @@
5
5
  "sitespeed.io": "./bin/sitespeed.js",
6
6
  "sitespeed.io-wpr": "./bin/browsertimeWebPageReplay.js"
7
7
  },
8
- "version": "27.0.0-beta.9",
9
- "publishConfig": {
10
- "tag": "beta"
11
- },
8
+ "version": "27.1.0",
12
9
  "description": "Analyze the web performance of your site",
13
10
  "keywords": [
14
11
  "performance",
@@ -86,7 +83,7 @@
86
83
  "@tgwf/co2": "0.12.2",
87
84
  "aws-sdk": "2.1327.0",
88
85
  "axe-core": "4.6.3",
89
- "browsertime": "17.5.0-beta4",
86
+ "browsertime": "17.6.0",
90
87
  "coach-core": "7.1.3",
91
88
  "cli-color": "2.0.3",
92
89
  "concurrent-queue": "7.0.2",