| 
									
										
										
										
											2013-03-07 21:46:17 +04:00
										 |  |  | #!/bin/bash | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Upgrade npm package (dev)dependencies to the latest versions and update package.json | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Require: | 
					
						
							|  |  |  | # - jq - brew install jq | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-02 13:28:15 +04:00
										 |  |  | command -v jq >/dev/null 2>&1 || { echo >&2 "jq not installed: see comments for instructions."; exit 1; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-07 21:46:17 +04:00
										 |  |  | # 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 |