diff --git a/bin/npm-update b/bin/npm-update new file mode 100755 index 0000000..5abfd82 --- /dev/null +++ b/bin/npm-update @@ -0,0 +1,30 @@ +#!/bin/bash + +# Upgrade npm package (dev)dependencies to the latest versions and update package.json +# +# Require: +# - jq - brew install jq + +# Common stuff +RED="$(tput setaf 1)" +CYAN="$(tput setaf 6)" +UNDERLINE="$(tput sgr 0 1)" +NOCOLOR="$(tput sgr0)" +function header() { echo -e "$UNDERLINE$CYAN$1$NOCOLOR\n"; } +function error() { echo -e "$UNDERLINE$RED$1$NOCOLOR"; } + +if [ ! -f package.json ]; then + error "package.json not found" + exit 1 +fi + +update() { + header "Upgrading $1..." + for package in $(cat package.json | jq -r ".$1 | keys | .[]" 2>/dev/null); do + npm install --$2 $package + done +} + + +update dependencies save +update devDependencies save-dev \ No newline at end of file