[playwright-browser-tunnel] Widen playwright-core peer dependency range - #5929
Merged
Bharat Middha (bmiddha) merged 2 commits intoAug 18, 2026
Merged
Conversation
Bharat Middha (bmiddha)
approved these changes
Aug 18, 2026
Sean Larkin (TheLarkInn)
approved these changes
Aug 18, 2026
Sean Larkin (TheLarkInn)
enabled auto-merge (squash)
August 18, 2026 03:39
The `~1.56.1` peer range pinned consumers to a single Playwright minor, even though the tunnel is not coupled to a specific version. The client sends its own installed `playwright-core` version in the handshake, and the host installs and imports that exact version on demand, so the client/browser-server version match is established at runtime rather than by the peer range. Only public API types are imported, and `LaunchOptionsValidator` enumerates launch options dynamically. Widen the peer range to `>=1.56.1 <2.0.0`, keeping a major-version ceiling so a future breaking release still gets an explicit review, and move the package's own Playwright dependencies to 1.62.1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The extension is not covered by a Rush change file, so its version is bumped manually alongside the `playwright-core` dependency update. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
auto-merge was automatically disabled
August 18, 2026 05:52
Head branch was pushed to by a user without write access
Arshad Narmawala (anarmawala)
force-pushed
the
widen-playwright-core-peer-range
branch
from
August 18, 2026 05:52
0d67c9b to
05c3247
Compare
Bharat Middha (bmiddha)
enabled auto-merge (squash)
August 18, 2026 06:08
Bharat Middha (bmiddha)
approved these changes
Aug 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Widens the
playwright-corepeer dependency range of@rushstack/playwright-browser-tunnelfrom~1.56.1to>=1.56.1 <2.0.0, and moves the package's own Playwright dependencies to the current release (1.62.1).Motivation
The
~1.56.1peer range forces every consumer onto one specific Playwright minor. Any consumer that upgrades Playwright is blocked until this package publishes a matching release, even though the tunnel itself is not coupled to a particular version.That coupling isn't real. The tunnel negotiates the Playwright version over the wire:
TunneledBrowserConnection.tsdefaultsplaywrightVersionto the client's installedplaywright-core/package.jsonversion and sends it in the handshake.PlaywrightBrowserTunnelreceives that version and installs it on the host on demand:`playwright-core-${playwrightVersion}@npm:playwright-core@${playwrightVersion}`So the host already runs whatever version the client asks for. The version-matching requirement between the Playwright client and browser server is satisfied by that handshake, not by the peer range.
Everything the package imports from
playwright-coreis public API —LaunchOptions,Browser,BrowserServer,BrowserType— plusplaywright-core/package.jsonfor the version string.LaunchOptionsValidatoriteratesObject.keys(launchOptions)and has no hardcoded option list, so it needs no changes as Playwright's launch options evolve.Changes
apps/playwright-browser-tunnelpeerDependencies.playwright-core:~1.56.1→>=1.56.1 <2.0.0dependencies.playwright:1.56.1→1.62.1devDependencies.playwright-core/@playwright/test:~1.56.1→~1.62.1vscode-extensions/playwright-local-browser-server-vscode-extensiondependencies.playwright-core:~1.56.1→~1.62.1The peer range keeps a
<2.0.0ceiling so a future major still requires an explicit review.Note
apps/playwright-browser-tunneldeclaresplaywright(notplaywright-core) as a runtimedependency, but nothing undersrc/imports it — only@playwright/testintests/andplaywright.config.ts, which are dev-only. It looks like it could be moved todevDependencies, which would also stop pulling a second full Playwright install into consumers' lockfiles. I left it in place since that's a separate call; happy to fold it in if you'd like.