Have you ever been like, ughkgh, is it npm run dev or npm run start? Is it yarn testwatch or yarn test:watch? If you do it every time you open a project, I’d suggest setting up tasks. But I mean more for one-off or less frequently used scripts. I’m forever forgetting the exact scripts from the package.json that are set up in the project (or subproject of a monorepo) that I’m in.
I was pair programming with a co-worker earlier, and I noticed they had this little moment where they couldn’t remember the name of a script, and they just typed scripts and it gave them nice output of all the scripts from the package.json file that could be run. I was like whaaaat. Is scripts just some command I never heard about? No, no. It was just a custom alias they had set up.
It’s just this command, they told me:
cat package.json | jq --color-output '.scripts'Code language: Bash (bash)
Notably, that requires usage of the jq package, so you’d need to install that (globally) to use this command. But we use that as part of our dev environment here at work so we both had it anyway. As a front-end guy, I’m understanding jq sorta like querySelectorAll for JSON. Since package.json is obviously JSON, it can grab out parts of it easily. So that command above reads like:
- Grab the contents of the
package.jsonfile in the current directory - Send the contents of it to the next command
- Invoke
jq - Tell it to colorize the output
- Output only the content of the
"scripts"part of the JSON.
Then to make that command easier to reach for, he set up (and I followed suit) with an alias. I use ZSH, so updated my .zshrc file (I always open this with code ~/.zshrc), but it should work in Bash and the .bashrc file as well.
alias scripts="cat package.json | jq --color-output '.scripts'"Code language: Bash (bash)
So yes, I could just manually open the package.json file and find the "scripts" area and have a look. But now I can just type scripts into the command line and it will output a perfectly nice bit of scoped JSON to peak at:

You can also just type
npm runMaybe I’m missing something here — doesn’t the command
npm rundo this already?e.g. Running
npm runin the repo for my personal website outputs this.Indeed! Didn’t know that. Nice that you don’t need to install anything other than
npmwhich you already have installed if you’re using npm scripts. But I sure do like the more colorful output of jq.In the VS code, bottom left corner has NPM scripts in the side panel below file explorer I use that 🤗