65 lines
1.9 KiB
Makefile
65 lines
1.9 KiB
Makefile
.PHONY: help build dev-backend dev-frontend test lint docker-build docker-run clean
|
|
|
|
help: ## Show this help
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
|
build: ## Build production binary
|
|
@echo "Building frontend..."
|
|
cd frontend && npm install --legacy-peer-deps && npm run build
|
|
@echo "Building backend..."
|
|
rm -rf backend/dist
|
|
mkdir -p backend/dist
|
|
cp -r frontend/dist/* backend/dist/
|
|
cd backend && go build -ldflags="-X main.version=2.0.0" -o ../web-tail-pro ./cmd/server
|
|
@echo "Build complete: ./web-tail-pro"
|
|
|
|
dev-backend: ## Run backend in development mode
|
|
cd backend && go run ./cmd/server/main.go logs/*.log
|
|
|
|
dev-frontend: ## Run frontend in development mode
|
|
cd frontend && npm run dev
|
|
|
|
test: ## Run tests
|
|
cd backend && go test -v -race -coverprofile=coverage.out ./...
|
|
cd frontend && npm test
|
|
|
|
test-coverage: ## Generate test coverage report
|
|
cd backend && go test -v -race -coverprofile=coverage.out ./... && go tool cover -html=coverage.out
|
|
|
|
lint: ## Run linters
|
|
cd backend && golangci-lint run
|
|
cd frontend && npm run lint
|
|
|
|
fmt: ## Format code
|
|
cd backend && go fmt ./...
|
|
cd frontend && npm run format
|
|
|
|
docker-build: ## Build Docker image
|
|
docker build -t webtail:latest .
|
|
|
|
docker-run: ## Run Docker container
|
|
docker run -p 8080:8080 -v $(PWD)/backend/logs:/logs:ro webtail:latest /logs/app.log
|
|
|
|
docker-compose-up: ## Start with docker-compose
|
|
docker-compose up -d
|
|
|
|
docker-compose-down: ## Stop docker-compose
|
|
docker-compose down
|
|
|
|
clean: ## Clean build artifacts
|
|
rm -rf backend/dist
|
|
rm -rf frontend/dist
|
|
rm -rf frontend/node_modules
|
|
rm -f web-tail-pro
|
|
rm -f backend/coverage.out
|
|
|
|
deps: ## Install dependencies
|
|
cd backend && go mod download
|
|
cd frontend && npm install --legacy-peer-deps
|
|
|
|
update-deps: ## Update dependencies
|
|
cd backend && go get -u ./... && go mod tidy
|
|
cd frontend && npm update
|
|
|
|
.DEFAULT_GOAL := help
|