2021-03-28 21:26:23 -06:00
#!/bin/bash
2021-12-07 19:00:35 -07:00
readonly MIN_NODE_VERSION_MAJOR = "14"
readonly MIN_NODE_VERSION_MINOR = "13"
readonly MIN_NODE_VERSION_REVISION = "1"
readonly NONE = "\033[00m"
readonly RED = "\033[01;31m"
begins_with( ) { case $2 in " $1 " *) true; ; *) false; ; esac ; }
error_message( ) { echo " ${ RED } Error: ${ NONE } $1 " && echo && exit 1; }
# Get the nodejs version
NODE_VERSION = " $( node -v) "
NODE_VERSION_MAJOR = "0"
NODE_VERSION_MINOR = "0"
NODE_VERSION_REVISION = "0"
# Check if the nodejs version # is blank or a very long string as that would usually indicate a problem
if [ " ${# NODE_VERSION } " -gt 0 ] && [ " ${# NODE_VERSION } " -lt 16 ] ; then
# Remove the 'v' from the beginning of the version string
if begins_with "v" " ${ NODE_VERSION } " ; then
NODE_VERSION = $( echo " ${ NODE_VERSION } " | cut -c2-${# NODE_VERSION } )
fi
# Split node version string into major, minor and revision
NODE_VERSION_MAJOR = " $( echo $NODE_VERSION | cut -d'.' -f1) "
NODE_VERSION_MINOR = " $( echo $NODE_VERSION | cut -d'.' -f2) "
NODE_VERSION_REVISION = " $( echo $NODE_VERSION | cut -d'.' -f3) "
fi
# Check if the installed nodejs is an older version than supported by the explorer
if !( [ " ${ NODE_VERSION_MAJOR } " -gt " ${ MIN_NODE_VERSION_MAJOR } " ] || ( [ " ${ NODE_VERSION_MAJOR } " -eq " ${ MIN_NODE_VERSION_MAJOR } " ] && ( [ " ${ NODE_VERSION_MINOR } " -gt " ${ MIN_NODE_VERSION_MINOR } " ] || ( [ " ${ NODE_VERSION_MINOR } " -eq " ${ MIN_NODE_VERSION_MINOR } " ] && [ " ${ NODE_VERSION_REVISION } " -ge " ${ MIN_NODE_VERSION_REVISION } " ] ) ) ) ) ; then
error_message " Please install an updated version of nodejs.\n\nInstalled: $NODE_VERSION \nRequired: $MIN_NODE_VERSION_MAJOR . $MIN_NODE_VERSION_MINOR . $MIN_NODE_VERSION_REVISION "
fi
2021-03-28 21:26:23 -06:00
## Check if new module directory exists
#if [ ! -d ./node_modules/change_to_module_dir_name ]; then
# # Install updated packages
# npm update
#fi
2021-04-17 13:26:05 -06:00
# Check if an argument was passed into this script
if [ -n " ${ 1 } " ] ; then
# Determine which argument was passed
case " ${ 1 } " in
"pm2" )
# Check if pm2 is installed
if [ -z " $( which pm2) " ] ; then
# Install pm2
npm install pm2@latest -g
fi
; ;
"forever" )
# Check if forever is installed
if [ -z " $( which forever) " ] ; then
# Install forever
npm install forever -g
fi
; ;
esac
fi
2021-03-28 21:26:23 -06:00
# Ensure that selected theme is properly installed
sh ./scripts/sass_theme_reader.sh
# Run sass module to generate minified css from scss file
./node_modules/.bin/sass --no-source-map --style= compressed ./public/css/style.scss ./public/css/style.min.css