Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Dusk Updater Laravel Package

orchestra/dusk-updater

Symfony Console tool to update Laravel Dusk ChromeDriver binaries to the latest or a specified version. Works inside or outside Laravel projects. Includes a detect command to check installed Chrome/ChromeDriver versions and optionally auto-update.

View on GitHub
Deep Wiki
Context7

Getting Started

Install via composer require --dev orchestra/dusk-updater, then run php vendor/bin/dusk-updater detect to verify your current Chrome/ChromeDriver alignment. If outdated, execute php vendor/bin/dusk-updater update to fetch the latest compatible driver into vendor/orchestra/dusk-updater/chromedriver/. This is the minimal on-ramp—ideal for resolving immediate test failures caused by version mismatches after Chrome auto-updates.

Implementation Patterns

  • CI/CD Integration: Add php vendor/bin/dusk-updater update as a pre-test step in GitHub Actions, GitLab CI, or local Docker images to ensure driver-browser parity regardless of base image state.
  • Pre-flight Hooks: Use php vendor/bin/dusk-updater detect --auto-update in IDE launch configurations or pre-push hooks to catch mismatches before committing tests.
  • Version Pinning: For controlled cross-browser testing, specify major versions (update 128) or exact versions (update 128.0.6613.119) to enforce environment-specific driver builds.
  • Non-Laravel Projects: Leverage its Symfony Console foundation in monorepos or standalone Dusk setups (e.g., Symfony+Dusk), where orchestra/dusk-updater acts as a neutral binary manager outside Laravel’s ecosystem.

Gotchas and Tips

  • Stale Processes: ChromeDriver processes often persist across runs—always pkill chromedriver before update, otherwise Dusk continues using the old binary silently.
  • Platform-Specific Pitfalls: On macOS ARM64, verify via detect that the arm64 binary is installed; pre-v2.1.2 versions used x64 by default. On Windows, the --chrome-dir flag is unsupported—avoid it entirely.
  • Proxy/SSL Woes: If behind corporate firewalls, set http_proxy and https_proxy environment variables, or ensure openssl.cafile is configured in php.ini (the package uses Guzzle and respects these).
  • PHP 8.5 Confusion: Ignore documentation claiming PHP 8.5 support—it references a future PHP version. Current versions require PHP ≥8.2 (v3.x) or ≥8.1 (v2.x). Always match your PHP runtime to the released version’s requirements.
  • API Reliability: ChromeDriver’s download endpoints do change (e.g., v115+ required new API). The package tracks these, but verify releases periodically—check vendor/orchestra/dusk-updater/chromedriver/chromedriver checksums if tests fail mysteriously after a browser update.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport