111 lines
3.2 KiB
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
|