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

@jotafierro/superclean

v1.1.0

Published

Cleaning caches, logs, and trash in macOS

Readme

superclean

License: MIT npm

Free CleanMyMac replacement — reclaim gigabytes of macOS cache and junk from one command.

What problem does it solve?

macOS quietly hoards gigabytes: app caches that never expire, stale logs, a Trash you forgot, Xcode DerivedData, months-old Downloads, and package-manager caches (npm/yarn/Homebrew/Docker). Apps like CleanMyMac charge a subscription to sweep them. superclean does the same cleanup in one command — --dry-run first so you see every byte before it's touched, per-file error handling so one protected folder never aborts the run.

Cleans by default:

  • User caches (~/Library/Caches)
  • User logs (~/Library/Logs)
  • Trash (~/.Trash)
  • Downloads older than 30 days
  • Xcode DerivedData
  • Safari's sandboxed cache (~/Library/Containers/com.apple.Safari/...) — Chrome/Arc/other browsers already get swept by the ~/Library/Caches wipe above, no separate step needed for those
  • npm, yarn and Homebrew caches (via their own commands)
  • Docker: stopped containers, unused networks and images (docker system prune)

macOS only.

Install

Global:

npm install -g @jotafierro/superclean
superclean

Without installing:

npx @jotafierro/superclean

Local dev clone, run it as superclean without publishing:

npm run build
npm link      # or: pnpm link --global | yarn link
superclean --dry-run

npm unlink -g @jotafierro/superclean to remove it.

Usage

superclean --dry-run             # show what would be deleted, delete nothing
superclean                        # asks for confirmation, then cleans
superclean -y                     # skip the confirmation prompt (cron/CI)
superclean --big-files [path]     # list files over 100MB (default: $HOME), sorted by size, top 30 — lists only, deletes nothing
superclean --big-files --min-size 500 --limit 10   # adjust threshold (MB) and result count

Config

Optional, in ~/.superclean.json. Any missing field falls back to its default (all true except dockerPruneAll).

{
  "userCaches": true,
  "userLogs": true,
  "trash": true,
  "downloads": true,
  "xcodeDerivedData": true,
  "safariCache": true,
  "npmCache": true,
  "yarnCache": true,
  "homebrewCache": true,
  "dockerCleanup": true,
  "dockerPruneAll": false,
  "downloadsMaxAgeDays": 30
}

dockerPruneAll: true adds -a --volumes to the Docker prune: also removes non-dangling images and volumes (can delete container database data). Leave it false unless you know what you're doing.

Old node_modules

superclean doesn't touch project node_modules, that's a different problem. Use npkill for that, interactive and built exactly for it:

npx npkill

Development

npm run build   # compile cleaner.ts to dist/
npm run start   # run dist/cleaner.js
npm test         # build + run the node:test suite

npm run start needs -- before flags, otherwise npm swallows them: npm run start -- --big-files, not npm run start --big-files. Or skip npm run and call node dist/cleaner.js --big-files directly.