DEFAULT_GOAL := help
help:
	@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m<target>\033[0m\n"} /^[a-zA-Z0-9_-]+:.*?##/ { printf "  \033[36m%-40s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
node-install: ## install node modules
	docker compose run --rm node sh -c "rm -rf node_modules && yarn install"
build-dev: ## dev watcher
	docker compose exec node yarn build-dev
build: ## build prod
#	docker compose exec node yarn fix-memory-limit
	docker compose down node
	# docker compose exec node yarn build
	docker compose run --rm node yarn build
xdebug-enable: ## Enable xdebug
	docker compose exec app docker-php-ext-enable xdebug
	docker compose exec app sh -c "echo '; Enable Xdebug\n\
zend_extension=xdebug\n\
xdebug.mode=debug\n\
xdebug.start_with_request=yes\nxdebug.idekey=PHPSTORM\n\
xdebug.client_host=host.docker.internal' > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
	docker compose exec app cat /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
	docker compose restart app
xdebug-disable: ## Disable xdebug
	docker compose exec app sh -c "echo '' > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
	docker compose restart app
## Display this help message
phpstan: ## run phpstan
	docker compose exec app php -d memory_limit=512M vendor/bin/phpstan
php-cs-fixer: ## run php-cs-fixer
	docker compose exec app php -d memory_limit=512M vendor/bin/php-cs-fixer fix
bash: ## open bash terminal in app
	docker compose exec app bash
node-bash: ## open bash terminal for node container in app
	docker compose exec node bash
cache: ##
	docker compose exec app php bin/console cache:clear --no-warmup
schema-migrate: ## Run database migrations
	docker compose exec app php bin/console doctrine:migrations:migrate --no-interaction -vvv
schema-diff: ## Make new diff file
	docker compose exec app php bin/console doctrine:migrations:diff --no-interaction -vvv
