1
0
Fork 0
mirror of https://github.com/actions/setup-python.git synced 2024-11-23 00:49:39 +00:00
setup-python/node_modules/run-node/run-node
Danny McCormick 39c08a0eaa Initial pass
2019-06-26 21:12:00 -04:00

49 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