130 lines
3.6 KiB
Makefile
130 lines
3.6 KiB
Makefile
.PHONY: help dev dev-full stop status logs build build-remote build-both test test-coverage lint typecheck e2e check clean install sync test-ci
|
|
|
|
help:
|
|
@echo "Aeroflot.Flights.Web — Available commands:"
|
|
@echo ""
|
|
@echo " Development:"
|
|
@echo " make dev - Start Modern.js dev server (:8080)"
|
|
@echo " make dev-full - Start dev server with API proxy (:8080)"
|
|
@echo " make stop - Stop running dev server"
|
|
@echo " make status - Check if dev server is running"
|
|
@echo " make logs - View dev server logs (tail -f)"
|
|
@echo ""
|
|
@echo " Building:"
|
|
@echo " make build - Build standalone SSR server"
|
|
@echo " make build-remote - Build MF remote (mf-manifest.json)"
|
|
@echo " make build-both - Build standalone + remote"
|
|
@echo " make clean - Clean build artifacts"
|
|
@echo ""
|
|
@echo " Testing & Quality:"
|
|
@echo " make test - Run unit tests (Vitest)"
|
|
@echo " make test-coverage - Run tests with coverage"
|
|
@echo " make lint - Lint code (ESLint)"
|
|
@echo " make typecheck - Type check (TypeScript)"
|
|
@echo " make check - Run typecheck + lint + test"
|
|
@echo " make test-ci - Run CI script unit tests (bash)"
|
|
@echo ""
|
|
@echo " E2E Testing:"
|
|
@echo " make e2e - Run Playwright E2E tests"
|
|
@echo ""
|
|
@echo " Deployment:"
|
|
@echo " make sync - Sync files to flights-front repo"
|
|
@echo ""
|
|
@echo " Setup:"
|
|
@echo " make install - Install dependencies (pnpm install)"
|
|
|
|
PNPM := pnpm
|
|
PID_FILE := .dev.pid
|
|
LOG_FILE := .dev.log
|
|
API_TARGET ?= https://flights.test.aeroflot.ru
|
|
TRACKER_TARGET ?= https://platform.test.aeroflot.ru
|
|
SIGNALR_HUB_URL ?= http://localhost:8080/tracker/hub
|
|
|
|
# Development
|
|
dev:
|
|
@echo "Starting Modern.js dev server in background..."
|
|
@nohup $(PNPM) dev > $(LOG_FILE) 2>&1 & echo $$! > $(PID_FILE)
|
|
@echo "Dev server started (PID: $$(cat $(PID_FILE)))"
|
|
@echo "View logs: make logs"
|
|
|
|
dev-full:
|
|
@echo "Starting dev server with API proxy in background..."
|
|
@API_TARGET="$(API_TARGET)" TRACKER_TARGET="$(TRACKER_TARGET)" SIGNALR_HUB_URL="$(SIGNALR_HUB_URL)" nohup node scripts/dev-server.mjs > $(LOG_FILE) 2>&1 & echo $$! > $(PID_FILE)
|
|
@echo "Dev server started (PID: $$(cat $(PID_FILE)))"
|
|
@echo " App & API: http://localhost:8080"
|
|
@echo " API target: $(API_TARGET)"
|
|
@echo " Tracker target: $(TRACKER_TARGET)"
|
|
@echo " SignalR hub: $(SIGNALR_HUB_URL)"
|
|
@echo "View logs: make logs"
|
|
|
|
stop:
|
|
@echo "Stopping dev server..."
|
|
@if [ -f $(PID_FILE) ]; then \
|
|
kill $$(cat $(PID_FILE)) 2>/dev/null || true; \
|
|
rm -f $(PID_FILE); \
|
|
fi
|
|
@pkill -f "modern dev" 2>/dev/null || true
|
|
@pkill -f "node scripts/dev-server" 2>/dev/null || true
|
|
@lsof -ti:8080 -ti:8081 2>/dev/null | xargs kill 2>/dev/null || true
|
|
@echo "Stopped"
|
|
|
|
status:
|
|
@if [ -f $(PID_FILE) ] && ps -p $$(cat $(PID_FILE)) > /dev/null 2>&1; then \
|
|
echo "Dev server is running (PID: $$(cat $(PID_FILE)))"; \
|
|
else \
|
|
rm -f $(PID_FILE) 2>/dev/null; \
|
|
echo "Dev server is not running"; \
|
|
fi
|
|
|
|
logs:
|
|
@if [ -f $(LOG_FILE) ]; then \
|
|
tail -f $(LOG_FILE); \
|
|
else \
|
|
echo "No log file. Start server with: make dev"; \
|
|
fi
|
|
|
|
# Building
|
|
build:
|
|
$(PNPM) build:standalone
|
|
|
|
build-remote:
|
|
$(PNPM) build:remote
|
|
|
|
build-both:
|
|
$(PNPM) build:both
|
|
|
|
clean:
|
|
rm -rf dist/
|
|
@echo "Clean complete"
|
|
|
|
# Testing & Quality
|
|
test:
|
|
$(PNPM) test
|
|
|
|
test-coverage:
|
|
$(PNPM) test:coverage
|
|
|
|
lint:
|
|
$(PNPM) lint
|
|
|
|
typecheck:
|
|
$(PNPM) typecheck
|
|
|
|
check: typecheck lint test
|
|
|
|
# E2E
|
|
e2e:
|
|
$(PNPM) test:e2e
|
|
|
|
# Deployment
|
|
sync:
|
|
./scripts/sync-to-flights-front.sh
|
|
|
|
# Setup
|
|
install:
|
|
$(PNPM) install
|
|
|
|
# CI-script unit tests
|
|
test-ci:
|
|
$(PNPM) test:ci
|