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

bunnyup

v0.2.0

Published

CLI tool for managing sites deployed with Bunny.net

Readme

Open on npmx.dev Open on npmx.dev Open on npmx.dev

bunnyup

CLI tool for deploying static sites to Bunny.net CDN.

Note: This CLI is in beta and I am using it on personal projects. Further CDN configuration is up to you, by default all assets are cached except html, json, xml -- this should be fine for modern frameworks.

Note: This tool is not affiliated with bunny.net

Installation

Requires the Bun runtime installed. Installing & running using npm, pnpm, etc. will fail!

bun add -g bunnyup

Quick Start

# 1. Authenticate
bn login

# 2. Set up your project
bn new

# 3. Commit Files (bn new creates a config file, bn deploy expects a clean repository)
git add . && git commit -m "setup bunnyup"

# 4. Build and deploy
npm run build && bn deploy

Concept

Bunnyup simplifies the deployment of statically built sites to bunny.net. It follows the following deployment process:

  1. Upload files to a new storage zone (i.e. bucket), identified by the git commit hash.
  2. Activate that deployment by pointing the pull zone (i.e. CDN configuration) at the new storage zone
  3. Prune deployments older than x days

Old deployments remain available until pruned and can be rolled back to at any time via bn activate.

The Pull Zone the CLI creates is long-lived and only reconfigured afterwards. By default, html, json, xml is uncached. Other assets are cached infinitely on the CDN and for 1 hour on browsers. Known, framework assets (_next, _astro, _nuxt, _app/immutable) are cached with "public, max-age=31536000, immutable" on the browser.

You may want to visit the Bunny.net dashboard after running bn new to make any applicable adjustments for your setup.

Commands

| Command | Description | | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | bn login | Save your Bunny.net API key (this is stored securely in your OS Keychain via Bun.secrets) | | bn new | Configure a new site | | bn deploy | Upload → activate → prune | | bn upload | Upload files to a new version | | bn activate [version] | Switch to a git ref/hash (default: HEAD) | | bn prune | Delete old deployments |

Options

  • --no-prune - Skip pruning old versions (deploy)
  • -f, --force - Upload with uncommitted git changes (upload, deploy)
  • -y, --yes - Skip confirmation prompts (prune)

Requires clean git working directory by default. Use --force to override.

Configuration

bn new creates a bunnyup.json file:

{
  "name": "my-site",
  "outputFolder": "dist",
  "pruneAfter": "30",
  "pullZoneId": 123456
}
  • pruneAfter is the number of days after which old deployments are deleted

CI/CD

Set the BUNNY_API_KEY environment variable. See examples/github-deploy.yml for a GitHub Actions example.

API Key

Get your API key from: https://dash.bunny.net/account/api-key