browsertime 24.9.0 → 25.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,5 +1,23 @@
1
1
  # Browsertime changelog (we do [semantic versioning](https://semver.org))
2
2
 
3
+ ## 25.1.0 - 2025-09-05
4
+ ### Added
5
+ * Updated to Chrome/Chromedriver 140, Firefox 142 [#2318](https://github.com/sitespeedio/browsertime/pull/2318).
6
+ * Selenium webdriver 4.35.0 [#2317](https://github.com/sitespeedio/browsertime/pull/2317).
7
+
8
+ ## 25.0.0 - 2025-07-16
9
+
10
+ ### Breaking
11
+ * Support NodeJS 20 or later for Browsertime [#2307](https://github.com/sitespeedio/browsertime/pull/2307)
12
+ * Removed the old and outdated VisualMetrics [#2306](https://github.com/sitespeedio/browsertime/pull/2306). `--visualMetricsPortable` is removed and the "new" version is always used.
13
+
14
+ ### Added
15
+ * Updated to Yargs 18.0.0 [#2305](https://github.com/sitespeedio/browsertime/pull/2305).
16
+
17
+ ### Fixed
18
+ * Updated dev dependencies [#2308](https://github.com/sitespeedio/browsertime/pull/2308) and [#2309](https://github.com/sitespeedio/browsertime/pull/2309).
19
+ * Updated Edge dependency so it uses the new Microsoft domain for downloading [#2312](https://github.com/sitespeedio/browsertime/pull/2312).
20
+
3
21
  ## 24.9.0 - 2025-06-30
4
22
  ### Added
5
23
  * Update Docker container to use Chrome/edge 138, Firefox 140. Add Edgedriver and Chromedrinver 138 [#2303](https://github.com/sitespeedio/browsertime/pull/2303).
@@ -45,7 +45,7 @@ function hasbin(bin) {
45
45
  function validateInput(argv) {
46
46
  // Check NodeJS major version
47
47
  const fullVersion = process.versions.node;
48
- const minVersion = 14;
48
+ const minVersion = 20;
49
49
  const majorVersion = fullVersion.split('.')[0];
50
50
  if (majorVersion < minVersion) {
51
51
  return (
@@ -740,12 +740,6 @@ export function parseCommandLine() {
740
740
  type: 'boolean',
741
741
  describe: 'Collect Contentful Speed Index when you run --visualMetrics.'
742
742
  })
743
- .option('visualMetricsPortable', {
744
- type: 'boolean',
745
- default: true,
746
- describe:
747
- 'Use the portable visual-metrics processing script (no ImageMagick dependencies).'
748
- })
749
743
  .option('visualMetricsKeyColor', {
750
744
  type: 'array',
751
745
  nargs: 8,
@@ -8,16 +8,6 @@ import { getProperty } from '../../../support/util.js';
8
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
9
  const log = getLogger('browsertime.video');
10
10
 
11
- const SCRIPT_PATH = path.join(
12
- __dirname,
13
- '..',
14
- '..',
15
- '..',
16
- '..',
17
- 'visualmetrics',
18
- 'visualmetrics.py'
19
- );
20
-
21
11
  const PORTABLE_SCRIPT_PATH = path.join(
22
12
  __dirname,
23
13
  '..',
@@ -28,16 +18,11 @@ const PORTABLE_SCRIPT_PATH = path.join(
28
18
  'visualmetrics-portable.py'
29
19
  );
30
20
 
31
- function getScript(options) {
32
- if (options.visualMetricsPortable) {
33
- log.info('Use the visual metrics portable script');
34
- return PORTABLE_SCRIPT_PATH;
35
- }
36
- return SCRIPT_PATH;
37
- }
38
-
39
- export async function checkDependencies(options) {
40
- return execa(process.env.PYTHON || 'python', [getScript(options), '--check']);
21
+ export async function checkDependencies() {
22
+ return execa(process.env.PYTHON || 'python', [
23
+ PORTABLE_SCRIPT_PATH,
24
+ '--check'
25
+ ]);
41
26
  }
42
27
  export async function run(
43
28
  videoPath,
@@ -141,13 +126,13 @@ export async function run(
141
126
  scriptArguments.push('-vvv');
142
127
  }
143
128
 
144
- scriptArguments.unshift(getScript(options));
129
+ scriptArguments.unshift(PORTABLE_SCRIPT_PATH);
145
130
 
146
- log.debug('Running visualmetrics.py ' + scriptArguments.join(' '));
131
+ log.debug('Running visualmetrics ' + scriptArguments.join(' '));
147
132
  log.info('Get visual metrics from the video');
148
133
  try {
149
134
  const result = await execa(process.env.PYTHON || 'python', scriptArguments);
150
- log.debug('visualmetrics.py output:' + result.stdout);
135
+ log.debug('visualmetrics output:' + result.stdout);
151
136
  if (options.verbose < 1) {
152
137
  try {
153
138
  await removeFile(visualMetricsLogFile);
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "browsertime",
3
3
  "description": "Get performance metrics from your web page using Browsertime.",
4
- "version": "24.9.0",
4
+ "version": "25.1.0",
5
5
  "bin": "./bin/browsertime.js",
6
6
  "type": "module",
7
7
  "types": "./types/scripting.d.ts",
8
8
  "dependencies": {
9
9
  "@devicefarmer/adbkit": "3.3.8",
10
- "@sitespeed.io/chromedriver": "138.0.7204-49",
11
- "@sitespeed.io/edgedriver": "138.0.3351-55",
10
+ "@sitespeed.io/chromedriver": "140.0.7339-80",
11
+ "@sitespeed.io/edgedriver": "138.0.3351-83",
12
12
  "@sitespeed.io/geckodriver": "0.36.0",
13
13
  "@sitespeed.io/log": "0.2.6",
14
14
  "@sitespeed.io/throttle": "5.0.1",
@@ -19,8 +19,8 @@
19
19
  "fast-stats": "0.0.7",
20
20
  "ff-test-bidi-har-export": "0.0.17",
21
21
  "lodash.merge": "4.6.2",
22
- "selenium-webdriver": "4.34.0",
23
- "yargs": "17.7.2"
22
+ "selenium-webdriver": "4.35.0",
23
+ "yargs": "18.0.0"
24
24
  },
25
25
  "optionalDependencies": {
26
26
  "@jimp/custom": "0.22.12",
@@ -32,20 +32,20 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/selenium-webdriver": "4.1.25",
35
- "ava": "6.3.0",
35
+ "ava": "6.4.0",
36
36
  "clean-jsdoc-theme": "4.3.0",
37
- "eslint": "9.27.0",
37
+ "eslint": "9.30.1",
38
38
  "eslint-config-prettier": "10.1.5",
39
- "eslint-plugin-prettier": "5.4.1",
40
- "eslint-plugin-unicorn": "56.0.1",
39
+ "eslint-plugin-prettier": "5.5.1",
40
+ "eslint-plugin-unicorn": "59.0.1",
41
41
  "jsdoc": "4.0.4",
42
- "prettier": "3.5.3",
42
+ "prettier": "3.6.2",
43
43
  "serve": "14.2.4",
44
44
  "serve-handler": "6.1.6",
45
45
  "typescript": "5.7.2"
46
46
  },
47
47
  "engines": {
48
- "node": ">=18.0.0"
48
+ "node": ">=20.0.0"
49
49
  },
50
50
  "files": [
51
51
  "CHANGELOG.md",
@@ -56,7 +56,6 @@
56
56
  "browserscripts",
57
57
  "browsersupport",
58
58
  "visualmetrics/visualmetrics-portable.py",
59
- "visualmetrics/visualmetrics.py",
60
59
  "browsertime.png",
61
60
  "index.js",
62
61
  "lib",
@@ -1,3 +1,3 @@
1
- export function checkDependencies(options: any): Promise<import("execa").Result<{}>>;
1
+ export function checkDependencies(): Promise<import("execa").Result<{}>>;
2
2
  export function run(videoPath: any, imageDirPath: any, elementsFile: any, videoDir: any, index: any, pageNumber: any, visitedPageNumber: any, options: any): Promise<any>;
3
3
  //# sourceMappingURL=visualMetrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/visualMetrics.js"],"names":[],"mappings":"AAsCA,qFAEC;AACD,0KAqIC"}
1
+ {"version":3,"file":"visualMetrics.d.ts","sourceRoot":"","sources":["../../../../lib/video/postprocessing/visualmetrics/visualMetrics.js"],"names":[],"mappings":"AAoBA,yEAKC;AACD,0KAqIC"}