devon.lol/images/blog/outsourcing-my-memory-to-gum/donpm.sh

18 lines
466 B
Bash
Raw Normal View History

2024-06-24 00:22:59 -04:00
function donpm() {
if [ ! -f "package.json" ]; then
gum log --level error "package.json not found in the current directory"
return 1
fi
OPTIONS=$(jq -r '.scripts|to_entries[]|((.key))' package.json)
OPTIONS+="\n🛑 Cancel"
SELECTION=$(echo $OPTIONS | gum choose --header "Choose a script to run")
if [[ "$SELECTION" == "🛑 Cancel" ]]; then
gum log --level info "Execution was cancelled"
return 1
else
npm run $SELECTION
fi
}