sitespeed.io 23.0.0 → 23.2.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.
@@ -0,0 +1,13 @@
1
+ {
2
+ "budget": {
3
+ "thirdParty": {
4
+ "requests": 0
5
+ },
6
+ "score": {
7
+ "bestpractice": 100,
8
+ "privacy": 100,
9
+ "performance": 98
10
+ }
11
+ }
12
+ }
13
+
@@ -0,0 +1,22 @@
1
+ name: Test CRUX
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+ branches:
8
+ - main
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - name: Use Node.js
15
+ uses: actions/setup-node@v1
16
+ with:
17
+ node-version: '16.x'
18
+ - name: Install sitespeed.io
19
+ run: npm ci
20
+ - name: Run tests with CruX
21
+ run: bin/sitespeed.js -b chrome -n 1 --crux.key ${{ secrets.CRUX_KEY }} https://en.wikipedia.org/wiki/Main_Page --plugins.remove browsertime
22
+
@@ -55,7 +55,4 @@ jobs:
55
55
  - name: Run test with Graphite
56
56
  run: bin/sitespeed.js https://www.sitespeed.io/ -n 1 --graphite.host 127.0.0.1 --xvfb
57
57
  - name: Run test without a CLI
58
- run: xvfb-run node test/runWithoutCli.js
59
- - name: Run tests with CruX
60
- run: bin/sitespeed.js -b chrome -n 1 --crux.key ${{ secrets.CRUX_KEY }} --xvfb https://www.sitespeed.io
61
-
58
+ run: xvfb-run node test/runWithoutCli.js
@@ -0,0 +1,21 @@
1
+ name: sitespeed.io action example
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ jobs:
7
+ run-sitespeed:
8
+ runs-on: ubuntu-latest
9
+ name: running sitespeed.io
10
+ steps:
11
+ - name: code checkout
12
+ uses: actions/checkout@v2
13
+ # Here we build our own container to make sure we test against our latest code
14
+ # but YOU can just used the latest version by specifying
15
+ # sitespeedio/sitespeed.io:VERSION
16
+ - name: Build Docker containers
17
+ run: |
18
+ docker buildx install
19
+ docker buildx build --load --platform linux/amd64 -t sitespeedio/sitespeed.io .
20
+ - name: running sitespeed.io container with arguments and optional Docker options
21
+ run: docker run -v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io https://www.sitespeed.io --budget.configPath .github/budget.json -n 1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
+ ## 23.2.0 - 2022-03-05
4
+
5
+ ### Added
6
+ * Updated to Chrome and Edge 99 in the Docker container. Updated to Chromedriver and Edgedriver 99 [#3590](https://github.com/sitespeedio/sitespeed.io/pull/3590).
7
+ ### Fixed
8
+ * If you use alias and budget files, the outcome (result budget json and others) should use the alias of the URL instead of the URL [#3582](https://github.com/sitespeedio/sitespeed.io/pull/3582).
9
+ * Ignore sustainable.setup messages when storing analysistorer [#3578](https://github.com/sitespeedio/sitespeed.io/pull/3587).
10
+
11
+ ## 23.1.0 - 2022-02-24
12
+ ### Added
13
+ * Updated [Browsertime](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1510---2022-02-24) that collect timings from main document. The result includes a field named mainDocumentTimings and contains blocked, dns, connect, send, wait, receive, ssl as long as you get a HAR file from the browser.
14
+
15
+ * Show Browsertime version in runtime settings [#3575](https://github.com/sitespeedio/sitespeed.io/pull/3575).
16
+
17
+ ### Fixed
18
+ * Updated Chromedriver dependency that fixes installation on Mac M1 and some send keys issues.
19
+ ## 23.0.1 - 2022-02-21
20
+ ### Fixed
21
+ * Bumped to Browsertime 15.0.1 to make sure connectivity is set only once. In last release it was set in the beginning of the test and for eacch iteration. In practice that doesn't matter but it's very confusing if you check the logs.
3
22
  ## 23.0.0 - 2022-02-21
4
23
 
5
24
  ### Breaking changes
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM sitespeedio/webbrowsers:chrome-98.0-firefox-97.0-edge-98.0
1
+ FROM sitespeedio/webbrowsers:chrome-99.0-firefox-97.0-edge-99.0
2
2
 
3
3
  ARG TARGETPLATFORM=linux/amd64
4
4
 
@@ -29,7 +29,8 @@ function shouldIgnoreMessage(message) {
29
29
  'ftp.finished',
30
30
  'graphite.setup',
31
31
  'influxdb.setup',
32
- 'grafana.setup'
32
+ 'grafana.setup',
33
+ 'sustainable.setup'
33
34
  ].indexOf(message.type) >= 0
34
35
  );
35
36
  }
@@ -17,6 +17,7 @@ module.exports = [
17
17
  'statistics.timings.firstInput.delay',
18
18
  'statistics.timings.firstInput.duration',
19
19
  'statistics.timings.navigationTiming.*',
20
+ 'statistics.timings.mainDocumentTimings.*',
20
21
  'statistics.visualMetrics.*',
21
22
  'statistics.deltaToTFFB.*',
22
23
  'statistics.custom.*',
@@ -166,14 +166,18 @@ module.exports = {
166
166
  }
167
167
  // group working/failing per URL
168
168
  if (failing.length > 0) {
169
- result.failing[message.url] = result.failing[message.url]
170
- ? result.failing[message.url].concat(failing)
169
+ result.failing[alias || message.url] = result.failing[
170
+ alias || message.url
171
+ ]
172
+ ? result.failing[alias || message.url].concat(failing)
171
173
  : failing;
172
174
  }
173
175
 
174
176
  if (working.length > 0) {
175
- result.working[message.url] = result.working[message.url]
176
- ? result.working[message.url].concat(working)
177
+ result.working[alias || message.url] = result.working[
178
+ alias || message.url
179
+ ]
180
+ ? result.working[alias || message.url].concat(working)
177
181
  : working;
178
182
  }
179
183
  }
@@ -160,13 +160,17 @@ class HTMLBuilder {
160
160
  for (const url of Object.keys(budget.working)) {
161
161
  totalWorking = totalWorking + budget.working[url].length;
162
162
  }
163
+ const aliasToUrl = {};
164
+ for (let url of Object.keys(options.urlsMetaData)) {
165
+ aliasToUrl[options.urlsMetaData[url].urlAlias] = url;
166
+ }
163
167
  this.summary.budget = {
164
168
  pageTitle: `Performance budget for ${name} with ${totalWorking} working and ${totalFailing} failing budgets.`,
165
169
  pageDescription: 'The list of failing and working performance budgets.',
166
170
  budget,
167
171
  totalFailing,
168
172
  totalWorking,
169
- alias: options.urlsMetaData
173
+ aliasToUrl
170
174
  };
171
175
  }
172
176
 
@@ -448,6 +452,7 @@ class HTMLBuilder {
448
452
  usingWebPageTest,
449
453
  headers: this.summary,
450
454
  version: packageInfo.version,
455
+ browsertimeVersion: packageInfo.dependencies.browsertime,
451
456
  timestamp: this.timestamp,
452
457
  context: this.context,
453
458
  get,
@@ -2,12 +2,15 @@ extends ./layout.pug
2
2
  include _tableMixins
3
3
 
4
4
  mixin row(budget)
5
- each results, url in budget
5
+ each results, urlOrAlias in budget
6
6
  each result in results
7
7
  tr
8
8
  td
9
- a(href=url)= alias[url] ? alias[url].urlAlias : url
10
- p #{alias[url] ? url : ''}
9
+ if (urlOrAlias && urlOrAlias.startsWith('http'))
10
+ a(href=urlOrAlias)= urlOrAlias
11
+ else
12
+ a(href=aliasToUrl[urlOrAlias])= urlOrAlias
13
+ p #{aliasToUrl[urlOrAlias]}
11
14
  td #{result.metric} with value #{result.friendlyValue || result.value} limit #{result.limitType} #{result.friendlyLimit || result.limit}
12
15
 
13
16
  block content
@@ -10,6 +10,9 @@ block content
10
10
  tr
11
11
  td Sitespeed.io version
12
12
  td #{version}
13
+ tr
14
+ td Browsertime version
15
+ td #{browsertimeVersion}
13
16
  tr
14
17
  td Test time
15
18
  td #{timestamp}
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "23.0.0",
3
+ "version": "23.2.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "23.0.0",
9
+ "version": "23.2.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": "15.0.0",
16
+ "browsertime": "15.2.0",
17
17
  "cli-color": "2.0.0",
18
18
  "coach-core": "7.1.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": "98.0.4758-48b",
914
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-98.0.4758-48b.tgz",
915
- "integrity": "sha512-zj2k4xSKXpGDl29rSrfD9LfQtB6P29nM/EfGvFFIydfYqJ+aQzGKfPHwgrJv/1Lcw9IX9ICSnypg3IoavVCDwA==",
913
+ "version": "99.0.4844-51",
914
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-99.0.4844-51.tgz",
915
+ "integrity": "sha512-IRUKnrN/w2jfcFzhboarmSzqvlUxaK+ztfZRB7bZksWu6gdOP3O8Ci4cDuLUPIm1/vtIUFXn/7pXh4e/SY5Wcw==",
916
916
  "hasInstallScript": true,
917
917
  "dependencies": {
918
918
  "node-downloader-helper": "1.0.19",
@@ -920,9 +920,9 @@
920
920
  }
921
921
  },
922
922
  "node_modules/@sitespeed.io/edgedriver": {
923
- "version": "98.0.1108-43",
924
- "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-98.0.1108-43.tgz",
925
- "integrity": "sha512-QCj6L98CE42DvTXheQCaede3Ple/KXpjL0YghhXcwN+rD03T9/50Wy5PPeNt1UGVSUTc+DAdx0lY1n4U0hWpAg==",
923
+ "version": "99.0.1150-25",
924
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-99.0.1150-25.tgz",
925
+ "integrity": "sha512-HQH7RmaV495xl8ksxRPYrT67xUfNr76o4ZKyx+OU0NgF3TJyCrgvbJylV1iQR3mP42JVoC0GW5XIGEDzphqA+w==",
926
926
  "hasInstallScript": true,
927
927
  "dependencies": {
928
928
  "node-downloader-helper": "1.0.18",
@@ -1460,14 +1460,14 @@
1460
1460
  }
1461
1461
  },
1462
1462
  "node_modules/browsertime": {
1463
- "version": "15.0.0",
1464
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.0.0.tgz",
1465
- "integrity": "sha512-2Ysyzf+UCjgNeEpIU2+6xiqzaNhwe5ABu1UHPLXpZJVDFUCrub+bzr71sw2IeGuFaKtEtOLbZgRZVB74/CS8oA==",
1463
+ "version": "15.2.0",
1464
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.2.0.tgz",
1465
+ "integrity": "sha512-e0h4pBWHEJvCGqTUK+vIjqjy9K5L1J+cnExktWIazS+ZR7WpBXX/E8eVZKRnUxK9p0jp46E171xD/cyCxtr5aA==",
1466
1466
  "dependencies": {
1467
1467
  "@cypress/xvfb": "1.2.4",
1468
1468
  "@devicefarmer/adbkit": "2.11.3",
1469
- "@sitespeed.io/chromedriver": "98.0.4758-48b",
1470
- "@sitespeed.io/edgedriver": "98.0.1108-43",
1469
+ "@sitespeed.io/chromedriver": "99.0.4844-51",
1470
+ "@sitespeed.io/edgedriver": "99.0.1150-25",
1471
1471
  "@sitespeed.io/geckodriver": "0.30.0",
1472
1472
  "@sitespeed.io/throttle": "3.0.0",
1473
1473
  "@sitespeed.io/tracium": "0.3.3",
@@ -8157,18 +8157,18 @@
8157
8157
  }
8158
8158
  },
8159
8159
  "@sitespeed.io/chromedriver": {
8160
- "version": "98.0.4758-48b",
8161
- "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-98.0.4758-48b.tgz",
8162
- "integrity": "sha512-zj2k4xSKXpGDl29rSrfD9LfQtB6P29nM/EfGvFFIydfYqJ+aQzGKfPHwgrJv/1Lcw9IX9ICSnypg3IoavVCDwA==",
8160
+ "version": "99.0.4844-51",
8161
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-99.0.4844-51.tgz",
8162
+ "integrity": "sha512-IRUKnrN/w2jfcFzhboarmSzqvlUxaK+ztfZRB7bZksWu6gdOP3O8Ci4cDuLUPIm1/vtIUFXn/7pXh4e/SY5Wcw==",
8163
8163
  "requires": {
8164
8164
  "node-downloader-helper": "1.0.19",
8165
8165
  "node-stream-zip": "1.15.0"
8166
8166
  }
8167
8167
  },
8168
8168
  "@sitespeed.io/edgedriver": {
8169
- "version": "98.0.1108-43",
8170
- "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-98.0.1108-43.tgz",
8171
- "integrity": "sha512-QCj6L98CE42DvTXheQCaede3Ple/KXpjL0YghhXcwN+rD03T9/50Wy5PPeNt1UGVSUTc+DAdx0lY1n4U0hWpAg==",
8169
+ "version": "99.0.1150-25",
8170
+ "resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-99.0.1150-25.tgz",
8171
+ "integrity": "sha512-HQH7RmaV495xl8ksxRPYrT67xUfNr76o4ZKyx+OU0NgF3TJyCrgvbJylV1iQR3mP42JVoC0GW5XIGEDzphqA+w==",
8172
8172
  "requires": {
8173
8173
  "node-downloader-helper": "1.0.18",
8174
8174
  "node-stream-zip": "1.15.0"
@@ -8603,14 +8603,14 @@
8603
8603
  }
8604
8604
  },
8605
8605
  "browsertime": {
8606
- "version": "15.0.0",
8607
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.0.0.tgz",
8608
- "integrity": "sha512-2Ysyzf+UCjgNeEpIU2+6xiqzaNhwe5ABu1UHPLXpZJVDFUCrub+bzr71sw2IeGuFaKtEtOLbZgRZVB74/CS8oA==",
8606
+ "version": "15.2.0",
8607
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.2.0.tgz",
8608
+ "integrity": "sha512-e0h4pBWHEJvCGqTUK+vIjqjy9K5L1J+cnExktWIazS+ZR7WpBXX/E8eVZKRnUxK9p0jp46E171xD/cyCxtr5aA==",
8609
8609
  "requires": {
8610
8610
  "@cypress/xvfb": "1.2.4",
8611
8611
  "@devicefarmer/adbkit": "2.11.3",
8612
- "@sitespeed.io/chromedriver": "98.0.4758-48b",
8613
- "@sitespeed.io/edgedriver": "98.0.1108-43",
8612
+ "@sitespeed.io/chromedriver": "99.0.4844-51",
8613
+ "@sitespeed.io/edgedriver": "99.0.1150-25",
8614
8614
  "@sitespeed.io/geckodriver": "0.30.0",
8615
8615
  "@sitespeed.io/throttle": "3.0.0",
8616
8616
  "@sitespeed.io/tracium": "0.3.3",
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": "23.0.0",
7
+ "version": "23.2.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": "15.0.0",
77
+ "browsertime": "15.2.0",
78
78
  "coach-core": "7.1.0",
79
79
  "cli-color": "2.0.0",
80
80
  "concurrent-queue": "7.0.2",