Skip to content

fix(cli): wheels browser install does nothing instead of fetching Playwright #2332

@bpamiri

Description

@bpamiri

Summary

`wheels browser install` is documented to download Playwright JARs into `lib/`, Chromium into the system cache (e.g. `~/Library/Caches/ms-playwright/` on macOS), and write `browser-manifest.json`. In practice it appears to invoke a generic dependency resolver that exits cleanly without doing any of that.

Repro

$ wheels new blog --no-open-browser && cd blog
$ wheels browser install
[INFO]  Reading lucee.json...
[INFO]  Resolving dependencies...
[INFO] No git or extension dependencies to install
$ ls lib/ 2>/dev/null
# nothing
$ ls ~/Library/Caches/ms-playwright 2>/dev/null
# nothing
$ ls browser-manifest.json 2>/dev/null
# nothing

The output is identical to `wheels packages install` — looks like the same dependency-resolver dispatch is wired in.

Expected (per the chapter-7 docs)

$ wheels browser install
Downloading Playwright JARs (7 files) -> lib/...
  ✓ playwright-1.52.0.jar
  ✓ driver-bundle-1.52.0.jar
  ...
Downloading Chromium (~140MB) -> ~/Library/Caches/ms-playwright/...
  ✓ Chromium 138.0.7180.0
Writing browser-manifest.json
Done.

Suggested fix

  • Implement the Playwright fetch under `wheels browser install`. The framework already has `reference_playwright_java_two_jar` notes describing the JAR layout (7 JARs, PlatformClassLoader parent, etc.).
  • Until the install command works, mark the chapter 7 "Browser spec" section as preview so users don't expect to run it.

Severity

Major. The entire browser-spec walkthrough in chapter 7 (full signup → post → comment) is unreachable without a working install.

Source

Fresh-VM onboarding journal, 2026-04-27, finding #6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions