From e20dba847ea475a94ad28ccb7efea1e6186154b7 Mon Sep 17 00:00:00 2001 From: dprevost-perso Date: Mon, 21 Sep 2026 21:12:21 -0400 Subject: [PATCH 1/3] fix: repository metadata and stale doc links across driver packages npm publish was failing sigstore provenance verification because package.json repository.url still pointed at the old pre-monorepo repos instead of webdriverio/driver. Also updates homepage/bugs URLs, README badges/links, and a couple of stale/dead doc links (Azure CDN domain, Edge driver directory listing) found while auditing the READMEs. Co-Authored-By: Claude Sonnet 5 --- README.md | 2 +- packages/node-edgedriver/README.md | 14 ++++++++------ packages/node-edgedriver/package.json | 3 ++- packages/node-geckodriver/README.md | 11 ++++++++--- packages/node-geckodriver/package.json | 7 ++++--- packages/node-safaridriver/README.md | 2 +- packages/node-safaridriver/package.json | 7 ++++--- 7 files changed, 28 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 701971c..b885700 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # WebdriverIO Browser Drivers Monorepo (WIP) -This monorepo contains Node.js wrappers for managing browser driver binaries ([Geckodriver](https://github.com/webdriverio-community/node-geckodriver/blob/main/README.md), [Edgedriver](https://github.com/webdriverio-community/node-edgedriver/blob/main/README.md), and [Safaridriver](https://github.com/webdriverio-community/node-safaridriver)). These packages facilitate downloading, starting, and managing driver server processes for [WebdriverIO](https://webdriver.io) and other test automation frameworks. +This monorepo contains Node.js wrappers for managing browser driver binaries ([Geckodriver](https://github.com/webdriverio/driver/blob/main/packages/node-geckodriver/README.md), [Edgedriver](https://github.com/webdriverio/driver/blob/main/packages/node-edgedriver/README.md), and [Safaridriver](https://github.com/webdriverio/driver/blob/main/packages/node-safaridriver/README.md)). These packages facilitate downloading, starting, and managing driver server processes for [WebdriverIO](https://webdriver.io) and other test automation frameworks. --- diff --git a/packages/node-edgedriver/README.md b/packages/node-edgedriver/README.md index ca33df3..5edb5f8 100644 --- a/packages/node-edgedriver/README.md +++ b/packages/node-edgedriver/README.md @@ -1,4 +1,4 @@ -EdgeDriver [![CI](https://github.com/webdriverio-community/node-edgedriver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio-community/node-edgedriver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio-community/node-edgedriver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio-community/node-edgedriver/actions/workflows/audit.yml) +EdgeDriver [![CI](https://github.com/webdriverio/driver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio/driver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/audit.yml) ========== An NPM wrapper for Microsoft's [EdgeDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/). It manages to download various (or the latest) Edgedriver versions and provides a programmatic interface to start and stop it within Node.js. __Note:__ this is a wrapper module. If you discover any bugs with EdgeDriver, please report them in the [official repository](https://github.com/MicrosoftEdge/EdgeWebDriver). @@ -109,25 +109,27 @@ This allows you to use your own endpoints for downloading Edgedriver binaries. I ```sh $ npm i edgedriver -$ EDGEDRIVER_CDNURL=https://msedgedriver.azureedge.net npx edgedriver --version +$ EDGEDRIVER_CDNURL=https://msedgedriver.microsoft.com npx edgedriver --version ``` or create a [`.npmrc`](https://docs.npmjs.com/cli/configuring-npm/npmrc) with the following content: ```toml -edgedriver_cdnurl=https://msedgedriver.azureedge.net +edgedriver_cdnurl=https://msedgedriver.microsoft.com ``` +The default location is set to https://msedgedriver.microsoft.com + ## Options The `start` method offers the following options to be passed on to the actual Edgedriver CLI. ### edgeDriverVersion -The version of EdgeDriver to start. See [Edgedriver directory list](https://msedgewebdriverstorage.z22.web.core.windows.net/) for all available versions, platforms and architecture. +The version of EdgeDriver to start. See the [EdgeDriver downloads page](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/) for all available versions, platforms and architecture. -Type: `number`
-Default: `latest` +Type: `string`
+Default: auto-detected from the Microsoft Edge version installed on the system ### port The port on which the driver should run. diff --git a/packages/node-edgedriver/package.json b/packages/node-edgedriver/package.json index df47674..a5c61da 100644 --- a/packages/node-edgedriver/package.json +++ b/packages/node-edgedriver/package.json @@ -16,7 +16,8 @@ ], "repository": { "type": "git", - "url": "git://github.com/webdriverio-community/node-edgedriver.git" + "url": "git+https://github.com/webdriverio/driver.git", + "directory": "packages/node-edgedriver" }, "engines": { "node": ">=20.0.0" diff --git a/packages/node-geckodriver/README.md b/packages/node-geckodriver/README.md index 2f1ea96..010a1ad 100644 --- a/packages/node-geckodriver/README.md +++ b/packages/node-geckodriver/README.md @@ -1,4 +1,4 @@ -Geckodriver [![CI](https://github.com/webdriverio-community/node-geckodriver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio-community/node-geckodriver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio-community/node-geckodriver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio-community/node-geckodriver/actions/workflows/audit.yml) +Geckodriver [![CI](https://github.com/webdriverio/driver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio/driver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/audit.yml) ========== An npm wrapper for Mozilla's [Geckodriver](https://github.com/mozilla/geckodriver). It manages to download various (or the latest) Geckodriver versions and provides a programmatic interface to start and stop it within Node.js. __Note:__ this is a wrapper module. If you discover any bugs with Geckodriver, please report them in the [official repository](https://github.com/mozilla/geckodriver). @@ -195,6 +195,11 @@ Port to listen on. Type: `number` +### `websocketPort` +Port to use for Debugger / WebDriver BiDi. + +Type: `number` + ### `profileRoot` Directory in which to create profiles. Defaults to the system temporary directory. @@ -231,8 +236,8 @@ Default: `undefined` If you also look for other browser driver npm wrappers, you can find them here: - Chrome: [giggio/node-chromedriver](https://github.com/giggio/node-chromedriver) -- Microsoft Edge: [webdriverio-community/node-edgedriver](https://github.com/webdriverio-community/node-edgedriver) -- Safari: [webdriverio-community/node-safaridriver](https://github.com/webdriverio-community/node-safaridriver) +- Microsoft Edge: [webdriverio/driver - node-edgedriver](https://github.com/webdriverio/driver/tree/main/packages/node-edgedriver) +- Safari: [webdriverio/driver - node-safaridriver](https://github.com/webdriverio/driver/tree/main/packages/node-safaridriver) --- diff --git a/packages/node-geckodriver/package.json b/packages/node-geckodriver/package.json index 7656997..485436e 100644 --- a/packages/node-geckodriver/package.json +++ b/packages/node-geckodriver/package.json @@ -2,7 +2,7 @@ "name": "geckodriver", "version": "6.1.1", "description": "Mozilla's Geckodriver for Node.js", - "homepage": "https://github.com/webdriverio-community/node-geckodriver#readme", + "homepage": "https://github.com/webdriverio/driver/tree/main/packages/node-geckodriver#readme", "license": "MIT", "author": { "name": "vladikoff", @@ -25,7 +25,8 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/webdriverio-community/node-geckodriver.git" + "url": "git+https://github.com/webdriverio/driver.git", + "directory": "packages/node-geckodriver" }, "scripts": { "build": "tsc -b . && node ../../scripts/copy-cjs-pkg.mjs", @@ -40,7 +41,7 @@ "geckodriver": "./bin/geckodriver.js" }, "bugs": { - "url": "https://github.com/webdriverio-community/node-geckodriver/issues" + "url": "https://github.com/webdriverio/driver/issues" }, "type": "module", "types": "./dist/index.d.ts", diff --git a/packages/node-safaridriver/README.md b/packages/node-safaridriver/README.md index a68672b..bf32bad 100644 --- a/packages/node-safaridriver/README.md +++ b/packages/node-safaridriver/README.md @@ -1,4 +1,4 @@ -# Safaridriver for Node.js [![CI](https://github.com/webdriverio-community/node-safaridriver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio-community/node-safaridriver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio-community/node-safaridriver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio-community/node-safaridriver/actions/workflows/audit.yml) +# Safaridriver for Node.js [![CI](https://github.com/webdriverio/driver/actions/workflows/ci.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/ci.yml) [![Audit](https://github.com/webdriverio/driver/actions/workflows/audit.yml/badge.svg)](https://github.com/webdriverio/driver/actions/workflows/audit.yml) > A Node.js utility to manage Safaridriver sessions. diff --git a/packages/node-safaridriver/package.json b/packages/node-safaridriver/package.json index 8c054f9..c1d5773 100644 --- a/packages/node-safaridriver/package.json +++ b/packages/node-safaridriver/package.json @@ -4,10 +4,11 @@ "author": "Christian Bromann ", "license": "MIT", "description": "An NPM wrapper for handling the Safaridriver binary.", - "homepage": "https://github.com/webdriverio-community/node-safaridriver#readme", + "homepage": "https://github.com/webdriverio/driver/tree/main/packages/node-safaridriver#readme", "repository": { "type": "git", - "url": "git+https://github.com/webdriverio-community/node-safaridriver.git" + "url": "git+https://github.com/webdriverio/driver.git", + "directory": "packages/node-safaridriver" }, "keywords": [ "safari", @@ -17,7 +18,7 @@ "selenium" ], "bugs": { - "url": "https://github.com/webdriverio-community/node-safaridriver/issues" + "url": "https://github.com/webdriverio/driver/issues" }, "engines": { "node": ">=18.0.0" From d07fed5ec5ef7df279484d08529d0825776a9bd4 Mon Sep 17 00:00:00 2001 From: dprevost-perso Date: Mon, 21 Sep 2026 21:18:36 -0400 Subject: [PATCH 2/3] docs: link to safaridriver README from root options table Keeps all three driver sections consistent so future safaridriver options stay discoverable without needing to remember to update the root README's table. Co-Authored-By: Claude Sonnet 5 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b885700..b2ffef9 100644 --- a/README.md +++ b/README.md @@ -184,6 +184,8 @@ Passed into `safaridriver.start(options)`: | `enable` | `boolean` | `false` | Configures macOS permissions ("Enable Remote Automation") and exits immediately. | | `diagnose` | `boolean` | `false` | Enables diagnostic log output for driver sessions. | +See the [safaridriver README](packages/node-safaridriver/README.md) for more details. + --- ## License From 093ad43e875b97e5db4d254bf5052a745a45485b Mon Sep 17 00:00:00 2001 From: dprevost-perso Date: Mon, 21 Sep 2026 21:20:37 -0400 Subject: [PATCH 3/3] docs: clarify websocketPort default and connectExisting conflict Addresses PR review feedback: the wrapper forces --websocket-port=0 (a random port) when websocketPort is omitted, rather than using Geckodriver's native default, and throws if websocketPort is set alongside connectExisting. Co-Authored-By: Claude Sonnet 5 --- packages/node-geckodriver/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node-geckodriver/README.md b/packages/node-geckodriver/README.md index 010a1ad..22e0a0c 100644 --- a/packages/node-geckodriver/README.md +++ b/packages/node-geckodriver/README.md @@ -196,7 +196,7 @@ Port to listen on. Type: `number` ### `websocketPort` -Port to use for Debugger / WebDriver BiDi. +Port to use for Debugger / WebDriver BiDi. If omitted and `connectExisting` is not set, it defaults to `0` (a random available port) rather than Geckodriver's native default, so that parallel instances don't collide. Setting `websocketPort` together with `connectExisting: true` throws an error, since the two options can't be used together. Type: `number`