#!/bin/bash set -x tools_bin_dir="${BASH_SOURCE%/*}" node_version=v12.16.3 if [[ ! -d $tools_bin_dir/node-$node_version ]]; then if [[ "$OSTYPE" == "linux-gnu"* ]]; then # Linux if ! curl -sfL "https://nodejs.org/dist/$node_version/node-$node_version-linux-x64.tar.gz" | tar zxf - --directory "$tools_bin_dir"; then printf "Something went wrong while installing linux-gnu nodejs\n" 1>&2 exit 1 else mv $tools_bin_dir/node-$node_version-linux-x64 $tools_bin_dir/node-$node_version fi elif [[ "$OSTYPE" == "darwin"* ]]; then # Mac OSX if ! curl -sfL "https://nodejs.org/dist/$node_version/node-$node_version-darwin-x64.tar.gz" | tar zxf - --directory "$tools_bin_dir"; then printf "Something went wrong while installing Mac OSX nodejs\n" 1>&2 exit 1 else mv $tools_bin_dir/node-$node_version-darwin-x64 $tools_bin_dir/node-$node_version fi elif [[ "$OSTYPE" == "cygwin" ]]; then # Windows if ! wget -qO- https://nodejs.org/dist/$node_version/node-$node_version-win-x64.zip | bsdtar -xf- -C tools; then printf "Something went wrong while installing Windows nodejs\n" 1>&2 exit 1 else mv $tools_bin_dir/node-$node_version-win-x64 $tools_bin_dir/node-$node_version # the windows install doesn't conform to the same directory structure so making it conform mkdir $tools_bin_dir/node-$node_version/bin mv $tools_bin_dir/node-$node_version/n* $tools_bin_dir/node-$node_version/bin chmod -R a+x $tools_bin_dir/node-$node_version/bin fi fi # npm requires node to also be on the path export PATH=$(realpath $tools_bin_dir)/node-$node_version/bin:$PATH # Proxy / SSL issues when using custom CAs with proxy / self signed certs. # This assumes the system certs are up to date and is on linux or in docker if [ -r /etc/ssl/certs/ca-certificates.crt ]; then export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt fi # angular-cli is required by angular build if ! npm i -g @angular/cli; then printf "Something went wrong while installing Angular CLI (ng)\n" 1>&2 exit 1 fi # yarn is required by angular build if ! npm i -g yarn; then printf "Something went wrong while installing yarn\n" 1>&2 exit 1 fi cd .. fi