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

snaprocket

v0.0.2

Published

A fast, lightweight CLI tool for capturing responsive, full-page screenshots of websites using Puppeteer. Supports multiple viewports and custom configurations to streamline visual testing and automation workflows.

Readme

🚀 Snaprocket

Snaprocket is a fast CLI tool for capturing screenshots of web pages using Puppeteer with multiple viewports and custom configurations. It is designed to be simple, flexible, and highly configurable, making it perfect for developers and testers who need quick visual feedback of websites.

License: MIT Version

✨ Features

  • Fast Screenshot Capture: Leverages Puppeteer to quickly capture screenshots of web pages.
  • Multiple Viewports: Supports default viewports ("s", "m", "l", "xl") and user-defined custom resolutions.
  • Custom Configurations: Easily configure timeouts, height limits, and output directories.
  • Flexible Usage: Capture full-page or constrained screenshots based on your needs.

📥 Installation

You can install Snaprocket using your favorite package manager: npm, Yarn, or pnpm.

Global Installation

  • Using npm:

    npm install -g snaprocket
  • Using Yarn:

    yarn global add snaprocket
  • Using pnpm:

    pnpm install -g snaprocket

Local Installation (Development Dependency)

  • Using npm:

    npm install --save-dev snaprocket
  • Using Yarn:

    yarn add --dev snaprocket
  • Using pnpm:

    pnpm add -D snaprocket

💻 Usage

Run snaprocket from the command line with the following syntax:

snaprocket -h <baseURL> -p <paths> [-t <timeout>] [-o <output_directory>] [-H <height>] [-c <width>x<height>]... [-v <viewports>...]

Command-line Arguments

  • -h: Base URL (required) – The starting URL for capturing screenshots.
  • -p: Paths (required) – One or more URL paths to capture. Provide each path as a space-separated list.
  • -t: Timeout – Delay (in milliseconds) after the page loads before capturing a screenshot (default: 1000).
  • -o: Output Directory – Directory where screenshots will be saved. Defaults to the current working directory. Screenshots are organized into sub-folders by domain and viewport.
  • -H: Height Limit – If provided, only captures up to the specified height (in pixels). If omitted, the entire page is captured.
  • -c or --custom: Custom Resolution(s) – Specify custom resolution(s) in the format WIDTHxHEIGHT. This flag can be repeated to add multiple resolutions.
  • -v: Viewports – Define which viewports to generate. Acceptable values are s, m, l, xl, and custom (to include all custom resolutions defined with -c). If omitted, screenshots are generated for all default viewports and any custom resolutions.

Examples

1. Full-page screenshots for default viewports

Capture screenshots for the homepage, blog, bio, and contact pages:

snaprocket -h https://dawidrylko.com -p / /blog /bio /contact

2. Screenshots with a height limit for selected viewports

Capture screenshots with a height limit of 800 pixels for the "s" (small) and "xl" (extra-large) viewports:

snaprocket -h https://dawidrylko.com -p / /blog -H 800 -v s xl

3. Screenshots with custom resolutions

Generate screenshots using two custom resolutions (800x600 and 1200x800). The -v custom flag ensures that only the specified custom viewports are processed:

snaprocket -h https://dawidrylko.com -p / -v custom -c 800x600 -c 1200x800

📂 Directory Structure

After execution, screenshots will be organized in the output directory as shown below:

📁 output_directory/
  └── dawidrylko.com/
      ├── s/
      ├── m/
      ├── l/
      └── xl/

Note: If custom viewports are used, an additional folder (e.g. custom/) will be created containing screenshots for each custom resolution.

📜 License

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

👨‍💻 Author

Developed and maintained by Dawid Ryłko.