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

vasu-playwright-utils

v1.24.1

Published

Playwright Typescript Library with reusable utilities

Downloads

918

Readme

Playwright TypeScript Utility Functions Library

GitHub stars Last Commit Pull Requests npm version Release Notes

About

playwright-ts-lib is a TypeScript library that provides reusable helper methods for the Playwright Library. It aims to simplify common tasks and enhance the efficiency of automated testing workflows.

Table of Contents

Installation

To install the library, run the following command:

npm install vasu-playwright-utils  --save-dev

Usage

Here's a simple example of how you can use the library:

import { click, fill } from 'vasu-playwright-utils';

// Your code here

ESLint

This library ships a shareable ESLint config for Playwright TypeScript projects. Install the library (it includes the required ESLint plugins), then extend the config in your project and override any rules as needed.

Using the config

  1. Use ESLint 9 flat config (eslint.config.mjs at your project root).

  2. In your eslint.config.mjs, spread the library config:

import playwrightLibConfig from 'vasu-playwright-utils/eslint';

export default [...playwrightLibConfig];
  1. Ensure your project has a tsconfig.json at the root (the config uses it for TypeScript parsing).

Overriding rules

Add config objects after the spread to override or relax rules:

import playwrightLibConfig from 'vasu-playwright-utils/eslint';

export default [
  ...playwrightLibConfig,
  // Override specific rules
  {
    rules: {
      'playwright/no-focused-test': 'warn',
      'playwright/no-wait-for-timeout': 'off',
      'no-console': 'off',
    },
  },
  // Or override only for certain files
  {
    files: ['tests/**/*.ts'],
    rules: {
      'playwright/expect-expect': 'error',
    },
  },
];

Later entries in the config array override earlier ones, so your overrides take precedence.

AI Agent Skills

This library ships with AI skills and agent workflows for Claude Code and Cursor that help AI agents understand the vasu-playwright-utils API and use playwright-cli for browser automation.

What gets installed

| Component | Installed to | Used by | | ------------------------------------------------------------ | --------------------------------------- | ------------------- | | Skills — API docs, locator strategy, function references | .claude/skills/vasu-playwright-utils/ | Claude Code, Cursor | | Playwright CLI skills — browser automation commands | .claude/skills/playwright-cli/ | Claude Code, Cursor | | Agents — test planner, generator, healer workflows | .claude/agents/ | Claude Code | | CLAUDE.md — project instructions template | CLAUDE.md (project root) | Claude Code, Cursor | | Cursor rules — agent workflow rules with @file refs | .cursor/rules/ | Cursor | | CLAUDE.md loader — links CLAUDE.md into Cursor | .cursor/rules/project.mdc | Cursor |

Files are copied (not symlinked) into your project. Both Claude Code and Cursor auto-discover .claude/skills/. Claude Code also auto-discovers .claude/agents/. Cursor uses .cursor/rules/ to reference agent files. The setup copies a CLAUDE.md template to your project root (skipped if one already exists) and creates a Cursor rule that loads it via @file CLAUDE.md, so both tools share the same project instructions.

For consumers

Install everything (skills + agents) with a single command:

npx vasu-pw-setup

Or install only what you need:

# Skills only (API docs, locator strategy, playwright-cli)
npx vasu-pw-setup --skills

# Agents only (test planner, generator, healer)
npx vasu-pw-setup --agents

To update after upgrading the library, run the command again with --force:

npx vasu-pw-setup --force

How skills and agents are invoked

  • Claude Code auto-discovers .claude/skills/ and .claude/agents/. CLAUDE.md instructs the agent to use playwright-cli and vasu-playwright-utils skills when writing tests, and to follow agent workflows (Planner / Generator / Healer) when asked to plan, generate, or fix tests.
  • Cursor auto-discovers .claude/skills/ for API reference. Rules in .cursor/rules/ activate on *.spec.ts, specs/**, and tests/** files and include the agent workflows via @file directives pointing to .claude/agents/.

To test: ask the agent to "write a test case to login for https://example.com" (or any URL). The agent should use playwright-cli to verify the flow and the vasu-playwright-utils skill (with locator strategy) when writing selectors.

For contributors

Skills, agents, and cursor rules are pre-installed via symlinks — edit the source directories and changes are reflected everywhere:

| Symlink | Source of truth | | ----------------------------------------- | ---------------------------------------- | | .claude/skills/vasu-playwright-utils | skills/vasu-playwright-utils/ | | .claude/agents | agents/ | | .cursor/rules/playwright-agents.mdc | cursor-rules/playwright-agents.mdc | | .cursor/rules/vasu-playwright-utils.mdc | cursor-rules/vasu-playwright-utils.mdc |

.cursor/rules/project.mdc loads CLAUDE.md into Cursor so both Claude Code and Cursor share the same project instructions.

Issues and Feedback

If you encounter any issues or have feedback, please Raise an Issue on GitHub.

Contributions

We welcome contributions! Feel free to submit a Pull Request on GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for details.