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

draftdrop

v0.1.0

Published

Publish self-contained HTML plans as static review links.

Downloads

150

Readme

DraftDrop

Publish a self-contained HTML plan as a public static review link. DraftDrop needs no account, and every update creates an immutable version.

Quick start

Run the CLI without installing it globally:

npx --yes draftdrop upload ./plan.html

Or install the command:

npm install --global draftdrop
draftdrop upload ./plan.html

The CLI validates the HTML before uploading it. It stores the draft edit secret in ~/.draftdrop/drafts.json with file mode 0600. Uploading the same absolute file path updates the same draft and creates a new version.

DraftDrop automatically reads an existing ~/.planpub directory when ~/.draftdrop does not exist, so earlier draft edit secrets keep working.

Commands

Publish or update a plan:

draftdrop upload ./plan.html

Create a separate draft for the same file:

draftdrop upload ./plan.html --new

List plans known to this machine:

draftdrop list
draftdrop list --json

Use another DraftDrop server:

draftdrop config --api-url http://localhost:3000

You can also set DRAFTDROP_API_URL for one command:

DRAFTDROP_API_URL=http://localhost:3000 draftdrop upload ./plan.html

Security boundary

Published documents are public and served byte for byte with a restrictive Content Security Policy.

  • Scripts and network requests cannot execute.
  • DraftDrop rejects forms, iframes, embeds, external scripts, event handlers, unsafe URL schemes, and meta refresh.
  • Inline CSS and HTTPS or data URL images are allowed.
  • Each HTML document is limited to 512 KiB.
  • Stored versions are limited to 2 GiB by default through MAX_STORAGE_BYTES.
  • Updates require a random edit token stored by the CLI. A public draft URL cannot update a draft.

Do not publish private company information.

Run the server locally

npm install
npm test
PUBLIC_BASE_URL=http://localhost:3000 npm start

Persistent data defaults to .data/. The production container stores it in /data.

Publish the npm package

npm login
npm publish

The prepublishOnly script runs the complete test and syntax check before npm uploads the package.

Provenance

The HTML policy and wire format are compatible with ideas in the MIT-licensed [email protected] package. This implementation uses its own branding and adds draft-scoped edit secrets for anonymous updates. See NOTICE.