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

qapulsesk-gen

v1.0.3

Published

All-in-one test generator for Playwright & Cypress — from HAR files, recordings, or plain English. AI-enhanced, free by default. By QAPulse by SK.

Readme

QAPulseSK-gen

npm version npm downloads License: MIT Node.js QAPulse by SK

Stop writing boilerplate. Start from what you already have. HAR files · Playwright recordings · Plain English → Playwright or Cypress tests in seconds.


✨ Why QAPulseSK-gen?

| Input | Other tools | QAPulseSK-gen | |---|---|---| | HAR file | Manual conversion | ✅ Auto-generates clean tests | | Playwright recording | Raw codegen output | ✅ Cleaned up + assertions added | | Plain English | Not supported | ✅ AI converts description to test | | Output framework | One framework only | ✅ Playwright and Cypress | | AI enhancement | Paid / separate tool | ✅ Opt-in, your key, zero cost to us | | POM generation | Manual | ✅ Built-in flag |


🚀 Install

npm install -g qapulsesk-gen
# or use locally
npm install qapulsesk-gen --save-dev

📖 CLI Usage

From HAR file

# Record in Chrome DevTools → Network → Export HAR
qapulsesk-gen from-har my-session.har \
  --framework playwright \
  --language typescript \
  --output tests/ \
  --name "Login Flow" \
  --base-url https://myapp.com

From Playwright recording

# Record with: npx playwright codegen myapp.com --save-storage=auth.json
qapulsesk-gen from-recording recording.json \
  --framework cypress \
  --language typescript \
  --output cypress/e2e/

From plain English (requires AI key)

qapulsesk-gen from-text \
  "Go to the login page, enter email [email protected] and password Secret123, click Login, verify the dashboard loads and the user menu shows the email address" \
  --framework playwright \
  --language typescript \
  --ai-key $ANTHROPIC_API_KEY \
  --ai-provider anthropic \
  --name "Login Flow"

With AI enhancement (cleans up HAR noise, adds assertions)

qapulsesk-gen from-har session.har \
  --framework playwright \
  --ai-key $ANTHROPIC_API_KEY \
  --ai-provider anthropic

Generate with Page Object Model

qapulsesk-gen from-har session.har \
  --framework playwright \
  --language typescript \
  --pom \
  --name "Checkout Flow"

📖 Programmatic API

import { generate } from 'qapulsesk-gen';

const result = await generate(
  './my-session.har',
  'har',
  'Login Flow',
  {
    framework: 'playwright',
    language: 'typescript',
    outputDir: 'tests/',
    baseUrl: 'https://myapp.com',
    usePOM: false,

    // 🤖 AI enhancement — optional, your key, zero cost to us
    ai: {
      enabled: true,
      provider: 'anthropic', // 'anthropic' | 'openai' | 'gemini'
      apiKey: process.env.AI_API_KEY,
    },
  }
);

console.log(`Generated ${result.summary.testsGenerated} test(s) with ${result.summary.stepsGenerated} steps`);

⚙️ CLI Options

| Option | Description | Default | |---|---|---| | --framework | playwright or cypress | playwright | | --language | typescript or javascript | typescript | | --output | Output directory | qapulsesk-tests | | --name | Test suite name | Generated Test | | --base-url | Strip base URL from HAR requests | — | | --pom | Generate Page Object Model files | false | | --ai-key | Your AI API key (optional) | — | | --ai-provider | anthropic, openai, or gemini | anthropic |


🤖 AI Enhancement (Optional)

Free by default. AI is opt-in — provide your own key, we never call any AI service without it.

When enabled, AI will:

  • Remove noise steps (analytics, CDN, tracking)
  • Add meaningful assertions after key actions
  • Improve fragile selectors
  • Add comments explaining test sections
# Anthropic (recommended)
--ai-key $ANTHROPIC_API_KEY --ai-provider anthropic

# OpenAI
--ai-key $OPENAI_API_KEY --ai-provider openai

# Google Gemini
--ai-key $GEMINI_API_KEY --ai-provider gemini

📦 What gets generated

Without POM:

qapulsesk-tests/
└── login-flow.spec.ts

With POM (--pom):

qapulsesk-tests/
├── tests/login-flow.spec.ts
└── pages/LoginFlowPage.ts

Cypress:

qapulsesk-tests/
└── cypress/e2e/login-flow.cy.ts

📬 Links

| | | |---|---| | 🌐 Website | skakarh.com | | 📦 npm | npmjs.com/package/qapulsesk-gen | | 🐛 Issues | GitHub Issues | | 💼 LinkedIn | company/qapulsebysk | | 🐦 Twitter/X | @qapulsebysk |


Built with ❤️ by QAPulse by SK

If this saved you time, please ⭐ the repo — it helps others find it!