Skip to content

Commit 5a62a84

Browse files
committed
resloved the issue
1 parent bb189ed commit 5a62a84

File tree

2 files changed

+76
-25
lines changed

2 files changed

+76
-25
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"api": "cd ./api && npm run dev",
1010
"upload": "cd ./upload-api && npm start",
1111
"ui": "cd ./ui && npm start",
12-
"start": "node index.js",
12+
"create:env": "node index.js",
1313
"setup:mac": "bash setup.sh"
1414
},
1515
"repository": {

setup.sh

100644100755
Lines changed: 75 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,91 @@
22

33
# Get the script's directory (ensures correct paths)
44
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
5-
cd "$SCRIPT_DIR"
5+
cd "$SCRIPT_DIR" || exit 1
66

7-
# Install NVM
8-
echo "Installing NVM..."
9-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
7+
# Install NVM if not installed
8+
if ! command -v nvm &> /dev/null; then
9+
echo "Installing NVM..."
10+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
1011

11-
# Load NVM
12-
export NVM_DIR="$HOME/.nvm"
13-
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
12+
export NVM_DIR="$HOME/.nvm"
13+
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
14+
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
15+
else
16+
export NVM_DIR="$HOME/.nvm"
17+
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
18+
fi
1419

15-
# Install and use Node.js 21
16-
echo "Installing and using Node.js 21..."
17-
nvm install 21
20+
# Ensure Node.js 21 is installed and used
21+
NODE_VERSION=$(node -v 2>/dev/null)
22+
if [[ "$NODE_VERSION" != v21.* ]]; then
23+
echo "Installing and using Node.js 21..."
24+
nvm install 21
25+
fi
1826
nvm use 21
1927

20-
Setup CLI first
28+
Setup CLI
2129
echo "Setting up CLI repo..."
22-
cd "$SCRIPT_DIR/cli" && npm run setup-repo
23-
cd "$SCRIPT_DIR"
30+
cd "$SCRIPT_DIR/cli" || exit 1
31+
32+
# Check if current user can write to node_modules
33+
if [ -w node_modules ] || [ ! -d node_modules ]; then
34+
npm run setup-repo --force
35+
else
36+
echo "Permission issue detected. Trying with sudo..."
37+
sudo npm run setup-repo --force
38+
fi
2439

25-
# Open new terminals for other services
40+
# Return to script root
41+
cd "$SCRIPT_DIR" || exit 1
42+
43+
# Fix npm cache permissions
44+
echo "Fixing npm cache permissions..."
45+
sudo chown -R $(id -u):$(id -g) "$HOME/.npm"
46+
47+
# Start With Env File
48+
echo "Creating .env file..."
49+
npm run create:env
50+
51+
# Start services in new terminals
2652
echo "Starting services in new terminals..."
2753

28-
# macOS (Using AppleScript)
2954
if [[ "$OSTYPE" == "darwin"* ]]; then
30-
osascript -e "tell application \"Terminal\" to do script \"cd '$SCRIPT_DIR/api' && npm i && npm run dev\""
31-
osascript -e "tell application \"Terminal\" to do script \"cd '$SCRIPT_DIR/upload-api' && npm i && npm run start\""
32-
osascript -e "tell application \"Terminal\" to do script \"cd '$SCRIPT_DIR/ui' && npm i && npm run start\""
33-
34-
# Linux (Using GNOME Terminal)
55+
# macOS
56+
osascript -e "tell application \"Terminal\" to do script \"
57+
source \$HOME/.nvm/nvm.sh && nvm use 21 &&
58+
cd '$SCRIPT_DIR/api' &&
59+
echo 'Cleaning API dependencies...' &&
60+
rm -rf node_modules package-lock.json &&
61+
npm install &&
62+
npm run dev
63+
\""
64+
osascript -e "tell application \"Terminal\" to do script \"
65+
source \$HOME/.nvm/nvm.sh && nvm use 21 &&
66+
cd '$SCRIPT_DIR/upload-api' &&
67+
echo 'Cleaning upload-api dependencies...' &&
68+
rm -rf node_modules package-lock.json &&
69+
rm -rf migration-sitecore/node_modules migration-sitecore/package-lock.json &&
70+
npm install &&
71+
npm run start
72+
\""
73+
osascript -e "tell application \"Terminal\" to do script \"
74+
source \$HOME/.nvm/nvm.sh && nvm use 21 &&
75+
cd '$SCRIPT_DIR/ui' &&
76+
echo 'Cleaning UI dependencies...' &&
77+
rm -rf node_modules package-lock.json &&
78+
npm install &&
79+
npm run start
80+
\""
81+
3582
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
36-
gnome-terminal -- bash -c "cd '$SCRIPT_DIR/api' && npm run dev; exec bash"
37-
gnome-terminal -- bash -c "cd '$SCRIPT_DIR/upload-api' && npm run start; exec bash"
38-
gnome-terminal -- bash -c "cd '$SCRIPT_DIR/ui' && npm run start; exec bash"
83+
# Linux (GNOME Terminal)
84+
gnome-terminal -- bash -c "source $HOME/.nvm/nvm.sh && nvm use 21 && cd '$SCRIPT_DIR/api' && npm install && npm run dev; exec bash"
85+
gnome-terminal -- bash -c "source $HOME/.nvm/nvm.sh && nvm use 21 && cd '$SCRIPT_DIR/upload-api' && npm install && npm run start; exec bash"
86+
gnome-terminal -- bash -c "source $HOME/.nvm/nvm.sh && nvm use 21 && cd '$SCRIPT_DIR/ui' && npm install && npm run start; exec bash"
87+
else
88+
echo "Unsupported OS: $OSTYPE"
89+
exit 1
3990
fi
4091

41-
echo "All services started!"
92+
echo "All services started!"

0 commit comments

Comments
 (0)