feat: enhance installation process by adding cloning and building of wokwi-libs
parent
9e5b08ee49
commit
4f328c7e2f
|
|
@ -54,6 +54,10 @@ fi
|
||||||
# - For full ESP32 support, see: docs/ESP32_EMULATION.md
|
# - For full ESP32 support, see: docs/ESP32_EMULATION.md
|
||||||
# - Backend auto-detects and falls back to UART-only mode if libs are missing
|
# - Backend auto-detects and falls back to UART-only mode if libs are missing
|
||||||
|
|
||||||
|
echo "==> Installing root dependencies (tsx, typescript for build scripts)..."
|
||||||
|
HUSKY=0 npm install &
|
||||||
|
ROOT_PID=$!
|
||||||
|
|
||||||
echo "==> Setting up Python virtual environment (base layer)..."
|
echo "==> Setting up Python virtual environment (base layer)..."
|
||||||
(cd backend
|
(cd backend
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
|
|
@ -86,6 +90,7 @@ npm run build) &
|
||||||
ELEMENTS_PID=$!
|
ELEMENTS_PID=$!
|
||||||
|
|
||||||
echo " -> Waiting for all parallel builds to complete..."
|
echo " -> Waiting for all parallel builds to complete..."
|
||||||
|
wait $ROOT_PID && echo " ✓ Root deps installed"
|
||||||
wait $BACKEND_PID && echo " ✓ Backend deps installed"
|
wait $BACKEND_PID && echo " ✓ Backend deps installed"
|
||||||
wait $FRONTEND_PID && echo " ✓ Frontend deps installed"
|
wait $FRONTEND_PID && echo " ✓ Frontend deps installed"
|
||||||
wait $AVR_PID && echo " ✓ avr8js built"
|
wait $AVR_PID && echo " ✓ avr8js built"
|
||||||
|
|
|
||||||
12
Makefile
12
Makefile
|
|
@ -21,10 +21,22 @@ dev-frontend: ## Start frontend (port 5173)
|
||||||
install: ## Install dependencies
|
install: ## Install dependencies
|
||||||
@echo "Installing root dependencies (tsx, typescript for build scripts)..."
|
@echo "Installing root dependencies (tsx, typescript for build scripts)..."
|
||||||
@npm install
|
@npm install
|
||||||
|
@echo "Cloning wokwi-libs (shallow)..."
|
||||||
|
@for lib in avr8js rp2040js wokwi-elements; do \
|
||||||
|
if [ ! -d "wokwi-libs/$$lib/.git" ]; then \
|
||||||
|
rm -rf "wokwi-libs/$$lib"; \
|
||||||
|
git clone --depth=1 "https://github.com/wokwi/$$lib.git" "wokwi-libs/$$lib"; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
@echo "Installing backend dependencies..."
|
@echo "Installing backend dependencies..."
|
||||||
@cd backend && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt
|
@cd backend && python3 -m venv venv && . venv/bin/activate && pip install -r requirements.txt
|
||||||
@echo "Installing frontend dependencies..."
|
@echo "Installing frontend dependencies..."
|
||||||
@cd frontend && npm install
|
@cd frontend && npm install
|
||||||
|
@echo "Building wokwi-libs..."
|
||||||
|
@for lib in avr8js rp2040js wokwi-elements; do \
|
||||||
|
echo "Building $$lib..."; \
|
||||||
|
cd "wokwi-libs/$$lib" && npm install && npm run build && cd ../..; \
|
||||||
|
done
|
||||||
@echo "✓ All dependencies installed"
|
@echo "✓ All dependencies installed"
|
||||||
|
|
||||||
clean: ## Remove venv and node_modules
|
clean: ## Remove venv and node_modules
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue