rwadurian/backend/services/presence-service/Makefile

111 lines
3.2 KiB
Makefile

# =============================================================================
# Presence Service - Makefile
# =============================================================================
.PHONY: help install build test test-unit test-integration test-e2e \
test-docker-all docker-build docker-up docker-down clean lint format \
prisma-generate prisma-migrate coverage
# Default target
help:
@echo "Presence Service - Available commands:"
@echo ""
@echo " Development:"
@echo " make install Install dependencies"
@echo " make build Build the project"
@echo " make lint Run linter"
@echo " make format Format code"
@echo ""
@echo " Testing:"
@echo " make test Run all tests"
@echo " make test-unit Run unit tests only"
@echo " make test-integration Run integration tests only"
@echo " make test-e2e Run E2E tests (requires DB)"
@echo " make coverage Run tests with coverage"
@echo ""
@echo " Docker Testing:"
@echo " make docker-build Build Docker images"
@echo " make docker-up Start Docker containers"
@echo " make docker-down Stop Docker containers"
@echo " make test-docker-all Run all tests in Docker"
@echo ""
@echo " Database:"
@echo " make prisma-generate Generate Prisma client"
@echo " make prisma-migrate Run Prisma migrations"
@echo ""
@echo " Cleanup:"
@echo " make clean Clean build artifacts"
# =============================================================================
# Development
# =============================================================================
install:
npm install
build:
npm run build
lint:
npm run lint
format:
npm run format
# =============================================================================
# Testing
# =============================================================================
test:
npm test
test-unit:
npm test -- --selectProjects unit
test-integration:
npm test -- --selectProjects integration
test-e2e:
npm test -- --selectProjects e2e
coverage:
npm test -- --coverage
# =============================================================================
# Docker Testing
# =============================================================================
docker-build:
docker-compose -f docker-compose.test.yml build
docker-up:
docker-compose -f docker-compose.test.yml up -d
docker-down:
docker-compose -f docker-compose.test.yml down -v
test-docker-all:
docker-compose -f docker-compose.test.yml run --rm test npm test
# =============================================================================
# Database
# =============================================================================
prisma-generate:
npx prisma generate
prisma-migrate:
npx prisma migrate dev
prisma-migrate-deploy:
npx prisma migrate deploy
# =============================================================================
# Cleanup
# =============================================================================
clean:
rm -rf dist
rm -rf coverage
rm -rf node_modules/.cache