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

super-pancake-automation

v2.10.2

Published

A lightweight DOM-based UI automation framework using Chrome DevTools Protocol

Downloads

138

Readme

🥞 Super Pancake Automation Framework

A lightweight DOM-based UI automation framework using Chrome DevTools Protocol. Perfect for web testing, form automation, and UI validation.

🚀 Quick Start (NPM Package Usage)

Option 1: Create New Project (Recommended for New Users)

# Create a new automation project
npx super-pancake-automation@latest init my-automation-project

# Navigate to the project
cd my-automation-project

# Run tests
npm test

Option 2: Interactive Setup Wizard

# Interactive project setup
npx super-pancake-automation setup

Option 3: Quick UI Interface

# Launch interactive web UI
npx super-pancake-automation-ui

Option 4: Use in Existing Projects

# Install in existing project
npm install super-pancake-automation

# Import in your test files
import { 
  createTestEnvironment, 
  navigateTo, 
  getText,
  assertContainsText 
} from 'super-pancake-automation';

📋 Available Commands

# Project Management
npx super-pancake-automation init <project-name>    # Create new project
npx super-pancake-automation setup                  # Interactive setup
npx super-pancake-automation-ui                     # Launch UI interface

# Testing & Diagnostics
npx super-pancake-automation browsers               # Check browser compatibility
npx super-pancake-automation check                  # Health check
npx super-pancake-automation --version              # Show version

🎯 Generated Project Structure

When you create a new project with npx super-pancake-automation init, you get:

my-automation-project/
├── tests/
│   ├── sample.test.js          # Basic UI functionality test
│   ├── ui-website.test.js      # Website UI test
│   └── api.test.js            # API testing examples
├── screenshots/                # Auto-generated screenshots
├── super-pancake.config.js    # Configuration file
├── package.json               # Project dependencies
└── README.md                  # Project documentation

🧪 Running Tests in Generated Projects

# Run all tests
npm test

# Run with visible browser (for debugging)
npm run test:headed

# Run with UI interface
npm run test:ui

# Run specific test files
npm test tests/sample.test.js

🔧 Configuration

Edit super-pancake.config.js in your generated project:

export default {
  headless: true,              // Browser mode
  port: 9222,                  // Chrome DevTools port
  screenshots: {
    enabled: true,             // Enable screenshots
    onFailure: true,           // Capture on test failure
    directory: './screenshots' // Screenshot directory
  },
  execution: {
    sequential: true,          // Prevent Chrome port conflicts
    timeout: 30000             // Test timeout
  }
};

📸 Features

  • Sequential Test Execution - Prevents Chrome port conflicts
  • 🎯 Chrome DevTools Protocol - Fast and reliable browser automation
  • 📸 Automatic Screenshots - Capture on success and failure
  • 📊 HTML Test Reports - Beautiful, detailed test reports
  • 🔍 Advanced Element Selection - CSS, XPath, and custom selectors
  • 🚀 Custom Test Runner - Optimized for UI automation
  • 🎨 Interactive UI - Visual test runner interface
  • 🔧 Environment Variables - Flexible configuration

📚 Examples

Basic UI Test

import { describe, it, beforeAll, afterAll } from 'vitest';
import {
  createTestEnvironment,
  cleanupTestEnvironment,
  enableDOM,
  navigateTo,
  getText,
  assertContainsText
} from 'super-pancake-automation';

describe('Website UI Tests', () => {
  let testEnv;

  beforeAll(async () => {
    testEnv = await createTestEnvironment({ headed: false });
    await enableDOM();
  });

  afterAll(async () => {
    await cleanupTestEnvironment(testEnv);
  });

  it('should load homepage and verify content', async () => {
    await navigateTo('https://example.com');
    const title = await getText('h1');
    assertContainsText(title, 'Welcome');
  });
});

Form Automation

it('should fill and submit a form', async () => {
  await navigateTo('https://example.com/form');
  
  await fillInput('#name', 'John Doe');
  await fillInput('#email', '[email protected]');
  await clickButton('#submit');
  
  await waitForSelector('.success-message');
  const message = await getText('.success-message');
  assertContainsText(message, 'Form submitted successfully');
});

🛠️ Development

For contributors and developers:

# Clone the repository
git clone https://github.com/pradapjackie/super-pancake.git
cd super-pancake

# Install dependencies
npm install

# Run tests
npm test

# Run with UI
npm run test:ui

📖 Documentation

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

MIT License - see LICENSE file for details.

🆘 Support


Happy Testing! 🥞✨