kin/Makefile

36 lines
1.3 KiB
Makefile

.PHONY: help dev build-frontend install run serve test deploy
FRONTEND_DIR := web/frontend
help:
@echo "Доступные цели:"
@echo " make install — установить зависимости frontend (npm install)"
@echo " make dev — запустить frontend в dev-режиме (vite, hot-reload)"
@echo " make build-frontend — собрать production-билд frontend в $(FRONTEND_DIR)/dist/"
@echo " make run — запустить API-сервер в dev-режиме (uvicorn --reload)"
@echo " make serve — запустить API-сервер в prod-режиме (uvicorn, без --reload)"
@echo " make test — запустить все тесты (pytest + vitest)"
@echo " make deploy — установить python-зависимости, собрать frontend и запустить prod-сервер"
install:
cd $(FRONTEND_DIR) && npm install
dev:
cd $(FRONTEND_DIR) && npm run dev
build-frontend:
cd $(FRONTEND_DIR) && npm run build
run:
uvicorn web.api:app --reload --host 0.0.0.0 --port 8000
serve:
uvicorn web.api:app --host 0.0.0.0 --port 8000
test:
pytest tests/
cd $(FRONTEND_DIR) && npm run test
deploy: build-frontend
python3.11 -m pip install -r requirements.txt
$(MAKE) serve