45 lines
1.7 KiB
Python
Executable File
45 lines
1.7 KiB
Python
Executable File
#!/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
|
|
uglifyjs --compress -o ./www/main.js ./tmp/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."
|