browsertime 23.4.5 → 23.5.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 +14 -1
- package/lib/core/engine/command/measure.js +12 -1
- package/lib/core/engine/index.js +7 -2
- package/lib/support/cli.js +4 -0
- package/lib/support/userTiming.js +10 -0
- package/package.json +12 -12
- package/types/core/engine/command/measure.d.ts.map +1 -1
- package/types/support/storageManager.d.ts +0 -1
- package/types/support/storageManager.d.ts.map +1 -1
- package/types/support/userTiming.d.ts +1 -0
- package/types/support/userTiming.d.ts.map +1 -1
- package/types/video/defaults.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# Browsertime changelog (we do [semantic versioning](https://semver.org))
|
|
2
2
|
|
|
3
|
-
## 23.
|
|
3
|
+
## 23.5.0 - 2024-12-23
|
|
4
|
+
### Added
|
|
5
|
+
* Added `--userTimingBlockList` [#2227](https://github.com/sitespeedio/browsertime/pull/2227).
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
* Updated to webdriver 4.28 [#2226](https://github.com/sitespeedio/browsertime/pull/2226).
|
|
9
|
+
* Updated dev dependencies [#2228](https://github.com/sitespeedio/browsertime/pull/2228).
|
|
10
|
+
* Fix so the check for gnirehtet always use --android.gnirehtet to fix problens setting it in sitespeed.io [#2229](https://github.com/sitespeedio/browsertime/pull/2229).
|
|
11
|
+
* Update to execa 9.5.2 [#2231](https://github.com/sitespeedio/browsertime/pull/2231).
|
|
12
|
+
* Update to adbkit 3.3.8 [#2232](https://github.com/sitespeedio/browsertime/pull/2232).
|
|
13
|
+
* Fix so you cannot use gnirehtet with webpagereplay [#2230](https://github.com/sitespeedio/browsertime/pull/2230).
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## 23.4.5 - 2024-12-20
|
|
4
17
|
### Fixed
|
|
5
18
|
* Change bottom margin from 10 to 14 pixel when recoring a video on mobile, se bug [#2224](https://github.com/sitespeedio/browsertime/issues/2224) and PR [#2225](https://github.com/sitespeedio/browsertime/pull/2225).
|
|
6
19
|
|
|
@@ -6,7 +6,10 @@ import { timestamp as _timestamp } from '../../../support/engineUtils.js';
|
|
|
6
6
|
import { Video } from '../../../video/video.js';
|
|
7
7
|
import { pathToFolder } from '../../../support/pathToFolder.js';
|
|
8
8
|
import { setOrangeBackground } from '../../../video/screenRecording/setOrangeBackground.js';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
filterAllowlisted,
|
|
11
|
+
filterBlocklisted
|
|
12
|
+
} from '../../../support/userTiming.js';
|
|
10
13
|
import { isAndroidConfigured, Android } from '../../../android/index.js';
|
|
11
14
|
import { TCPDump } from '../../../support/tcpdump.js';
|
|
12
15
|
import { lcpHighlightScript as highlightLargestContentfulPaint } from './util/lcpHighlightScript.js';
|
|
@@ -643,6 +646,14 @@ export class Measure {
|
|
|
643
646
|
);
|
|
644
647
|
}
|
|
645
648
|
|
|
649
|
+
if (this.options.userTimingBlockList) {
|
|
650
|
+
filterBlocklisted(
|
|
651
|
+
this.result[this.numberOfMeasuredPages].browserScripts.timings
|
|
652
|
+
.userTimings,
|
|
653
|
+
this.options.userTimingAllowList
|
|
654
|
+
);
|
|
655
|
+
}
|
|
656
|
+
|
|
646
657
|
if (isAndroidConfigured(this.options) && this.options.processStartTime) {
|
|
647
658
|
const packageName =
|
|
648
659
|
this.options.browser === 'firefox'
|
package/lib/core/engine/index.js
CHANGED
|
@@ -93,7 +93,7 @@ export class Engine {
|
|
|
93
93
|
await android._init();
|
|
94
94
|
this.android = android;
|
|
95
95
|
|
|
96
|
-
if (options.gnirehtet === true) {
|
|
96
|
+
if (options.android.gnirehtet === true && !options.webpagereplay) {
|
|
97
97
|
this.gnirehtet = new Gnirehtet(options);
|
|
98
98
|
await this.gnirehtet.start();
|
|
99
99
|
}
|
|
@@ -520,7 +520,12 @@ export class Engine {
|
|
|
520
520
|
}
|
|
521
521
|
}
|
|
522
522
|
|
|
523
|
-
if (
|
|
523
|
+
if (
|
|
524
|
+
!options.webpagereplay &&
|
|
525
|
+
options.android &&
|
|
526
|
+
options.android.gnirehtet === true &&
|
|
527
|
+
this.gnirehtet
|
|
528
|
+
) {
|
|
524
529
|
await this.gnirehtet.stop();
|
|
525
530
|
}
|
|
526
531
|
|
package/lib/support/cli.js
CHANGED
|
@@ -1255,6 +1255,10 @@ export function parseCommandLine() {
|
|
|
1255
1255
|
describe:
|
|
1256
1256
|
'All userTimings are captured by default this option takes a regex that will allow which userTimings to capture in the results.'
|
|
1257
1257
|
})
|
|
1258
|
+
.option('userTimingBlockList', {
|
|
1259
|
+
describe:
|
|
1260
|
+
'All userTimings are captured by default this option takes a regex that will block some usertimings in the results.'
|
|
1261
|
+
})
|
|
1258
1262
|
.option('headless', {
|
|
1259
1263
|
type: 'boolean',
|
|
1260
1264
|
default: false,
|
|
@@ -5,3 +5,13 @@ export function filterAllowlisted(userTimings, allowlistRegex) {
|
|
|
5
5
|
allowed.test(measure.name)
|
|
6
6
|
);
|
|
7
7
|
}
|
|
8
|
+
|
|
9
|
+
export function filterBlocklisted(userTimings, blocklistRegex) {
|
|
10
|
+
const blocked = new RegExp(blocklistRegex);
|
|
11
|
+
userTimings.marks = userTimings.marks.filter(
|
|
12
|
+
mark => !blocked.test(mark.name)
|
|
13
|
+
);
|
|
14
|
+
userTimings.measures = userTimings.measures.filter(
|
|
15
|
+
measure => !blocked.test(measure.name)
|
|
16
|
+
);
|
|
17
|
+
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browsertime",
|
|
3
3
|
"description": "Get performance metrics from your web page using Browsertime.",
|
|
4
|
-
"version": "23.
|
|
4
|
+
"version": "23.5.0",
|
|
5
5
|
"bin": "./bin/browsertime.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"types": "./types/scripting.d.ts",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@cypress/xvfb": "1.2.4",
|
|
10
|
-
"@devicefarmer/adbkit": "3.
|
|
10
|
+
"@devicefarmer/adbkit": "3.3.8",
|
|
11
11
|
"@sitespeed.io/chromedriver": "131.0.6778-69",
|
|
12
12
|
"@sitespeed.io/edgedriver": "126.0.2592-102",
|
|
13
13
|
"@sitespeed.io/geckodriver": "0.35.0-1",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"chrome-har": "1.0.1",
|
|
18
18
|
"chrome-remote-interface": "0.33.2",
|
|
19
19
|
"dayjs": "1.11.13",
|
|
20
|
-
"execa": "9.
|
|
20
|
+
"execa": "9.5.2",
|
|
21
21
|
"fast-stats": "0.0.7",
|
|
22
22
|
"ff-test-bidi-har-export": "0.0.17",
|
|
23
23
|
"find-up": "7.0.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"lodash.merge": "4.6.2",
|
|
31
31
|
"lodash.pick": "4.4.0",
|
|
32
32
|
"lodash.set": "4.3.2",
|
|
33
|
-
"selenium-webdriver": "4.
|
|
33
|
+
"selenium-webdriver": "4.27.0",
|
|
34
34
|
"usb-power-profiling": "1.5.0",
|
|
35
35
|
"yargs": "17.7.2"
|
|
36
36
|
},
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/selenium-webdriver": "4.1.25",
|
|
42
|
-
"ava": "6.
|
|
42
|
+
"ava": "6.2.0",
|
|
43
43
|
"clean-jsdoc-theme": "4.3.0",
|
|
44
|
-
"eslint": "9.
|
|
44
|
+
"eslint": "9.17.0",
|
|
45
45
|
"eslint-config-prettier": "9.1.0",
|
|
46
46
|
"eslint-plugin-prettier": "5.2.1",
|
|
47
|
-
"eslint-plugin-unicorn": "
|
|
48
|
-
"jsdoc": "4.0.
|
|
49
|
-
"prettier": "3.
|
|
50
|
-
"serve": "14.2.
|
|
51
|
-
"serve-handler": "6.1.
|
|
52
|
-
"typescript": "5.
|
|
47
|
+
"eslint-plugin-unicorn": "56.0.1",
|
|
48
|
+
"jsdoc": "4.0.4",
|
|
49
|
+
"prettier": "3.4.2",
|
|
50
|
+
"serve": "14.2.4",
|
|
51
|
+
"serve-handler": "6.1.6",
|
|
52
|
+
"typescript": "5.7.2"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18.0.0"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../../lib/core/engine/command/measure.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../../lib/core/engine/command/measure.js"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH;IACE,gQAuGC;IAxFC;;OAEG;IACH,gBAAsB;IACtB;;OAEG;IACH,0BAA0C;IAC1C;;OAEG;IACH,cAAkB;IAClB;;OAEG;IACH,eAAoB;IACpB;;OAEG;IACH,uBAAoC;IACpC;;OAEG;IACH,gBAAsB;IACtB;;OAEG;IACH,0BAA0C;IAC1C;;OAEG;IACH,uBAAoC;IACpC;;OAEG;IACH,oBAAyD;IACzD;;OAEG;IACH,eAAoB;IACpB;;OAEG;IACH,0BAA0C;IAC1C;;OAEG;IACH,+BAAoD;IACpD;;OAEG;IACH,uBAAoC;IACpC;;OAEG;IACH,gBAAsB;IACtB;;OAEG;IACH,8BAA8B;IAC9B;;OAEG;IACH,6BAA6B;IAC7B;;OAEG;IACH,uBAA2B;IAC3B;;OAEG;IACH,mBAAoB;IACpB;;OAEG;IACH,gBAA6D;IAC7D;;OAEG;IACH,2BAAsE;IACtE;;OAEG;IACH,uBAA8D;IAC9D;;OAEG;IACH,2BAAqE;IAGvE;;;OAGG;IACH,oBAsBC;IArBC,aAAuE;IAuBzE;;;OAGG;IACH,mBAKC;IAED;;;OAGG;IACH,eAyBC;IAED;;;OAGG;IACH,iBAQC;IAED;;;;;;;;;;;;OAYG;IACH,kBAmBC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,kBALW,MAAM,kBACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CAmFzB;IAED;;;;;;;;OAQG;IACH,0BAJW,MAAM,gBAiBhB;IACD;;;;;;;;;OASG;IACH,qBAJW,MAAM,gBAyEhB;IAED;;;;;;;OAOG;IACH,UAJW,MAAM,SACN,GAAC,QAWX;IAED;;;;;;;OAOG;IACH,6BAOC;IAED;;;OAGG;IACH,gBAoLC;CACF;sBA7qBqB,yBAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageManager.d.ts","sourceRoot":"","sources":["../../lib/support/storageManager.js"],"names":[],"mappings":"AAmDA;IACE
|
|
1
|
+
{"version":3,"file":"storageManager.d.ts","sourceRoot":"","sources":["../../lib/support/storageManager.js"],"names":[],"mappings":"AAmDA;IACE;;OAKC;IAJC,gBAE6D;IAC7D,wBAA0C;IAG5C,iCAGC;IAED,kDAIC;IAED,iCAEC;IAED,kEASC;IAED,sEAQC;IAED,+DAcC;IAED,sEAmBC;IAED,wBAEC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userTiming.d.ts","sourceRoot":"","sources":["../../lib/support/userTiming.js"],"names":[],"mappings":"AAAA,+EAMC"}
|
|
1
|
+
{"version":3,"file":"userTiming.d.ts","sourceRoot":"","sources":["../../lib/support/userTiming.js"],"names":[],"mappings":"AAAA,+EAMC;AAED,+EAQC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../lib/video/defaults.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../lib/video/defaults.js"],"names":[],"mappings":"AAAA,wBAAyB,EAAE,CAAC;AAC5B,kBAAmB,EAAE,CAAC;AACtB,0BAA2B,EAAE,CAAC;AAC9B,uBAAwB,IAAI,CAAC;AAC7B,sBAAuB,IAAI,CAAC;AAC5B,sBAAuB,CAAC,CAAC"}
|