Skip to content

Commit

Permalink
add versioning and clean script
Browse files Browse the repository at this point in the history
  • Loading branch information
technoplato committed Dec 20, 2024
1 parent 53af377 commit d79fe09
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 0 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
"android:reverse": "adb reverse tcp:8081 tcp:8081 && adb reverse tcp:9875 tcp:9875",
"android:sendApk": "./scripts/android/sendApk.sh",
"build": "node scripts/build/build.js",
"clean": "./scripts/reactNativeCleanBuild.sh",
"commit": "git show --format=\"%h\" --no-patch",
"db": "ts-node scripts/migrations/db.ts",
"lint": "eslint --max-warnings 2500",
"lint:errors": "eslint --quiet",
"ios": "expo run:ios",
"ios:checkBuildDeps": "./scripts/ios/checkBuildDeps.sh",
"run:ios": "EXPO_ENV=dev expo run:ios",
"postinstall": "patch-package && node scripts/wasm.js && husky install && cross-os postinstall",
"start": "EXPO_ENV=dev expo start --scheme converse-dev",
Expand Down
77 changes: 77 additions & 0 deletions scripts/ios/checkBuildDeps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
#!/bin/bash

# ANSI color codes
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
BOLD='\033[1m'

# Function to check if a command exists
command_exists() {
command -v "$1" >/dev/null 2>&1
}

# Function to print status
print_status() {
local name=$1
local version=$2
local path=$3
local status=$4

printf "${BOLD}%-12s${NC}" "$name"

if [ "$status" = "OK" ]; then
printf "${GREEN}${NC} "
else
printf "${RED}${NC} "
fi

printf "%-45s" "$version"
echo "$path"
}

echo -e "\n${BOLD}Checking iOS build dependencies...${NC}\n"

# Check Ruby
if command_exists ruby; then
RUBY_VERSION=$(ruby -v)
RUBY_PATH=$(which ruby)
print_status "RUBY" "$RUBY_VERSION" "$RUBY_PATH" "OK"
else
print_status "RUBY" "Not installed" "N/A" "ERROR"
fi

# Check Bundler
if command_exists bundle; then
BUNDLER_VERSION=$(bundle -v)
BUNDLER_PATH=$(which bundle)
print_status "BUNDLER" "$BUNDLER_VERSION" "$BUNDLER_PATH" "OK"
else
print_status "BUNDLER" "Not installed" "N/A" "ERROR"
fi

# Check CocoaPods
if command_exists pod; then
POD_VERSION=$(pod --version)
POD_PATH=$(which pod)
print_status "COCOAPODS" "v$POD_VERSION" "$POD_PATH" "OK"
else
print_status "COCOAPODS" "Not installed" "N/A" "ERROR"
fi

# Print Gem environment
echo -e "\n${BOLD}Ruby Gem Environment:${NC}"
echo "GEM HOME: $(gem env home)"
echo "GEM PATH: $(gem env gempath)"

# Check Gemfile configuration
if [ -f "ios/Gemfile" ]; then
echo -e "\n${BOLD}Gemfile Configuration:${NC}"
echo "Ruby Version: $(grep "ruby '" ios/Gemfile | cut -d"'" -f2)"
echo "Bundler Version: $(grep "bundler" ios/Gemfile | grep -v "#" | head -n1)"
else
echo -e "\n${RED}Warning: ios/Gemfile not found${NC}"
fi

echo -e "\nDone checking dependencies.\n"
44 changes: 44 additions & 0 deletions scripts/reactNativeCleanBuild.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash

###############################################################
# Quickly cleans and rebuilds a React Native project by moving
# build directories to Trash and reinstalling dependencies.
#
# Uses AppleScript for fast native Trash operations, similar
# to Cmd+Delete in Finder. This is much faster than rm -rf.
#
# Side Effects:
# - Moves node_modules, ios/build, ios/Pods to Trash
# - Runs yarn install
# - Runs pod install for iOS
# - Prints status messages to terminal
#
# Example:
# In terminal from project root:
# ./scripts/reactNativeCleanBuild.sh
#
# Output:
# Moving node_modules to trash...
# Moving ios/build to trash...
# Moving ios/Pods to trash...
# Running yarn install...
# Running pod install...
# Clean and rebuild complete!
###############################################################

echo "Moving node_modules to trash..."
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/node_modules\""

echo "Moving ios/build to trash..."
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/build\""

echo "Moving ios/Pods to trash..."
osascript -e "tell app \"Finder\" to delete POSIX file \"$PWD/ios/Pods\""

echo "Running yarn install..."
yarn install

echo "Running pod install..."
cd ios && pod install && cd ..

echo "Clean and rebuild complete!"

0 comments on commit d79fe09

Please sign in to comment.