33
44echo " 🧹 Starting complete cache cleanup..."
55
6- # Detect if we are in root or example folder and define root path
6+ # Detect if we are in root, example, or sample folder and define root path
77SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
88CURRENT_DIR=" $( pwd) "
99
@@ -12,11 +12,15 @@ if [[ "$CURRENT_DIR" == *"/example" ]]; then
1212 # Running from inside example folder
1313 PROJECT_ROOT=" $( cd .. && pwd) "
1414 echo " 📍 Detected: running from inside example folder"
15- elif [[ -d " $CURRENT_DIR /scripts" && -d " $CURRENT_DIR /example" ]]; then
15+ elif [[ " $CURRENT_DIR " == * " /sample" ]]; then
16+ # Running from inside sample folder
17+ PROJECT_ROOT=" $( cd .. && pwd) "
18+ echo " 📍 Detected: running from inside sample folder"
19+ elif [[ -d " $CURRENT_DIR /scripts" && (-d " $CURRENT_DIR /example" || -d " $CURRENT_DIR /sample" ) ]]; then
1620 # Running from project root
1721 PROJECT_ROOT=" $CURRENT_DIR "
1822 echo " 📍 Detected: running from project root"
19- elif [[ -d " $SCRIPT_DIR /../example" ]]; then
23+ elif [[ -d " $SCRIPT_DIR /../example" || -d " $SCRIPT_DIR /../sample " ]]; then
2024 # Script executed from scripts folder
2125 PROJECT_ROOT=" $( cd " $SCRIPT_DIR /.." && pwd) "
2226 echo " 📍 Detected: running from scripts folder"
@@ -34,21 +38,43 @@ pkill -f node 2>/dev/null || true
3438pkill -f gradle 2> /dev/null || true
3539
3640# Clean example project caches
37- echo " 🗂️ Cleaning example project caches..."
38- cd " $PROJECT_ROOT /example"
39- rm -rf node_modules
40- rm -rf android/build
41- rm -rf android/.gradle
42- rm -rf android/app/build
43- rm -rf .metro
44- rm -rf ios/build
45- rm -rf ios/Pods
46- rm -rf ios/Podfile.lock
41+ if [[ -d " $PROJECT_ROOT /example" ]]; then
42+ echo " 🗂️ Cleaning example project caches..."
43+ cd " $PROJECT_ROOT /example"
44+ rm -rf node_modules
45+ rm -rf android/build
46+ rm -rf android/.gradle
47+ rm -rf android/app/build
48+ rm -rf .metro
49+ rm -rf ios/build
50+ rm -rf ios/Pods
51+ rm -rf ios/Podfile.lock
52+ fi
53+
54+ # Clean sample project caches
55+ if [[ -d " $PROJECT_ROOT /sample" ]]; then
56+ echo " 🗂️ Cleaning sample project caches..."
57+ cd " $PROJECT_ROOT /sample"
58+ npm cache clean --force 2> /dev/null || true
59+ rm -rf node_modules package-lock.json
60+ rm -rf android/app/.cxx android/app/build android/build android/.gradle
61+ rm -rf .metro
62+ rm -rf ios/build
63+ rm -rf ios/Pods
64+ rm -rf ios/Podfile.lock
65+
66+ # Clean Android with gradlew
67+ if [[ -f " android/gradlew" ]]; then
68+ cd android && ./gradlew clean 2> /dev/null || true
69+ cd ..
70+ fi
71+ fi
4772
4873# Clean root folder caches
4974echo " 📁 Cleaning root folder caches..."
5075cd " $PROJECT_ROOT "
51- rm -rf node_modules
76+ npm cache clean --force 2> /dev/null || true
77+ rm -rf node_modules package-lock.json
5278rm -rf android/build
5379rm -rf android/.gradle
5480rm -rf lib
@@ -65,12 +91,23 @@ rm -rf /tmp/react-native-* 2>/dev/null || true
6591
6692# Stop Gradle daemon
6793echo " ⚙️ Stopping Gradle daemon..."
68- cd " $PROJECT_ROOT /example/android"
69- ./gradlew --stop 2> /dev/null || true
94+ if [[ -d " $PROJECT_ROOT /example/android" ]]; then
95+ cd " $PROJECT_ROOT /example/android"
96+ ./gradlew --stop 2> /dev/null || true
97+ fi
98+ if [[ -d " $PROJECT_ROOT /sample/android" ]]; then
99+ cd " $PROJECT_ROOT /sample/android"
100+ ./gradlew --stop 2> /dev/null || true
101+ fi
70102
71103# Return to original directory
72104cd " $CURRENT_DIR "
73105echo " ✅ Complete cleanup finished!"
74106echo " 📝 Next steps:"
75107echo " 1. npm run install-dependencies"
76- echo " 2. cd $PROJECT_ROOT /example && npm run android"
108+ if [[ -d " $PROJECT_ROOT /example" ]]; then
109+ echo " 2. cd $PROJECT_ROOT /example && npm run android"
110+ fi
111+ if [[ -d " $PROJECT_ROOT /sample" ]]; then
112+ echo " 2. cd $PROJECT_ROOT /sample && npm run android"
113+ fi
0 commit comments