mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 21:33:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| if ! [ -x "$(command -v firebase)" ]; then
 | |
|   echo "❌ Firebase-tools CLI is missing. Run 'npm i -g firebase-tools' or the equivalent"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| EMU_START_COMMAND="firebase emulators:start --only auth,database,firestore,functions,storage --project react-native-firebase-testing"
 | |
| #EMU_START_COMMAND="sleep 120"
 | |
| MAX_RETRIES=3
 | |
| MAX_CHECKATTEMPTS=60
 | |
| CHECKATTEMPTS_WAIT=1
 | |
| 
 | |
| # Make sure functions are ready to go
 | |
| pushd "$(dirname "$0")/functions" && yarn && yarn build && popd
 | |
| 
 | |
| 
 | |
| RETRIES=1
 | |
| while [ $RETRIES -le $MAX_RETRIES ]; do
 | |
| 
 | |
|   if [ "$1" == "--no-daemon" ]; then
 | |
|     echo "Starting Firebase Emulator Suite in foreground."
 | |
|     $EMU_START_COMMAND
 | |
|     exit 0
 | |
|   else
 | |
|     echo "Starting Firebase Emulator Suite in background."
 | |
|     $EMU_START_COMMAND &
 | |
|     CHECKATTEMPTS=1
 | |
|     while [ $CHECKATTEMPTS -le $MAX_CHECKATTEMPTS ]; do
 | |
|       sleep $CHECKATTEMPTS_WAIT
 | |
|       if curl --output /dev/null --silent --fail http://localhost:8080; then
 | |
|         echo "Firebase Emulator Suite is online!"
 | |
|         exit 0;
 | |
|       fi
 | |
|       echo "Waiting for Firebase Emulator Suite to come online, check $CHECKATTEMPTS of $MAX_CHECKATTEMPTS..."
 | |
|       ((CHECKATTEMPTS = CHECKATTEMPTS + 1))
 | |
|     done
 | |
|   fi
 | |
| 
 | |
|   echo "Firebase Emulator Suite did not come online in $MAX_CHECKATTEMPTS checks. Try $RETRIES of $MAX_RETRIES."
 | |
|   ((RETRIES = RETRIES + 1))
 | |
| 
 | |
| done
 | |
| echo "Firebase Emulator Suite did not come online after $MAX_RETRIES attempts."
 | |
| exit 1
 | 
