44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| ENV=${1:-dev}
 | |
| case $ENV in
 | |
|     dev)
 | |
|       FIREBASE_PROJECT=dev
 | |
|       NEXT_ENV=DEV ;;
 | |
|     prod)
 | |
|       FIREBASE_PROJECT=prod
 | |
|       NEXT_ENV=PROD ;;
 | |
|     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
 |