Skip to content

Report missing dependencies with an actionable message - #130

Open
kbond wants to merge 1 commit into
playwright-php:mainfrom
kbond:actionable-setup-errors
Open

Report missing dependencies with an actionable message#130
kbond wants to merge 1 commit into
playwright-php:mainfrom
kbond:actionable-setup-errors

Conversation

@kbond

@kbond kbond commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Forgetting vendor/bin/playwright-install after composer require currently gets you DisconnectedException: Process exited with code 1. The Node stderr explaining why is read in ProcessJsonRpcClient and then only logged as a warning.

This includes that stderr in the exception, and recognises three setup problems as a new MissingDependencyException:

What's wrong Message
Server not installed The Playwright server is not installed. Run vendor/bin/playwright-install --browsers to install it.
Browsers not installed The requested browser is not installed. Run vendor/bin/playwright-install --browsers to download it.
Host libraries missing The host is missing system libraries the browsers need. Run vendor/bin/playwright-install --with-deps to install them.

Playwright detects the last two itself but points at npx playwright install / install-deps; its original output is kept below ours. Also fixes ServerFinder::findServer(), which threw NetworkException('… npm install playwright').

Detection is by substring match on Playwright's messages.

@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.11765% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/Transport/JsonRpc/ProcessJsonRpcClient.php 80.00% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

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