2 ms·
You could do something like this (not super thoroughly tested): npmrf () { local script script=$(jq -r '.scripts | to_entries[] | "\(.key) => \(.valu
by zjmil 6y ago
You could do something like this (not super thoroughly tested):
npmrf () {
local script
script=$(jq -r '.scripts | to_entries[] | "\(.key) => \(.value)"' < package.json | sort | fzf | cut -d' ' -f1) && npm run "$script"
}
It uses jq's to_entries to pull out the script/command key pairs and then just cuts out the script name after you choose the command (assumes the command name doesn't have spaces).