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

lazywebp

v2.1.1

Published

CLI tool to batch convert images to WebP format using Sharp

Readme

lazywebp - image converter

npm version License: MIT Test Status

CLI tool and native macOS app to batch convert images to Webp. Handles single files, multiple files, and entire directories with concurrent processing, atomic writes, and mtime-based skip logic.

Quick Start

npx lazywebp photo.png

Converts photo.png to photo.webp in the same directory.

Install

Global (adds lazywebp to your PATH):

npm install -g lazywebp

Run without installing (via npx):

npx lazywebp photo.png

From source:

git clone https://github.com/keiver/lazywebp.git
cd lazywebp
npm install && npm run build && npm link

Usage

# Convert a single file (output next to source)
lazywebp photo.png

# Convert multiple files at once
lazywebp photo.png banner.jpg logo.gif

# Convert all images in a directory
lazywebp images/

# Convert to a separate output directory
lazywebp -o output/ images/

# Custom quality (1-100, default: 90)
lazywebp -q 80 photo.png

# Recursive subdirectory processing
lazywebp -r images/

# Combine flags
lazywebp -q 75 -r -o dist/ src/assets/

Options

| Flag | Description | |---|---| | -q, --quality <n> | WebP quality 1-100 (default: 90) | | -o, --output <dir> | Output directory (default: next to source) | | -r, --recursive | Process subdirectories recursively | | -h, --help | Show help message | | -v, --version | Show version number |

Features

  • Accepts multiple input files and directories in a single command
  • Skips files that haven't changed (compares mtime)
  • Gracefully skips non-image files with a warning
  • Atomic writes via temp file + rename
  • Concurrent processing (up to 4 workers)
  • Color space conversion (display-p3 / RGB to sRGB)
  • Auto-rotation based on EXIF data
  • Recursive subdirectory support with mirrored output structure

Supported Formats

JPG, JPEG, PNG, GIF, BMP, TIFF, WebP

macOS App — Lazy Webp

Native SwiftUI app that wraps the CLI. Drag and drop images or folders to convert them — output is generated next to each source file.

Requirements

  • macOS 14+
  • Swift 6.2+
  • The lazywebp CLI must be installed and available in your PATH

Run in development

cd app
swift run

Install to /Applications

cd app
./install-app.sh

This builds a release binary, creates an app bundle at /Applications/Lazy Webp.app (dev.keiver.lazywebp), and signs it locally.

App Features

  • Drag-and-drop files and folders
  • File picker dialog
  • Quality slider (1-100)
  • Per-file size and savings display
  • Live progress tracking with cancel support
  • Always-on-top floating window
  • Menu bar icon with quick access
  • Launch at login option
  • Install to /Applications from the menu bar

Requirements

| Component | Requires | |---|---| | CLI | Node.js 18+, Sharp | | macOS App | macOS 14+, Swift 6.2+ |

npm Scripts

| Script | Description | |---|---| | npm run dev | Run directly from TypeScript source | | npm run build | Compile to JavaScript in dist/ | | npm start | Run compiled build | | npm test | Run tests | | npm run test:watch | Run tests in watch mode |

License

MIT