Skip to content

fix: declare webdriverio as a dependency, not a peer (install parity)#45

Merged
AakashHotchandani merged 1 commit into
migration/monorepo-add-wdio-browserstack-servicefrom
fix/webdriverio-peer-to-dep
Jul 13, 2026
Merged

fix: declare webdriverio as a dependency, not a peer (install parity)#45
AakashHotchandani merged 1 commit into
migration/monorepo-add-wdio-browserstack-servicefrom
fix/webdriverio-peer-to-dep

Conversation

@AakashHotchandani

Copy link
Copy Markdown
Collaborator

Problem

Installing the standalone @wdio/browserstack-service tgz fails with npm ERESOLVE in projects that also depend on a package peering webdriverio@"^7 || ^8" (e.g. wdio-chromedriver-service@^8) — a failure the monorepo-published package never had.

Root cause

The extraction moved webdriverio from dependenciespeerDependencies (^9.0.0). That peer forces the consumer's webdriverio to ^9, colliding with the other package's ^7||^8 peer.

Verified this is the only divergence (same version, 9.29.1):

dep monorepo source official npm 9.29.1 standalone (before this PR)
webdriverio dependencies workspace:* dependencies 9.29.1 peerDependencies ^9.0.0 ⚠️
@wdio/cli peerDependencies peerDependencies peerDependencies ✅
@wdio/logger/reporter/types dependencies dependencies dependencies ✅

Proof

  • Regression with the official npm 9.29.1 tgz → no ERESOLVE, 858 passed (tests ran).
  • Regression with the standalone tgz (same 9.29.1) → ERESOLVE at install.
  • The two tarballs differ only in this webdriverio dep/peer placement.

Fix

Move webdriverio back to dependencies (matching the upstream package), so the standalone installs identically to what users get today. No user-facing API change — this restores the "zero-change" parity goal of the extraction.

Lockfile diff is minimal: webdriverio was already resolved (npm auto-installs peers), so it's just reclassified under the service package node.

🤖 Generated with Claude Code

… peer

The extraction moved webdriverio from dependencies (as in the WebdriverIO monorepo /
the published @wdio/browserstack-service@9.29.1) into peerDependencies (^9.0.0). That
forces the consumer's webdriverio to ^9 and npm ERESOLVEs against any dep peering
webdriverio@^7||^8 (e.g. wdio-chromedriver-service@^8) — an install failure the
monorepo package never had. Move it back to dependencies to restore install parity.

Verified: official npm 9.29.1 and monorepo source both keep webdriverio in
dependencies and peer only @wdio/cli; the standalone was the sole divergence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@AakashHotchandani AakashHotchandani requested a review from a team as a code owner July 13, 2026 14:08
@AakashHotchandani AakashHotchandani requested review from pri-gadhiya and vivianludrick and removed request for a team July 13, 2026 14:08
@AakashHotchandani AakashHotchandani merged commit bf5de42 into migration/monorepo-add-wdio-browserstack-service Jul 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant