SHELL := /bin/bash
USER_ID := $(shell id -u)
GROUP_ID := $(shell id -g)
OSTYPE=$(shell uname)

destroy: ## Destroy the environment, down + destroy persistent volumes
	@docker-compose down -v

login: ## Log into php container
	@docker-compose run php

debug: ## Log into php container with xdebug enabled
	@docker-compose run debug

test: ## run tests
	@docker-compose run php sh -c "composer install && vendor/bin/phpunit"

test-coverage: ## run tests with coverage report
	@docker-compose run coverage sh -c "composer install && vendor/bin/phpunit --coverage-html tests/report"

help:
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36mmake %-30s\033[0m %s\n", $$1, $$2}'

phpstan: ## run phpstan check
	@docker-compose run php sh -c "./vendor/bin/phpstan --memory-limit=512M"

lint: ## lint with pint
	@docker-compose run php sh -c "./vendor/bin/pint --test -v $(files)"

lint-fix: ## lint & fix with pint
	@docker-compose run php sh -c "./vendor/bin/pint $(files)"
