-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1165 from ai16z/fix/start_script
feat: make script dash compatible
- Loading branch information
Showing
1 changed file
with
34 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,65 @@ | ||
#!/bin/bash | ||
# Check Node.js version | ||
#!/bin/sh | ||
|
||
# Node.js version check | ||
REQUIRED_NODE_VERSION=22 | ||
CURRENT_NODE_VERSION=$(node -v | cut -d'.' -f1 | sed 's/v//') | ||
|
||
if (( CURRENT_NODE_VERSION < REQUIRED_NODE_VERSION && CURRENT_NODE_VERSION < 23 )); then | ||
echo "Error: Node.js version must be $REQUIRED_NODE_VERSION or 23 or higher. Current version is $CURRENT_NODE_VERSION." | ||
# Compare Node versions | ||
if [ "$(expr "$CURRENT_NODE_VERSION" \< "$REQUIRED_NODE_VERSION")" -eq 1 ]; then | ||
echo "\033[1;31mError: Node.js version must be $REQUIRED_NODE_VERSION or higher. Current version is $CURRENT_NODE_VERSION.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Check if pnpm is installed | ||
if ! command -v pnpm >/dev/null 2>&1; then | ||
echo "\033[1;31mError: pnpm is not installed. Please install pnpm before running the script.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Navigate to project root | ||
cd "$(dirname "$0")"/.. | ||
cd "$(dirname "$0")"/.. || exit 1 | ||
|
||
# clean cache | ||
echo -e "\033[1mCleaning cache...\033[0m" | ||
# Clean cache | ||
echo "\033[1mCleaning cache...\033[0m" | ||
if ! pnpm clean; then | ||
echo -e "\033[1;31mFailed to clean cache\033[0m" | ||
echo "\033[1;31mFailed to clean cache.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
|
||
# Install dependencies | ||
echo -e "\033[1mInstalling dependencies...\033[0m" | ||
if ! pnpm i ; then | ||
echo -e "\033[1;31mFailed to install dependencies\033[0m" | ||
echo "\033[1mInstalling dependencies...\033[0m" | ||
if ! pnpm install; then | ||
echo "\033[1;31mFailed to install dependencies.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Build project | ||
echo -e "\033[1mBuilding project...\033[0m" | ||
echo "\033[1mBuilding project...\033[0m" | ||
if ! pnpm build; then | ||
echo -e "\033[1;31mFailed to build project\033[0m" | ||
echo "\033[1;31mFailed to build project.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Start project | ||
echo -e "\033[1mStarting project...\033[0m" | ||
echo "\033[1mStarting project...\033[0m" | ||
if ! pnpm start; then | ||
echo -e "\033[1;31mFailed to start project\033[0m" | ||
echo "\033[1;31mFailed to start project.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Start client | ||
echo -e "\033[1mStarting client...\033[0m" | ||
pnpm start:client | ||
echo "\033[1mStarting client...\033[0m" | ||
if ! pnpm start:client; then | ||
echo "\033[1;31mFailed to start client.\033[0m" | ||
exit 1 | ||
fi | ||
|
||
# Open webpage | ||
echo -e "\033[1mOpening webpage...\033[0m" | ||
if command -v xdg-open &> /dev/null; then | ||
xdg-open http://localhost:5173 | ||
elif command -v open &> /dev/null; then | ||
open http://localhost:5173 | ||
echo "\033[1mOpening webpage at http://localhost:5173...\033[0m" | ||
if command -v xdg-open >/dev/null 2>&1; then | ||
xdg-open "http://localhost:5173" | ||
elif command -v open >/dev/null 2>&1; then | ||
open "http://localhost:5173" | ||
else | ||
echo -e "\033[1;33mPlease open http://localhost:5173 in your browser\033[0m" | ||
echo "\033[1;33mPlease open http://localhost:5173 in your browser.\033[0m" | ||
fi |