- What is duncan3dc/dusk used for?
- duncan3dc/dusk is a compatibility and helper layer for using Laravel Dusk browser automation without a full Laravel application. It is aimed at non-Laravel PHP projects, legacy apps, CLI tools, or small internal projects that want Dusk-style end-to-end tests. It reduces boilerplate around page interactions and assertions but is not a general-purpose E2E platform.
- Can I use Laravel Dusk without installing Laravel?
- Yes, that is the main purpose of duncan3dc/dusk: it lets you run Dusk browser automation outside a full Laravel framework. It depends on Laravel Dusk internals and a nonstandard bootstrap, so you should validate it against your PHP, Dusk, and browser-driver versions first. Treat it as a thin compatibility layer rather than a replacement for Dusk or Laravel.
- How do I install duncan3dc/dusk with Composer?
- Add duncan3dc/dusk as a Composer dependency, usually in require-dev for test tooling, and ensure the matching Laravel Dusk dependencies are installed. Because the package is archived, pin the version in composer.json and commit the lockfile. Run a short spike before adding it to a shared or production test suite.
- Which PHP and Laravel Dusk versions does duncan3dc/dusk support?
- The provided context does not list exact supported PHP or Dusk versions, so compatibility must be verified explicitly. Check the package constraints and test against your target PHP version, Laravel Dusk version, and Chrome or Chromedriver version. Do not assume support for future Dusk releases because the repository is archived.
- Is duncan3dc/dusk maintained?
- No, the repository is archived, so there are no upstream bug fixes, security patches, compatibility updates, or vendor support. Apache-2.0 licensing is permissive, but maintenance risk is high. Use it only as a pinned, isolated dependency with a clear internal owner or exit plan.
- What are the risks of using an archived Composer package for browser tests?
- An archived package can break when PHP, Laravel Dusk, Chrome, or Chromedriver changes, and it will not receive security or compatibility fixes. It also creates supply-chain and ownership concerns for teams with strict dependency policies. Mitigate by pinning versions, locking container images, isolating the dependency, and documenting a replacement path.
- How does duncan3dc/dusk compare to Symfony Panther, Codeception, or Playwright?
- duncan3dc/dusk is narrower: it is a Dusk compatibility helper for PHP projects outside Laravel, not a maintained cross-language E2E platform. Symfony Panther and Codeception are broader PHP testing options, while Playwright is a maintained browser-automation framework with different language support. If you need long-term platform support, a maintained alternative is usually safer than an archived wrapper.
- How do I run duncan3dc/dusk tests in CI with Chrome?
- You need a CI environment with a compatible Chrome or Chromedriver setup, plus pinned Composer dependencies to avoid drift. Use container images or driver versions that are locked and reproducible, and budget for flaky browser tests with parallel workers or Selenium Grid if needed. The package provides little orchestration value, so most scaling and reliability work belongs to your CI test platform.
- Can duncan3dc/dusk be used in a legacy non-Laravel PHP application?
- It is intended for non-Laravel PHP applications, legacy monoliths, CLI tools, and small internal projects that need Dusk-style browser tests. Integration is moderate because you must validate PHP, Dusk, Chrome, and CI container compatibility. Pilot it in one low-criticality repository and isolate it behind a test harness before broader use.
- What is the exit plan if we adopt duncan3dc/dusk?
- Adopt it only as a tactical bridge with pinned Composer and browser-driver versions, an assigned internal owner, and a bounded test surface. If the capability proves valuable, either fork and maintain the package internally or migrate to a supported alternative such as Symfony Panther, Codeception, Playwright, or full Laravel Dusk where appropriate. Hold a decision gate before treating it as a shared platform capability.