Skip to content

Commit 81d0273

Browse files
authored
Merge pull request elizaOS#1165 from ai16z/fix/start_script
feat: make script dash compatible
2 parents ea14167 + a2a0795 commit 81d0273

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

scripts/start.sh

+34-24
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,65 @@
1-
#!/bin/bash
2-
# Check Node.js version
1+
#!/bin/sh
2+
3+
# Node.js version check
34
REQUIRED_NODE_VERSION=22
45
CURRENT_NODE_VERSION=$(node -v | cut -d'.' -f1 | sed 's/v//')
56

6-
if (( CURRENT_NODE_VERSION < REQUIRED_NODE_VERSION && CURRENT_NODE_VERSION < 23 )); then
7-
echo "Error: Node.js version must be $REQUIRED_NODE_VERSION or 23 or higher. Current version is $CURRENT_NODE_VERSION."
7+
# Compare Node versions
8+
if [ "$(expr "$CURRENT_NODE_VERSION" \< "$REQUIRED_NODE_VERSION")" -eq 1 ]; then
9+
echo "\033[1;31mError: Node.js version must be $REQUIRED_NODE_VERSION or higher. Current version is $CURRENT_NODE_VERSION.\033[0m"
10+
exit 1
11+
fi
12+
13+
# Check if pnpm is installed
14+
if ! command -v pnpm >/dev/null 2>&1; then
15+
echo "\033[1;31mError: pnpm is not installed. Please install pnpm before running the script.\033[0m"
816
exit 1
917
fi
1018

1119
# Navigate to project root
12-
cd "$(dirname "$0")"/..
20+
cd "$(dirname "$0")"/.. || exit 1
1321

14-
# clean cache
15-
echo -e "\033[1mCleaning cache...\033[0m"
22+
# Clean cache
23+
echo "\033[1mCleaning cache...\033[0m"
1624
if ! pnpm clean; then
17-
echo -e "\033[1;31mFailed to clean cache\033[0m"
25+
echo "\033[1;31mFailed to clean cache.\033[0m"
1826
exit 1
1927
fi
2028

21-
2229
# Install dependencies
23-
echo -e "\033[1mInstalling dependencies...\033[0m"
24-
if ! pnpm i ; then
25-
echo -e "\033[1;31mFailed to install dependencies\033[0m"
30+
echo "\033[1mInstalling dependencies...\033[0m"
31+
if ! pnpm install; then
32+
echo "\033[1;31mFailed to install dependencies.\033[0m"
2633
exit 1
2734
fi
2835

2936
# Build project
30-
echo -e "\033[1mBuilding project...\033[0m"
37+
echo "\033[1mBuilding project...\033[0m"
3138
if ! pnpm build; then
32-
echo -e "\033[1;31mFailed to build project\033[0m"
39+
echo "\033[1;31mFailed to build project.\033[0m"
3340
exit 1
3441
fi
3542

3643
# Start project
37-
echo -e "\033[1mStarting project...\033[0m"
44+
echo "\033[1mStarting project...\033[0m"
3845
if ! pnpm start; then
39-
echo -e "\033[1;31mFailed to start project\033[0m"
46+
echo "\033[1;31mFailed to start project.\033[0m"
4047
exit 1
4148
fi
4249

4350
# Start client
44-
echo -e "\033[1mStarting client...\033[0m"
45-
pnpm start:client
51+
echo "\033[1mStarting client...\033[0m"
52+
if ! pnpm start:client; then
53+
echo "\033[1;31mFailed to start client.\033[0m"
54+
exit 1
55+
fi
4656

4757
# Open webpage
48-
echo -e "\033[1mOpening webpage...\033[0m"
49-
if command -v xdg-open &> /dev/null; then
50-
xdg-open http://localhost:5173
51-
elif command -v open &> /dev/null; then
52-
open http://localhost:5173
58+
echo "\033[1mOpening webpage at http://localhost:5173...\033[0m"
59+
if command -v xdg-open >/dev/null 2>&1; then
60+
xdg-open "http://localhost:5173"
61+
elif command -v open >/dev/null 2>&1; then
62+
open "http://localhost:5173"
5363
else
54-
echo -e "\033[1;33mPlease open http://localhost:5173 in your browser\033[0m"
64+
echo "\033[1;33mPlease open http://localhost:5173 in your browser.\033[0m"
5565
fi

0 commit comments

Comments
 (0)