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

@unstave/cli

v0.2.2

Published

unstave CLI: measure and remove TypeScript barrel-file bloat — no Rust install required

Readme

@unstave/cli

The unstave command line tool as an npm package — no Rust toolchain required. The native binary for your platform is installed automatically as an optional dependency.

unstave maps your TypeScript/React module graph, ranks how much your index.ts barrel files amplify your imports, exposes cycles and dead exports, and then rewrites those imports to point at the actual declaration sites — byte-safely and dry-run by default.

# Analyze the current workspace (terminal + interactive HTML report)
npx @unstave/cli analyze --format terminal --format html

# Rank every barrel by how much it amplifies your imports
npx @unstave/cli barrels

# Preview every proven-safe rewrite (touches nothing)
npx @unstave/cli fix --dry-run

Prefer to install it once:

npm install -g @unstave/cli
unstave analyze

Prebuilt binaries are shipped for macOS (arm64/x64), Linux (glibc and musl, arm64/x64), and Windows (x64). For any other host — including Windows on Arm — install from source with cargo install unstave-cli.

What it does

  • Measure — rank barrels by amplification, actual reachable cost, and excess modules; export JSON, DOT, Mermaid, or a single-file interactive HTML report.
  • Find — import cycles and dead exports across a monorepo.
  • Rewrite — a span-based codemod that only changes import statements it can prove, preserving aliases, type modifiers, and byte-for-byte source elsewhere.

Docs

Platform packages

This package installs one of the following optional binary packages at install time:

| Package | Binary | |---|---| | @unstave/cli-darwin-arm64 | aarch64-apple-darwin | | @unstave/cli-darwin-x64 | x86_64-apple-darwin | | @unstave/cli-linux-arm64-gnu | aarch64 glibc | | @unstave/cli-linux-arm64-musl | aarch64 musl | | @unstave/cli-linux-x64-gnu | x86_64 glibc | | @unstave/cli-linux-x64-musl | x86_64 musl | | @unstave/cli-win32-x64-msvc | x86_64-pc-windows-msvc |

Windows on Arm (aarch64-pc-windows-msvc) does not yet ship a prebuilt binary; the unstave command fails with a clear message pointing at cargo install unstave-cli.

If the binary for your platform is missing, the unstave command fails with a clear message and points you at cargo install unstave-cli.