sitespeed.io 27.9.2 → 28.0.0-beta.1

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,5 +1,16 @@
1
1
  # CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
2
2
 
3
+ ## 28.0.0 - UNRELEASED
4
+
5
+ ### Breaking change
6
+ There where a bug in how the `browsertime.pageSummary` message was created where data was attached to the browserScript key (for example, the HAR file was attached to the element). This has been fixed and everything will work as before except if you have created your own plugin and listen to `browsertime.pageSummary` messages and where using the faultu attached data.
7
+
8
+ ## 27.9.3 - 2023-06-19
9
+ ### Fixed
10
+ * Upgraded Browsertime with the following fixes:
11
+ * Fix --debug mode. Thank you [Gregory Mierzwinski](https://github.com/gmierz) for PR [#1959](https://github.com/sitespeedio/browsertime/pull/1959).
12
+ * Update ff-test-bidi-har-export to 0.0.11 that fixes some error logs [#1961](https://github.com/sitespeedio/browsertime/pull/1961).
13
+
3
14
  ## 27.9.2 - 2023-06-14
4
15
  ### Fixed
5
16
  * Make sure config files are read sync [#3882](https://github.com/sitespeedio/sitespeed.io/pull/3882).
@@ -43,98 +43,103 @@ export class BrowsertimeAggregator {
43
43
  }
44
44
  }
45
45
 
46
- if (browsertimeRunData.timings.largestContentfulPaint) {
47
- pushGroupStats(
48
- this.statsPerType,
49
- this.groups[group],
50
- ['timings', 'largestContentfulPaint'],
51
- browsertimeRunData.timings.largestContentfulPaint.renderTime
52
- );
53
- }
54
-
55
- if (browsertimeRunData.timings.interactionToNextPaint) {
56
- pushGroupStats(
57
- this.statsPerType,
58
- this.groups[group],
59
- ['timings', 'interactionToNextPaint'],
60
- browsertimeRunData.timings.interactionToNextPaint
61
- );
62
- }
63
-
64
- if (browsertimeRunData.pageinfo.cumulativeLayoutShift) {
65
- pushGroupStats(
66
- this.statsPerType,
67
- this.groups[group],
68
- ['pageinfo', 'cumulativeLayoutShift'],
69
- browsertimeRunData.pageinfo.cumulativeLayoutShift
70
- );
71
- }
46
+ if (browsertimeRunData.timings) {
47
+ if (browsertimeRunData.timings.largestContentfulPaint) {
48
+ pushGroupStats(
49
+ this.statsPerType,
50
+ this.groups[group],
51
+ ['timings', 'largestContentfulPaint'],
52
+ browsertimeRunData.timings.largestContentfulPaint.renderTime
53
+ );
54
+ }
72
55
 
73
- forEach(timings, timing => {
74
- if (browsertimeRunData.timings[timing]) {
56
+ if (browsertimeRunData.timings.interactionToNextPaint) {
75
57
  pushGroupStats(
76
58
  this.statsPerType,
77
59
  this.groups[group],
78
- timing,
79
- browsertimeRunData.timings[timing]
60
+ ['timings', 'interactionToNextPaint'],
61
+ browsertimeRunData.timings.interactionToNextPaint
80
62
  );
81
63
  }
82
- });
83
64
 
84
- forEach(browsertimeRunData.timings.navigationTiming, (value, name) => {
85
- if (value) {
65
+ forEach(timings, timing => {
66
+ if (browsertimeRunData.timings[timing]) {
67
+ pushGroupStats(
68
+ this.statsPerType,
69
+ this.groups[group],
70
+ timing,
71
+ browsertimeRunData.timings[timing]
72
+ );
73
+ }
74
+ });
75
+
76
+ forEach(browsertimeRunData.timings.navigationTiming, (value, name) => {
77
+ if (value) {
78
+ pushGroupStats(
79
+ this.statsPerType,
80
+ this.groups[group],
81
+ ['navigationTiming', name],
82
+ value
83
+ );
84
+ }
85
+ });
86
+
87
+ forEach(browsertimeRunData.timings.pageTimings, (value, name) => {
86
88
  pushGroupStats(
87
89
  this.statsPerType,
88
90
  this.groups[group],
89
- ['navigationTiming', name],
91
+ ['pageTimings', name],
90
92
  value
91
93
  );
92
- }
93
- });
94
+ });
94
95
 
95
- // pick up one level of custom metrics
96
- forEach(browsertimeRunData.custom, (value, name) => {
97
- pushGroupStats(
98
- this.statsPerType,
99
- this.groups[group],
100
- ['custom', name],
101
- value
102
- );
103
- });
96
+ forEach(browsertimeRunData.timings.paintTiming, (value, name) => {
97
+ pushGroupStats(
98
+ this.statsPerType,
99
+ this.groups[group],
100
+ ['paintTiming', name],
101
+ value
102
+ );
103
+ });
104
104
 
105
- forEach(browsertimeRunData.timings.pageTimings, (value, name) => {
106
- pushGroupStats(
107
- this.statsPerType,
108
- this.groups[group],
109
- ['pageTimings', name],
110
- value
111
- );
112
- });
105
+ forEach(browsertimeRunData.timings.userTimings.marks, timing => {
106
+ pushGroupStats(
107
+ this.statsPerType,
108
+ this.groups[group],
109
+ ['userTimings', 'marks', timing.name],
110
+ timing.startTime
111
+ );
112
+ });
113
113
 
114
- forEach(browsertimeRunData.timings.paintTiming, (value, name) => {
115
- pushGroupStats(
116
- this.statsPerType,
117
- this.groups[group],
118
- ['paintTiming', name],
119
- value
120
- );
121
- });
114
+ forEach(browsertimeRunData.timings.userTimings.measures, timing => {
115
+ pushGroupStats(
116
+ this.statsPerType,
117
+ this.groups[group],
118
+ ['userTimings', 'measures', timing.name],
119
+ timing.duration
120
+ );
121
+ });
122
+ }
122
123
 
123
- forEach(browsertimeRunData.timings.userTimings.marks, timing => {
124
+ if (
125
+ browsertimeRunData.pageinfo &&
126
+ browsertimeRunData.pageinfo.cumulativeLayoutShift
127
+ ) {
124
128
  pushGroupStats(
125
129
  this.statsPerType,
126
130
  this.groups[group],
127
- ['userTimings', 'marks', timing.name],
128
- timing.startTime
131
+ ['pageinfo', 'cumulativeLayoutShift'],
132
+ browsertimeRunData.pageinfo.cumulativeLayoutShift
129
133
  );
130
- });
134
+ }
131
135
 
132
- forEach(browsertimeRunData.timings.userTimings.measures, timing => {
136
+ // pick up one level of custom metrics
137
+ forEach(browsertimeRunData.custom, (value, name) => {
133
138
  pushGroupStats(
134
139
  this.statsPerType,
135
140
  this.groups[group],
136
- ['userTimings', 'measures', timing.name],
137
- timing.duration
141
+ ['custom', name],
142
+ value
138
143
  );
139
144
  });
140
145
 
@@ -204,10 +204,10 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
204
204
  group = parse(url).hostname;
205
205
  }
206
206
  let runIndex = 0;
207
- for (let run of result[resultIndex].browserScripts) {
208
- // Kind of ugly way to add visualMetrics to a run
209
- // it's outside of browserScripts today
210
- // we could instead pass browsertime.visualMetrics maybe
207
+ for (let browserScriptsData of result[resultIndex].browserScripts) {
208
+ let run = {};
209
+ Object.assign(run, browserScriptsData);
210
+
211
211
  if (result[resultIndex].visualMetrics) {
212
212
  run.visualMetrics = result[resultIndex].visualMetrics[runIndex];
213
213
  }
@@ -461,7 +461,7 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
461
461
 
462
462
  // If the coach is turned on, collect the coach result
463
463
  if (options.coach) {
464
- const coachAdvice = run.coach.coachAdvice;
464
+ const coachAdvice = browserScriptsData.coach.coachAdvice;
465
465
  // check if the coach has error(s)
466
466
  if (!isEmpty(coachAdvice.errors)) {
467
467
  log.error(
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "sitespeed.io",
3
- "version": "27.9.2",
3
+ "version": "28.0.0-beta.1",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sitespeed.io",
9
- "version": "27.9.2",
9
+ "version": "28.0.0-beta.1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@google-cloud/storage": "6.9.5",
@@ -15,7 +15,7 @@
15
15
  "@tgwf/co2": "0.13.4",
16
16
  "aws-sdk": "2.1327.0",
17
17
  "axe-core": "4.7.2",
18
- "browsertime": "17.11.1",
18
+ "browsertime": "17.11.2",
19
19
  "cli-color": "2.0.3",
20
20
  "coach-core": "7.2.0",
21
21
  "concurrent-queue": "7.0.2",
@@ -1872,9 +1872,9 @@
1872
1872
  }
1873
1873
  },
1874
1874
  "node_modules/browsertime": {
1875
- "version": "17.11.1",
1876
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.11.1.tgz",
1877
- "integrity": "sha512-KcGnDH1pVEmfwh5x3A6ix1ZK5mWeSlZk5dG82ygW6JQ79mfVjteRKYXJcEV+SDY0k6sXg1qhZpEPobaciPAOwA==",
1875
+ "version": "17.11.2",
1876
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.11.2.tgz",
1877
+ "integrity": "sha512-9ELgoajRcgFhKMal3vZUw6O8pbdZsLBfYkjdMLeammeG900HnCAPVVHkDiH/alhFofNgpuRvElbPsTyLGQ6mIA==",
1878
1878
  "dependencies": {
1879
1879
  "@cypress/xvfb": "1.2.4",
1880
1880
  "@devicefarmer/adbkit": "2.11.3",
@@ -1889,7 +1889,7 @@
1889
1889
  "dayjs": "1.11.7",
1890
1890
  "execa": "7.1.1",
1891
1891
  "fast-stats": "0.0.6",
1892
- "ff-test-bidi-har-export": "0.0.10",
1892
+ "ff-test-bidi-har-export": "0.0.11",
1893
1893
  "find-up": "6.3.0",
1894
1894
  "get-port": "6.1.2",
1895
1895
  "hasbin": "1.2.3",
@@ -3905,9 +3905,9 @@
3905
3905
  }
3906
3906
  },
3907
3907
  "node_modules/ff-test-bidi-har-export": {
3908
- "version": "0.0.10",
3909
- "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.10.tgz",
3910
- "integrity": "sha512-0azA5fUrA3Fn4KFAg2LcFqM2Xav7+H41gj4GHgLMhZxSyHfPV0yhbs1y+6sv+skgak/IbBb75KZmkj0VFsdyEg=="
3908
+ "version": "0.0.11",
3909
+ "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.11.tgz",
3910
+ "integrity": "sha512-a4AvGtVGdzRza29cD5GKAz8lUmXHZmnCcJluCH4UrL19QcUi9z6MaUrqqWyJBmWr1RBUmuCOf534mFQpYIaorA=="
3911
3911
  },
3912
3912
  "node_modules/figures": {
3913
3913
  "version": "5.0.0",
@@ -10844,9 +10844,9 @@
10844
10844
  }
10845
10845
  },
10846
10846
  "browsertime": {
10847
- "version": "17.11.1",
10848
- "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.11.1.tgz",
10849
- "integrity": "sha512-KcGnDH1pVEmfwh5x3A6ix1ZK5mWeSlZk5dG82ygW6JQ79mfVjteRKYXJcEV+SDY0k6sXg1qhZpEPobaciPAOwA==",
10847
+ "version": "17.11.2",
10848
+ "resolved": "https://registry.npmjs.org/browsertime/-/browsertime-17.11.2.tgz",
10849
+ "integrity": "sha512-9ELgoajRcgFhKMal3vZUw6O8pbdZsLBfYkjdMLeammeG900HnCAPVVHkDiH/alhFofNgpuRvElbPsTyLGQ6mIA==",
10850
10850
  "requires": {
10851
10851
  "@cypress/xvfb": "1.2.4",
10852
10852
  "@devicefarmer/adbkit": "2.11.3",
@@ -10861,7 +10861,7 @@
10861
10861
  "dayjs": "1.11.7",
10862
10862
  "execa": "7.1.1",
10863
10863
  "fast-stats": "0.0.6",
10864
- "ff-test-bidi-har-export": "0.0.10",
10864
+ "ff-test-bidi-har-export": "0.0.11",
10865
10865
  "find-up": "6.3.0",
10866
10866
  "get-port": "6.1.2",
10867
10867
  "hasbin": "1.2.3",
@@ -12378,9 +12378,9 @@
12378
12378
  }
12379
12379
  },
12380
12380
  "ff-test-bidi-har-export": {
12381
- "version": "0.0.10",
12382
- "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.10.tgz",
12383
- "integrity": "sha512-0azA5fUrA3Fn4KFAg2LcFqM2Xav7+H41gj4GHgLMhZxSyHfPV0yhbs1y+6sv+skgak/IbBb75KZmkj0VFsdyEg=="
12381
+ "version": "0.0.11",
12382
+ "resolved": "https://registry.npmjs.org/ff-test-bidi-har-export/-/ff-test-bidi-har-export-0.0.11.tgz",
12383
+ "integrity": "sha512-a4AvGtVGdzRza29cD5GKAz8lUmXHZmnCcJluCH4UrL19QcUi9z6MaUrqqWyJBmWr1RBUmuCOf534mFQpYIaorA=="
12384
12384
  },
12385
12385
  "figures": {
12386
12386
  "version": "5.0.0",
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": "27.9.2",
8
+ "version": "28.0.0-beta.1",
9
9
  "description": "Analyze the web performance of your site",
10
10
  "keywords": [
11
11
  "performance",
@@ -83,7 +83,7 @@
83
83
  "@tgwf/co2": "0.13.4",
84
84
  "aws-sdk": "2.1327.0",
85
85
  "axe-core": "4.7.2",
86
- "browsertime": "17.11.1",
86
+ "browsertime": "17.11.2",
87
87
  "coach-core": "7.2.0",
88
88
  "cli-color": "2.0.3",
89
89
  "concurrent-queue": "7.0.2",