2025-11-15 20:51:24 +01:00
|
|
|
SHELL := /bin/bash
|
|
|
|
|
COMPOSE ?= docker compose
|
|
|
|
|
PROFILE ?= dev
|
|
|
|
|
|
|
|
|
|
# Select backend service name based on profile
|
|
|
|
|
ifeq ($(PROFILE),prod)
|
|
|
|
|
BACKEND_SVC := backend-prod
|
|
|
|
|
else
|
|
|
|
|
BACKEND_SVC := backend
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.PHONY: help dev-cli prod-cli \
|
|
|
|
|
dev-up dev-down dev-up-rebuild \
|
2025-11-19 20:23:25 +01:00
|
|
|
prod-up prod-down prod-up-rebuild \
|
2025-12-06 12:23:05 +01:00
|
|
|
seed-dev seed-prod \
|
2025-11-19 20:23:25 +01:00
|
|
|
test test-watch test-coverage
|
2025-11-15 20:51:24 +01:00
|
|
|
|
|
|
|
|
help:
|
|
|
|
|
@echo "Available targets:"
|
|
|
|
|
@echo " make dev-cli # Start admin REPL in dev backend"
|
|
|
|
|
@echo " make prod-cli # Start admin REPL in prod backend"
|
|
|
|
|
@echo " make dev-up # docker compose --profile dev up"
|
|
|
|
|
@echo " make dev-up-rebuild # docker compose --profile dev up --build"
|
|
|
|
|
@echo " make dev-down # docker compose --profile dev down"
|
|
|
|
|
@echo " make prod-up # docker compose --profile prod up -d"
|
|
|
|
|
@echo " make prod-up-rebuild # docker compose --profile prod up -d --build"
|
|
|
|
|
@echo " make prod-down # docker compose --profile prod down"
|
2025-12-06 12:23:05 +01:00
|
|
|
@echo " make seed-dev # Seed database with development data"
|
|
|
|
|
@echo " make seed-prod # Seed database with production data"
|
2025-11-19 20:23:25 +01:00
|
|
|
@echo " make test # Run backend tests"
|
|
|
|
|
@echo " make test-watch # Run backend tests in watch mode"
|
|
|
|
|
@echo " make test-coverage # Run backend tests with coverage report"
|
2025-11-15 20:51:24 +01:00
|
|
|
@echo "Notes: GNU Make nie wspiera subkomend z odstępami (np. 'make prod up')."
|
|
|
|
|
@echo " Użyj odpowiednich celów z myślnikiem."
|
|
|
|
|
|
|
|
|
|
# Admin CLI explicit targets
|
|
|
|
|
dev-cli:
|
|
|
|
|
$(COMPOSE) exec backend npm run cli
|
|
|
|
|
|
|
|
|
|
prod-cli:
|
|
|
|
|
$(COMPOSE) exec backend-prod npm run cli
|
|
|
|
|
|
|
|
|
|
# Development profile
|
|
|
|
|
dev-up:
|
|
|
|
|
$(COMPOSE) --profile dev up -d
|
|
|
|
|
|
|
|
|
|
dev-up-rebuild:
|
|
|
|
|
$(COMPOSE) --profile dev up -d --build
|
|
|
|
|
|
|
|
|
|
dev-down:
|
|
|
|
|
$(COMPOSE) --profile dev down
|
|
|
|
|
|
|
|
|
|
# Production profile
|
|
|
|
|
prod-up:
|
|
|
|
|
$(COMPOSE) --profile prod up -d
|
|
|
|
|
|
|
|
|
|
prod-up-rebuild:
|
|
|
|
|
$(COMPOSE) --profile prod up -d --build
|
|
|
|
|
|
|
|
|
|
prod-down:
|
|
|
|
|
$(COMPOSE) --profile prod down
|
2025-11-19 20:23:25 +01:00
|
|
|
|
2025-12-06 12:23:05 +01:00
|
|
|
# Database seeding
|
|
|
|
|
seed-dev:
|
|
|
|
|
$(COMPOSE) exec backend npm run prisma:seed:dev
|
|
|
|
|
|
|
|
|
|
seed-prod:
|
|
|
|
|
$(COMPOSE) exec $(BACKEND_SVC) npm run prisma:seed:prod
|
|
|
|
|
|
2025-11-19 20:23:25 +01:00
|
|
|
# Tests
|
|
|
|
|
test:
|
|
|
|
|
$(COMPOSE) exec $(BACKEND_SVC) npm test
|
|
|
|
|
|
|
|
|
|
test-watch:
|
|
|
|
|
$(COMPOSE) exec $(BACKEND_SVC) npm run test:watch
|
|
|
|
|
|
|
|
|
|
test-coverage:
|
|
|
|
|
$(COMPOSE) exec $(BACKEND_SVC) npm test -- --coverage
|