Skip to content

[Feature] Allow to opt out driver installation when running as a client #467

Closed as not planned

Description

@pw896

This applies to a typical production environment, where a service hosts browsers for general purposes that different client applications can use. Giving clients an option not to bundle drivers has a few nice properties:

  • Less dependency and easier to be integrated. Packaging a different runtime and drivers can be difficult if existing tooling/platform/dependencies are not compatible, not to mention upgrade. With a thin client approach, only server needs to worry about all the dependencies, clients are just pure Java, Python libraries can be integrated anywhere.
  • Avoid leaking unmanaged resources, in the Java case, those outside of Jvm due to ProcessBuilder. That improves reliability.

This is a great library, we were very happy with the result we see during prototyping, but hesitated when productionizing it. Removing barriers like these could significantly help the reach.

Activity

  1. yury-s commented on Jun 19, 2026

    @yury-s
    Member

    The driver packaging has been reworked to make the bundled Node.js optional.

    What changed (#1936, ships in the next release): the platform-independent driver code (the playwright-core package) now lives in the driver artifact, while driver-bundle holds only the Node.js binaries.

    There is now a way to slim down the driver footprint: if a Node.js is present on the host, set PLAYWRIGHT_NODEJS_PATH and exclude driver-bundle, no Node.js binaries are downloaded at all (~190 MB saved):

    <dependency>
      <groupId>com.microsoft.playwright</groupId>
      <artifactId>playwright</artifactId>
      <version>...</version>
      <exclusions>
        <exclusion>
          <groupId>com.microsoft.playwright</groupId>
          <artifactId>driver-bundle</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    Closing this issue as there is no plan to get rid of the driver completely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions