▄• ▄▌ ▐ ▄ .▄▄ · ▄▄· ▄▄▄ ▪ ▄▄▄· ▄▄▄▄▄▄
█▪██▌ •█▌▐█ ▐█ ▀. ▐█ ▌▪ ▀▄ █· ██ ▐█ ▄█ ▀•██ ▀
█▌▐█▌ ▐█▐▐▌ ▄▀▀▀█▄ ██ ▄▄ ▐▀▀▄ ▐█· ██▀· ▐█.▪
▐█▄█▌ ██▐█▌ ▐█▄▪▐█ ▐███▌ ▐█•█▌ ▐█▌ ▐█▪·• ▐█▌·
▀▀▀ ▀▀ █▪ ▀▀▀▀ ·▀▀▀ .▀ ▀ ▀▀▀ .▀ ▀▀▀
Run npm scripts using automatically shortened script names
unscript [options] [query]
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 tod
.build:dev
would be shortened tobd
.lint:watch:dev
would be shortened tolwd
.
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 tobd
.build:deploy
would also be shortened tobd
.
If no query is passed then a list of all scripts in the package.json
will be displayed.
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.
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. |
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'
In this case the dev
script is run because dev
is the only script that was automatically shortened to d
.
unscript d
When multiple scripts have the same generated shorthand then a prompt will appear to ask which of the results should be run.
Using the -a
(auto) option will run the selected script without prompting for confirmation if there is only one script matching the shorthand query.