npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pwvm

v1.1.0

Published

Playwright Version Manager

Readme

pwvm

CI npm version

Playwright Version Manager

A simple Playwright Version Manager that solves a common pain point:

Uncontrolled Playwright upgrades and breaking changes disrupt local setups and CI pipelines.

pwvm lets you install, manage, and switch Playwright versions reliably — one command, predictable behavior, just like nvm for Node.js.

pwvm icon


Why pwvm

Playwright evolves fast. That’s great — until a minor upgrade breaks tests you didn’t plan to touch.

pwvm keeps Playwright versions:

  • isolated per version
  • explicit and reproducible
  • easy to switch locally and in CI

You upgrade when you choose, not when your tooling surprises you.


Install

npm install -g pwvm

Then run the one-time setup:

pwvm setup

Follow the printed instructions to add pwvm shims to your PATH.


Common usage

pwvm install 1.57.0
pwvm use 1.57.0
playwright --version
playwright test

pwvm commands demo

Pin versions per project with .pwvmrc:

1.57.0

If a .pwvmrc file is present in your project root, running pwvm use will automatically detect and switch to that version.

pwvm use

Deterministic guarantees pwvm already provides

  • Playwright installed by exact version ([email protected])
  • Versions stored in isolated directories (~/.pwvm/versions/<version>)
  • Browser binaries scoped per Playwright version
  • .pwvmrc pins version per repo
  • No implicit upgrades (no latest unless explicitly requested)

[!NOTE] pwvm performs no background network activity and only installs software when explicitly requested.


CI-friendly

pwvm works in GitHub Actions, Azure Pipelines, Bitbucket, and any CI where you control PATH.

Example usage in GitHub Actions:

- run: npm install -g pwvm
- run: pwvm setup
- run: pwvm install 1.40.0 && pwvm use 1.40.0
- run: playwright test

Dockerized

pwvm can also be validated and demoed in Docker without changing the npm package footprint.

Why Docker is useful here:

  • cache multiple Playwright versions in one isolated environment
  • switch versions quickly with pwvm use
  • prove that plain playwright commands resolve through pwvm naturally
  • keep the host machine clean while testing or demoing version changes

The repo includes a non-root Docker demo that installs multiple Playwright versions, switches between them, runs plain playwright test, prunes old versions, and removes pwvm cleanly at the end.

See the full Docker guide: docker/README.md


Support pwvm

pwvm is built and maintained independently to fix a problem many teams quietly struggle with.

If this tool saves you time, CI hours, or debugging frustration:

Your support helps keep pwvm maintained and improving.


📘 Full documentation and contributing guide: https://github.com/eaccmk/pwvm