rwadurian/backend/services/authorization-service/Makefile

98 lines
2.2 KiB
Makefile

.PHONY: test test-unit test-integration test-e2e test-cov test-docker test-docker-all clean
# Default test command
test:
npm test
# Unit tests only
test-unit:
npm run test:unit
# Integration tests only
test-integration:
npm run test:integration
# E2E tests only
test-e2e:
npm run test:e2e
# Run all tests with coverage
test-cov:
npm run test:cov
# Run all tests locally
test-all:
npm run test:all
# Docker-based tests
test-docker:
docker-compose -f docker-compose.test.yml up --build --abort-on-container-exit
test-docker-all:
docker-compose -f docker-compose.test.yml up --build --abort-on-container-exit authorization-service-test
# Clean up test containers
test-docker-clean:
docker-compose -f docker-compose.test.yml down -v --remove-orphans
# Build the application
build:
npm run build
# Lint the code
lint:
npm run lint
# Format the code
format:
npm run format
# Generate Prisma client
prisma-generate:
npx prisma generate
# Run database migrations
prisma-migrate:
npx prisma migrate dev
# Start development server
dev:
npm run start:dev
# Start production server
start:
npm run start:prod
# Clean build artifacts
clean:
rm -rf dist coverage node_modules/.cache
# Install dependencies
install:
npm ci && npx prisma generate
# Full CI pipeline
ci: install lint test-all build
@echo "CI pipeline completed successfully"
# Help
help:
@echo "Available targets:"
@echo " test - Run all tests"
@echo " test-unit - Run unit tests"
@echo " test-integration - Run integration tests"
@echo " test-e2e - Run E2E tests"
@echo " test-cov - Run tests with coverage"
@echo " test-all - Run all test suites"
@echo " test-docker - Run tests in Docker"
@echo " test-docker-all - Run all tests in Docker"
@echo " test-docker-clean - Clean up Docker test containers"
@echo " build - Build the application"
@echo " lint - Lint the code"
@echo " format - Format the code"
@echo " dev - Start development server"
@echo " start - Start production server"
@echo " clean - Clean build artifacts"
@echo " install - Install dependencies"
@echo " ci - Run full CI pipeline"