46 lines
1.2 KiB
Bash
46 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
ENV=${1:-dev}
|
||
|
case $ENV in
|
||
|
dev)
|
||
|
FIREBASE_PROJECT=dev
|
||
|
NEXT_ENV=DEV
|
||
|
EMULATOR=false ;;
|
||
|
prod)
|
||
|
FIREBASE_PROJECT=prod
|
||
|
NEXT_ENV=PROD
|
||
|
EMULATOR=false ;;
|
||
|
localdb)
|
||
|
FIREBASE_PROJECT=dev
|
||
|
NEXT_ENV=DEV
|
||
|
EMULATOR=true ;;
|
||
|
*)
|
||
|
echo "Invalid environment; must be dev, prod, or localdb."
|
||
|
exit 1
|
||
|
esac
|
||
|
|
||
|
firebase use $FIREBASE_PROJECT
|
||
|
|
||
|
if [ ! -z $EMULATOR ]
|
||
|
then
|
||
|
npx concurrently \
|
||
|
-n FIRESTORE,FUNCTIONS,NEXT,TS \
|
||
|
-c green,white,magenta,cyan \
|
||
|
"yarn --cwd=functions firestore" \
|
||
|
"cross-env FIRESTORE_EMULATOR_HOST=localhost:8080 yarn --cwd=functions dev" \
|
||
|
"cross-env NEXT_PUBLIC_FUNCTIONS_URL=http://localhost:8088 \
|
||
|
NEXT_PUBLIC_FIREBASE_EMULATE=TRUE \
|
||
|
NEXT_PUBLIC_FIREBASE_ENV=${NEXT_ENV} \
|
||
|
yarn --cwd=web serve" \
|
||
|
"cross-env yarn --cwd=web ts-watch"
|
||
|
else
|
||
|
npx concurrently \
|
||
|
-n FUNCTIONS,NEXT,TS \
|
||
|
-c white,magenta,cyan \
|
||
|
"yarn --cwd=functions dev" \
|
||
|
"cross-env NEXT_PUBLIC_FUNCTIONS_URL=http://localhost:8088 \
|
||
|
NEXT_PUBLIC_FIREBASE_ENV=${NEXT_ENV} \
|
||
|
yarn --cwd=web serve" \
|
||
|
"cross-env yarn --cwd=web ts-watch"
|
||
|
fi
|