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

you-shall-not-commit

v0.0.1

Published

Git pre-commit hooks

Readme

You Shall Not Commit

Wizards are great they destroy magic rings, slay dragons kick tyrant kings from thrones and crown rightful heirs a kingdom. When they aren't off on a quest you can employ a wizard to guard your code from the forces of chao better known as carless developers.

YouShallNotCommit is a pre-commit hook for git that works wih npm scripts, you define scripts as normal in your package.json. Then add a pre-commit array to the package.json the wizard will run these scripts when you attempt to commit code to your git repo helping keep the orcs from the realm of broken code from breaching the gates of your repo.

Recommended spells

Some spells/scripts that I like to give my wizard

Please feel free to suggest more.

Installation

Recommed installing this as a dev dependency.

npm install YouShallNotCommit --save-dev

Running this will place a pre-commit script in your .git/hooks folder if one doesn't already exist. It uses the magic of the install attribute in package.json.

Define a set of scripts

scripts: {
  "findHobbit": "echo found hobbit && exit 0",
  "goOnQuest": "echo 'Off to the mountains' && exit 0",
  "killDragin": "echo 'Dragon dead' && exit 0",
  "smokeSwapWeed": "echo 'smoking is bad'; exit 1"
}

The exit 1 is important, any script that exits with a code other than 0 will result in the commit being aborted.

Tell the wizard which scripts he should use. Nothing is run by default you have complete control over what the wizard will do. Killing dragons each timme you check in code may take time and result in grumpy developers so we can just leave that script out.

pre-commit[
  "findHobbit",
  "goOnQuest",
  "smokeSwapWeed"
]

How does this differ from similar modules

Apart from the talk of wizards, spells and orcs? Other pre-commit hooks that I've seen assume that the .git lives in the same folder as package.json while this is probably fine for most projects I have worked on projects which have had a number of sub folders each with their own package.json. Here the wizard was able to begin the quest for the .git folder and keep moving up the directory tree until it was found.

The wizard will then look at the files being committed find the appropriate package.json for each and run the scripts you have befined for each.

License

MIT