Files

54 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
# Front
cd ./front
## Tests
echo -e "\e[35m➤ [JEST]\e[0m Testing front project\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
npm run test
if [[ $? != 0 ]]; then
echo -e "\e[31m➤ [JEST]\e[0m Errors in tests\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
exit -1;
fi
echo -e "\e[32m➤ [JEST]\e[0m Testing ok\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
## Prettier
echo -e "\e[35m➤ [PRETTIER]\e[0m Formatting front files\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
npx prettier . --write --log-level silent
if [[ $? != 0 ]]; then
echo -e "\e[31m➤ [PRETTIER]\e[0m Error while formatting files\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
exit -1;
fi
echo -e "\e[32m➤ [PRETTIER]\e[0m Formatting ok\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
## ESlint
echo -e "\e[35m➤ [ESLINT]\e[0m Checking front code\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
npx lint-staged -c ./.eslintrc.json -q
if [[ $? != 0 ]]; then
echo -e "\e[31m➤ [ESLINT]\e[0m Errors in code\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
exit -1;
fi
echo -e "\e[32m➤ [ESLINT]\e[0m Code ok\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
cd ..
## Commit user verification
banned_users=("Daniel Heras Something")
banned_emails=("dani_heras@hotmail.com")
username=$(git config user.name)
email=$(git config user.email)
if [[ "${banned_users[@]}" =~ "$username" ]]; then
echo -e "\e[31m➤ [GIT]\e[0m Error while verifying the user, you probably suck\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
exit -1;
else
echo -e "\e[32m➤ [GIT]\e[0m User ok\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
fi
if [[ "${banned_emails[@]}" =~ "$email" ]]; then
echo -e "\e[31m➤ [GIT]\e[0m Error while verifying the user email, you probably suck\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
exit -1;
else
echo -e "\e[32m➤ [GIT]\e[0m Email ok\e[37m - \e[33m$(date +"%H:%M:%S")\e[0m"
fi