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.
- package/.github/budget.json +13 -0
- package/.github/workflows/crux-test.yml +22 -0
- package/.github/workflows/linux.yml +1 -4
- package/.github/workflows/sitespeed-io-action-example.yml +21 -0
- package/CHANGELOG.md +19 -0
- package/Dockerfile +1 -1
- package/lib/plugins/analysisstorer/index.js +2 -1
- package/lib/plugins/browsertime/default/metricsPageSummary.js +1 -0
- package/lib/plugins/budget/verify.js +8 -4
- package/lib/plugins/html/htmlBuilder.js +6 -1
- package/lib/plugins/html/templates/budget.pug +6 -3
- package/lib/plugins/html/templates/settings.pug +3 -0
- package/npm-shrinkwrap.json +25 -25
- package/package.json +2 -2
|
@@ -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
|
@@ -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[
|
|
170
|
-
|
|
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[
|
|
176
|
-
|
|
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
|
-
|
|
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,
|
|
5
|
+
each results, urlOrAlias in budget
|
|
6
6
|
each result in results
|
|
7
7
|
tr
|
|
8
8
|
td
|
|
9
|
-
|
|
10
|
-
|
|
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
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sitespeed.io",
|
|
3
|
-
"version": "23.
|
|
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.
|
|
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.
|
|
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": "
|
|
914
|
-
"resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-
|
|
915
|
-
"integrity": "sha512-
|
|
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": "
|
|
924
|
-
"resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-
|
|
925
|
-
"integrity": "sha512-
|
|
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.
|
|
1464
|
-
"resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.
|
|
1465
|
-
"integrity": "sha512-
|
|
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": "
|
|
1470
|
-
"@sitespeed.io/edgedriver": "
|
|
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": "
|
|
8161
|
-
"resolved": "https://registry.npmjs.org/@sitespeed.io/chromedriver/-/chromedriver-
|
|
8162
|
-
"integrity": "sha512-
|
|
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": "
|
|
8170
|
-
"resolved": "https://registry.npmjs.org/@sitespeed.io/edgedriver/-/edgedriver-
|
|
8171
|
-
"integrity": "sha512-
|
|
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.
|
|
8607
|
-
"resolved": "https://registry.npmjs.org/browsertime/-/browsertime-15.
|
|
8608
|
-
"integrity": "sha512-
|
|
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": "
|
|
8613
|
-
"@sitespeed.io/edgedriver": "
|
|
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.
|
|
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.
|
|
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",
|