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

unscript

v1.2.0

Published

Run npm scripts using automatically shortened script names

Readme

▄• ▄▌   ▐ ▄   .▄▄ ·    ▄▄·   ▄▄▄    ▪     ▄▄▄·  ▄▄▄▄▄▄
█▪██▌  •█▌▐█  ▐█ ▀.   ▐█ ▌▪  ▀▄ █·  ██   ▐█ ▄█  ▀•██ ▀
█▌▐█▌  ▐█▐▐▌  ▄▀▀▀█▄  ██ ▄▄  ▐▀▀▄   ▐█·   ██▀·    ▐█.▪
▐█▄█▌  ██▐█▌  ▐█▄▪▐█  ▐███▌  ▐█•█▌  ▐█▌  ▐█▪·•    ▐█▌·
 ▀▀▀   ▀▀ █▪   ▀▀▀▀   ·▀▀▀   .▀  ▀  ▀▀▀  .▀       ▀▀▀

example usage

NPM Version MIT License

Run npm scripts using automatically shortened script names

unscript [options] [query]

What is unscript?

Unscript lets you query and run npm scripts from a list of shorthands. These shorthands are generated from the names of the scripts in your package.json. Unscript creates shorthands by combining the first letter of each word separated by a delimiter (: by default).

For example:

  • dev would be shortened to d.
  • build:dev would be shortened to bd.
  • lint:watch:dev would be shortened to lwd.

If there are at least 2 identical shorthands then a prompt will appear to ask which of the results should be run.

For example:

  • build:dev would be shortened to bd.
  • build:deploy would also be shortened to bd.

If no query is passed then a list of all scripts in the package.json will be displayed.

Why was this made?

There are many existing tools on npm that can run javascript files easily as a drop-in replacement for package.json scripts. Although these are helpful utilities I found that I wanted to create many small package.json scripts that I wouldn't need a full javascript file for. Unscript was created out of my own personal desire to quick run npm scripts using automatically generated shortened names.

Options

| option | default | description | | ------------------- | ------- | --------------------------------------------- | | -p, --path | "." | Path to folder containing package.json. | | -d, --delimiter | ":" | Character to separate words by. | | -a, --auto | false | Run the selected script without confirmation. | | -s, --scripts | false | Display scripts in found package.json. |

Installation

Unscript can be used by installing it globally

npm i -g unscript

or by using using npx:

npx unscript lw

to save time writing that out it is recommended to alias the command to a shorter name:

# .bashrc .zshrc ...etc
alias un='npx unscript'

Usage

Basic usage

In this case the dev script is run because dev is the only script that was automatically shortened to d.

unscript d

basic shorthand example usage

Handling multiple scripts with the same generated shorthands

When multiple scripts have the same generated shorthand then a prompt will appear to ask which of the results should be run.

name collision example

Run the selected script without prompting

Using the -a (auto) option will run the selected script without prompting for confirmation if there is only one script matching the shorthand query.

auto option example