sitespeed.io 34.14.0 → 35.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,10 +1,23 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
- ## 34.14.0 - 2024-09-19
3
+ ## 35.1.0 - 2024-10-08
4
+ ### Added
5
+ * Browsertime [23.1.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2310---2024-10-08) [#4287](https://github.com/sitespeedio/sitespeed.io/pull/4287).
6
+ * Firefox 131 and Edge 129 in the Docker container [#4284](https://github.com/sitespeedio/sitespeed.io/pull/4284).
7
+
8
+ ## 35.0.0 - 2024-09-24
9
+ ### Breaking
10
+ * Disable camel case configuration that comes automatically with yargs [#4251](https://github.com/sitespeedio/sitespeed.io/pull/4251). This is a breaking change ONLY if you didn't follow our doecumentation/help and used internal YARGS configuration names for our CLI configuration.
11
+
12
+ ### Fixed
13
+ * Updated to [Browsertime 23.0.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2300---2024-09-23).
14
+ * Fixes the internal configuration object for android. The old solution created an array with objects instead of just keys on the object.[#4282](https://github.com/sitespeedio/sitespeed.io/pull/4282).
15
+
16
+ ## 34.14.0 - 2024-09-19
4
17
  ### Added
5
18
  * Chrome 129 in the Docker container [#4281](https://github.com/sitespeedio/sitespeed.io/pull/4281).
6
19
 
7
- ## 34.13.0 - 2024-09-18
20
+ ## 34.13.0 - 2024-09-18
8
21
  ### Added
9
22
  * Add support for `--ignoreExtends` that remove extends from your configuration file. This is useful when you want to test configuration locally on your machine and your test server extends configurations like uploading data to a data storage [#4280](https://github.com/sitespeedio/sitespeed.io/pull/4280).
10
23
 
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-129.0-firefox-130.0-edge-128.0
1
+ FROM sitespeedio/webbrowsers:chrome-129.0-firefox-131.0-edge-129.0
2
2
 
3
3
  ARG TARGETPLATFORM=linux/amd64
4
4
 
package/lib/cli/cli.js CHANGED
@@ -210,9 +210,16 @@ function validateInput(argv) {
210
210
  }
211
211
 
212
212
  export async function parseCommandLine() {
213
- let yargsInstance = yargs(hideBin(process.argv));
213
+ let argvFix = process.argv.map(arg =>
214
+ arg === '--android' ? '--android.enabled' : arg
215
+ );
216
+
217
+ let yargsInstance = yargs(hideBin(argvFix));
214
218
  let parsed = yargsInstance
215
- .parserConfiguration({ 'deep-merge-config': true })
219
+ .parserConfiguration({
220
+ 'camel-case-expansion': false,
221
+ 'deep-merge-config': true
222
+ })
216
223
  .env('SITESPEED_IO')
217
224
  .usage('$0 [options] <url>/<file>')
218
225
 
@@ -2129,13 +2136,6 @@ export async function parseCommandLine() {
2129
2136
  const aliases = parsed.getOptions().alias,
2130
2137
  argv = parsed.argv;
2131
2138
 
2132
- // hack to keep backward compability to --android
2133
- if (
2134
- argv.android === true ||
2135
- (argv.browsertime && argv.browsertime.android === true)
2136
- ) {
2137
- set(argv, 'browsertime.android.enabled', true);
2138
- }
2139
2139
  // aliases are long options -> short option
2140
2140
  const aliasLookup = reduce(
2141
2141
  aliases,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "34.14.0",
3
+ "version": "35.1.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "34.14.0",
9
+ "version": "35.1.0",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-s3": "3.609.0",
@@ -15,7 +15,7 @@
15
15
  "@sitespeed.io/plugin": "0.0.6",
16
16
  "@tgwf/co2": "0.16.0",
17
17
  "axe-core": "4.10.0",
18
- "browsertime": "22.10.2",
18
+ "browsertime": "23.1.0",
19
19
  "cli-color": "2.0.4",
20
20
  "coach-core": "8.0.2",
21
21
  "concurrent-queue": "7.0.2",
@@ -2151,9 +2151,9 @@
2151
2151
  }
2152
2152
  },
2153
2153
  "node_modules/@sitespeed.io/chromedriver": {
2154
- "version": "128.0.6613-86",
2155
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-128.0.6613-86.tgz",
2156
- "integrity": "sha512-u4zw/7CpEnMkiHUTl6gGy/02Aj1IeUMUiiV5nk2lyoGlgJquDpFQQP60fmd7SCdKs8vVIfS0SIR9d1XDKd3HMw==",
2154
+ "version": "129.0.6668-58",
2155
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-129.0.6668-58.tgz",
2156
+ "integrity": "sha512-9GvJofRbnhFWi61gk6usm+9zjXdwwLcJFGerdQWNqqHgxwMdQOsgXuJWDUdNebUZgfV9ExhChPfGhu1aMwGRPA==",
2157
2157
  "hasInstallScript": true,
2158
2158
  "dependencies": {
2159
2159
  "node-downloader-helper": "2.1.9",
@@ -3630,24 +3630,24 @@
3630
3630
  }
3631
3631
  },
3632
3632
  "node_modules/browsertime": {
3633
- "version": "22.10.2",
3634
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-22.10.2.tgz",
3635
- "integrity": "sha512-RsDhJxIwWDOJPzM+QOOPJojlrNZzNiicg2DBjOZiTWojVHGtdUp1xke4JHwOxU+YP1YfDU2LnZApNy0Awd3BBA==",
3633
+ "version": "23.1.0",
3634
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-23.1.0.tgz",
3635
+ "integrity": "sha512-OuazD7yu69Q9AKT7AcDAqtOAzx2c4QXW6vEZayYSd6phjh3HwYlSY37pkmM/lgmKfXgxYRcvNRlI/2CZcSen8Q==",
3636
3636
  "dependencies": {
3637
3637
  "@cypress/xvfb": "1.2.4",
3638
3638
  "@devicefarmer/adbkit": "3.2.6",
3639
- "@sitespeed.io/chromedriver": "128.0.6613-86",
3639
+ "@sitespeed.io/chromedriver": "129.0.6668-58",
3640
3640
  "@sitespeed.io/edgedriver": "126.0.2592-102",
3641
3641
  "@sitespeed.io/geckodriver": "0.35.0",
3642
3642
  "@sitespeed.io/throttle": "5.0.1",
3643
3643
  "@sitespeed.io/tracium": "0.3.3",
3644
3644
  "btoa": "1.2.1",
3645
- "chrome-har": "0.13.5",
3645
+ "chrome-har": "1.0.0",
3646
3646
  "chrome-remote-interface": "0.33.2",
3647
3647
  "dayjs": "1.11.13",
3648
3648
  "execa": "9.3.1",
3649
3649
  "fast-stats": "0.0.7",
3650
- "ff-test-bidi-har-export": "0.0.14",
3650
+ "ff-test-bidi-har-export": "0.0.15",
3651
3651
  "find-up": "7.0.0",
3652
3652
  "get-port": "7.1.0",
3653
3653
  "hasbin": "1.2.3",
@@ -3658,7 +3658,7 @@
3658
3658
  "lodash.merge": "4.6.2",
3659
3659
  "lodash.pick": "4.4.0",
3660
3660
  "lodash.set": "4.3.2",
3661
- "selenium-webdriver": "4.24.0",
3661
+ "selenium-webdriver": "4.25.0",
3662
3662
  "usb-power-profiling": "1.4.0",
3663
3663
  "yargs": "17.7.2"
3664
3664
  },
@@ -3893,44 +3893,47 @@
3893
3893
  }
3894
3894
  },
3895
3895
  "node_modules/chrome-har": {
3896
- "version": "0.13.5",
3897
- "resolved": "https://registry.npmjs.org/chrome-har/-/chrome-har-0.13.5.tgz",
3898
- "integrity": "sha512-e5RVL19aa0AvlR9//hOu/t96us/iTynAJZFtryExNO+1xta1qb6b/3kZFLFPQ3UrXFG70OqhxxSCbAHKgY8JWw==",
3896
+ "version": "1.0.0",
3897
+ "resolved": "https://registry.npmjs.org/chrome-har/-/chrome-har-1.0.0.tgz",
3898
+ "integrity": "sha512-HUXMrfVwQNjNDxIt69PFuDAaWwHCF2np5cDQEBxwoxR76VZNbRh6krVVlHa+Vp/aqqY/YyVSWpdY0ZsCrXTpIw==",
3899
3899
  "dependencies": {
3900
- "dayjs": "1.11.7",
3901
- "debug": "4.3.4",
3902
- "tough-cookie": "4.1.3",
3903
- "uuid": "9.0.0"
3900
+ "debug": "4.3.7",
3901
+ "tough-cookie": "5.0.0"
3904
3902
  },
3905
3903
  "engines": {
3906
- "node": ">=14.19.1"
3904
+ "node": ">=18.0.0"
3907
3905
  }
3908
3906
  },
3909
- "node_modules/chrome-har/node_modules/dayjs": {
3910
- "version": "1.11.7",
3911
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
3912
- "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
3913
- },
3914
- "node_modules/chrome-har/node_modules/tough-cookie": {
3915
- "version": "4.1.3",
3916
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
3917
- "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
3907
+ "node_modules/chrome-har/node_modules/debug": {
3908
+ "version": "4.3.7",
3909
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
3910
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
3918
3911
  "dependencies": {
3919
- "psl": "^1.1.33",
3920
- "punycode": "^2.1.1",
3921
- "universalify": "^0.2.0",
3922
- "url-parse": "^1.5.3"
3912
+ "ms": "^2.1.3"
3923
3913
  },
3924
3914
  "engines": {
3925
- "node": ">=6"
3915
+ "node": ">=6.0"
3916
+ },
3917
+ "peerDependenciesMeta": {
3918
+ "supports-color": {
3919
+ "optional": true
3920
+ }
3926
3921
  }
3927
3922
  },
3928
- "node_modules/chrome-har/node_modules/uuid": {
3929
- "version": "9.0.0",
3930
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
3931
- "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
3932
- "bin": {
3933
- "uuid": "dist/bin/uuid"
3923
+ "node_modules/chrome-har/node_modules/ms": {
3924
+ "version": "2.1.3",
3925
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3926
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
3927
+ },
3928
+ "node_modules/chrome-har/node_modules/tough-cookie": {
3929
+ "version": "5.0.0",
3930
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz",
3931
+ "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==",
3932
+ "dependencies": {
3933
+ "tldts": "^6.1.32"
3934
+ },
3935
+ "engines": {
3936
+ "node": ">=16"
3934
3937
  }
3935
3938
  },
3936
3939
  "node_modules/chrome-remote-interface": {
@@ -5717,9 +5720,9 @@
5717
5720
  }
5718
5721
  },
5719
5722
  "node_modules/ff-test-bidi-har-export": {
5720
- "version": "0.0.14",
5721
- "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.14.tgz",
5722
- "integrity": "sha512-s3E0VyK+H6Z1z+hNlAR5mCwjTO6In+rV6K3O2KWTSopQu2p2+LkOVkE0Fur2t67Bwy3ZWCpCNfs2PlZQz0gajg=="
5723
+ "version": "0.0.15",
5724
+ "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.15.tgz",
5725
+ "integrity": "sha512-ye0xGugfrG7zXfwB0kGEQ1R3qdF/bA9+VFCuTHg49kkbLWHon2eCe011prJM1IWDEWprKexJ4ppZDI+5za2jNg=="
5723
5726
  },
5724
5727
  "node_modules/figures": {
5725
5728
  "version": "6.1.0",
@@ -9476,11 +9479,6 @@
9476
9479
  "node": ">=0.6"
9477
9480
  }
9478
9481
  },
9479
- "node_modules/querystringify": {
9480
- "version": "2.2.0",
9481
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
9482
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
9483
- },
9484
9482
  "node_modules/queue-microtask": {
9485
9483
  "version": "1.2.3",
9486
9484
  "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -9826,11 +9824,6 @@
9826
9824
  "node": ">=0.10.0"
9827
9825
  }
9828
9826
  },
9829
- "node_modules/requires-port": {
9830
- "version": "1.0.0",
9831
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
9832
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
9833
- },
9834
9827
  "node_modules/requizzle": {
9835
9828
  "version": "0.2.3",
9836
9829
  "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz",
@@ -10042,9 +10035,9 @@
10042
10035
  "optional": true
10043
10036
  },
10044
10037
  "node_modules/selenium-webdriver": {
10045
- "version": "4.24.0",
10046
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.24.0.tgz",
10047
- "integrity": "sha512-qrqoHhHPZuKLiz5VAQUxrn3ILs7/cYqn2/x96r35g5JjkLUjOS1lX+F+tEJKhRMlQ/MGJ+N1016JF5g2xZUFzw==",
10038
+ "version": "4.25.0",
10039
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.25.0.tgz",
10040
+ "integrity": "sha512-zl9IX93caOT8wbcCpZzAkEtYa+hNgJ4C5GUN8uhpzggqRLvsg1asfKi0p1uNZC8buYVvsBZbx8S+9MjVAjs4oA==",
10048
10041
  "dependencies": {
10049
10042
  "@bazel/runfiles": "^5.8.1",
10050
10043
  "jszip": "^3.10.1",
@@ -10962,6 +10955,22 @@
10962
10955
  "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
10963
10956
  "optional": true
10964
10957
  },
10958
+ "node_modules/tldts": {
10959
+ "version": "6.1.50",
10960
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.50.tgz",
10961
+ "integrity": "sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA==",
10962
+ "dependencies": {
10963
+ "tldts-core": "^6.1.50"
10964
+ },
10965
+ "bin": {
10966
+ "tldts": "bin/cli.js"
10967
+ }
10968
+ },
10969
+ "node_modules/tldts-core": {
10970
+ "version": "6.1.50",
10971
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.50.tgz",
10972
+ "integrity": "sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw=="
10973
+ },
10965
10974
  "node_modules/tmp": {
10966
10975
  "version": "0.2.3",
10967
10976
  "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
@@ -11191,14 +11200,6 @@
11191
11200
  "url": "https://github.com/sponsors/sindresorhus"
11192
11201
  }
11193
11202
  },
11194
- "node_modules/universalify": {
11195
- "version": "0.2.0",
11196
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
11197
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
11198
- "engines": {
11199
- "node": ">= 4.0.0"
11200
- }
11201
- },
11202
11203
  "node_modules/update-browserslist-db": {
11203
11204
  "version": "1.0.13",
11204
11205
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
@@ -11242,15 +11243,6 @@
11242
11243
  "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
11243
11244
  "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="
11244
11245
  },
11245
- "node_modules/url-parse": {
11246
- "version": "1.5.10",
11247
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
11248
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
11249
- "dependencies": {
11250
- "querystringify": "^2.1.1",
11251
- "requires-port": "^1.0.0"
11252
- }
11253
- },
11254
11246
  "node_modules/usb": {
11255
11247
  "version": "2.13.0",
11256
11248
  "resolved": "https://registry.npmjs.org/usb/-/usb-2.13.0.tgz",
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "sitespeed.io": "./bin/sitespeed.js",
6
6
  "sitespeed.io-wpr": "./bin/browsertimeWebPageReplay.js"
7
7
  },
8
- "version": "34.14.0",
8
+ "version": "35.1.0",
9
9
  "description": "sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.",
10
10
  "keywords": [
11
11
  "performance",
@@ -85,7 +85,7 @@
85
85
  "@tgwf/co2": "0.16.0",
86
86
  "@aws-sdk/client-s3": "3.609.0",
87
87
  "axe-core": "4.10.0",
88
- "browsertime": "22.10.2",
88
+ "browsertime": "23.1.0",
89
89
  "coach-core": "8.0.2",
90
90
  "cli-color": "2.0.4",
91
91
  "concurrent-queue": "7.0.2",
package/release/feed.js CHANGED
@@ -11,6 +11,8 @@ const images = {
11
11
  browsertime: 'https://www.sitespeed.io/img/logos/browsertime.png',
12
12
  'coach-core': 'https://www.sitespeed.io/img/logos/coach.png',
13
13
  pagexray: 'https://www.sitespeed.io/img/logos/pagexray.png',
14
+ server: '',
15
+ testrunner: '',
14
16
  throttle: '',
15
17
  coach: 'https://www.sitespeed.io/img/logos/coach.png',
16
18
  'chrome-har': '',
@@ -135,8 +137,11 @@ function getResultAsHTML(result) {
135
137
 
136
138
  const getContent = async tool => {
137
139
  const content = [];
138
- const changelog =
140
+ let changelog =
139
141
  tool === 'sitespeed.io' ? './CHANGELOG.md' : '../' + tool + '/CHANGELOG.md';
142
+ if (tool === 'server' || tool === 'testrunner') {
143
+ changelog = `../../onlinetest/${tool}/CHANGELOG.md`;
144
+ }
140
145
  const result = await parseChangelog({
141
146
  filePath: changelog,
142
147
  removeMarkdown: false