#!/bin/sh # Compiles once echo "Starting build..." sp="/-\|" if [ "$1" = "--fetch-deps" ] || [ "$2" = "--fetch-deps" ] # Update node modules when used like "./build --fetch-deps" then echo -e -n "Updating:\tnpm install\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner rm -rf ./node_modules # Remove node_modules npm install &> /dev/null # Install dependencies echo -e "\bdone."; kill $p # Stop spinner fi echo -e -n "Transpiling:\tsrc >> tmp\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner tsc --build ./tsconfig.json # Transpiling echo -e "\bdone."; kill $p # Stop spinner if [ "$1" = "--min" ] || [ "$2" = "--min" ] # Minify main.js when used like "./build --min" then echo -e -n "Browserifying:\ttmp >> tmp\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner browserify ./tmp/* -o ./tmp/main.js # Browserifying echo -e "\bdone."; kill $p # Stop spinner echo -e -n "Minifying:\ttmp >> www\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner uglify -s ./tmp/main.js -o ./www/main.js # Minify main.js echo -e "\bdone."; kill $p # Stop spinner else echo -e -n "Browserifying:\ttmp >> www\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner browserify ./tmp/* -o ./www/main.js # Browserifying echo -e "\bdone."; kill $p # Stop spinner fi echo -e -n "Cleaning up:\trm -rf tmp\t" while sleep 0.2; do printf "\b${sp:i++%${#sp}:1}"; done & p=$! ; disown # Display spinner rm -rf ./tmp # Delete transpiled code echo -e "\bdone."; kill $p # Stop spinner echo "Build finished."