. ./@Core/Scripts/templates.sh

echo "${BUILDING_DEV_TEXT}"

if [ ! -d "./node_modules" ]
then
  echo "${GREEN}INSTALLING node_modules${NC} \n\n"
  npm i
  npm i esbuild
fi

echo "Cleanup ---> Cleaning out dist folder"
rm -rf ./dist/*

./@Core/Scripts/prismaGenerateWithCorrectPath.sh

echo "${GREEN}Building API${NC}"

if [ $(ls -l ./API/ | grep -c ^d) -gt 2 ]
  then
    esbuild ./API/*/*/*/index.ts --bundle --outdir=./dist/API/ --platform=node --target=node14 --minify-whitespace;
  else
    esbuild ./API/Core/*/*/index.ts --bundle --outdir=./dist/API/Core --platform=node --target=node14 --minify-whitespace;
fi

esbuild ./API/index.ts --outfile=./dist/API/index.js;

echo "${BLACK_TEXT_ON_GREEN_BACKGROUND} API build completed ${NC}"

echo "${GREEN}Building server${NC}"

esbuild ./@Core/Server/run.js --bundle --outdir=./dist/server --platform=node --target=node14 --minify-whitespace
esbuild ./@Core/Server/Config/* --bundle --outdir=./dist/server/Config --platform=node --target=node14 --minify-whitespace
esbuild ./@Core/Server/ServerUtils/*/index.ts --bundle --outdir=./dist/server/ServerUtils --platform=node --target=node14 --minify-whitespace

echo "${BLACK_TEXT_ON_GREEN_BACKGROUND} Server build completed ${NC}"

cp -R ./.env ./dist/server/.env

# Copy Prisma Core stuff
cp -R ./@Core/Server/ServerUtils/Prisma/* ./dist/server/ServerUtils/Prisma/


echo "${DEV_BUILT_TEXT}"
