50 lines
		
	
	
		
			992 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			992 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| # MIT License © Sindre Sorhus
 | |
| 
 | |
| if [[ -z $RUN_NODE_CACHE_PATH ]]; then
 | |
| 	PATH_CACHE="$HOME"/.node_path
 | |
| else
 | |
| 	PATH_CACHE="$RUN_NODE_CACHE_PATH"
 | |
| fi
 | |
| 
 | |
| get_user_path() {
 | |
| 	[[ -x "/usr/libexec/path_helper" ]] && eval $(/usr/libexec/path_helper -s)
 | |
| 	echo "$($SHELL -i -l -c 'echo -e "\n"PATH=\"$PATH:\$PATH\""\n"' 2>/dev/null | grep "^PATH=")" > "$PATH_CACHE"
 | |
| }
 | |
| 
 | |
| set_path() {
 | |
| 	if [[ -f "$PATH_CACHE" ]]; then
 | |
| 		. "$PATH_CACHE"
 | |
| 	else
 | |
| 		get_user_path
 | |
| 		. "$PATH_CACHE"
 | |
| 	fi
 | |
| 
 | |
| 	export PATH
 | |
| }
 | |
| 
 | |
| has_node() {
 | |
| 	command -v node >/dev/null 2>&1
 | |
| }
 | |
| 
 | |
| # Check if we have node, otherwise inherit path from user shell
 | |
| if ! has_node; then
 | |
| 	set_path
 | |
| 
 | |
| 	# Retry by deleting old path cache
 | |
| 	if ! has_node; then
 | |
| 		rm "$PATH_CACHE"
 | |
| 		set_path
 | |
| 	fi
 | |
| fi
 | |
| 
 | |
| if has_node; then
 | |
| 	node "$@"
 | |
| else
 | |
| 	if [[ -z $RUN_NODE_ERROR_MSG ]]; then
 | |
| 		echo "Couldn't find the Node.js binary. Ensure you have Node.js installed. Open an issue on https://github.com/sindresorhus/run-node"
 | |
|  	else
 | |
|  		echo "$RUN_NODE_ERROR_MSG"
 | |
|  	fi
 | |
| fi
 |