Website/app/Makefile
2024-04-22 21:19:59 +02:00

91 lines
3.6 KiB
Makefile

##|——[ General ]—————————————————————————————————————————————————————————————————————————|
help: ## Shops available commands
@bin/make/help.sh
check: ## Checks whether requirements are met
@bin/make/check.sh
##|——[ Local Server ]————————————————————————————————————————————————————————————————————|
up: ## Starts the Local Instance
@make down -s
@make check -s
@docker compose up -d
@symfony local:server:start -d --no-tls
@bash -c '$$(npm run watch >> var/log/encore.log)& echo $$! > ./npm-watch.pid'
down: ## Stops the Local Instance
ifneq (,$(wildcard ./npm-watch.pid))
@printf "${RED}Killing ${YELLOW}Encore${CLEAR}!\n"
@- kill $$(cat ./npm-watch.pid)
@rm -rf ./npm-watch.pid
endif
@symfony local:server:stop
@docker compose down
fresh: ## Starts a Fresh Local Instance
@make down -s
@symfony composer install
@npm i
@make up -s
@make db-demo -s
##|——[ Code Quality ]————————————————————————————————————————————————————————————————————|
test: ## Runs all Unittests
@docker compose up -d
@symfony console doctrine:database:drop --if-exists --force --env=test
@symfony console doctrine:database:create --env=test
@symfony console doctrine:migrations:migrate -n --env=test
@symfony console doctrine:fixtures:load -n --env=test
@symfony console cache:clear --env=test
vendor/bin/phpunit
analyze: ## Runs Static Code Analysis
vendor/bin/phpstan analyze
lint: ## Runs the Linters
@make lint-php -s
@make lint-ts -s
@make lint-twig -s
@make lint-scss -s
##|——[ Testing ]—————————————————————————————————————————————————————————————————————————|
test-unit: ## Runs the Unit tests
vendor/bin/phpunit --testsuite Unit
test-integration: ## Runs the Integration tests
@symfony console doctrine:fixtures:load -n --env=test
vendor/bin/phpunit --testsuite Integration
test-web: ## Runs the Web tests
@symfony console doctrine:fixtures:load -n --env=test
vendor/bin/phpunit --testsuite Web
##|——[ Linting ]—————————————————————————————————————————————————————————————————————————|
lint-php: ## Runs the PHP Linting
vendor/bin/php-cs-fixer fix --allow-risky=yes
lint-ts: ## Runs the Typescript Linting
npm run lint:ts:fix
lint-twig: ## Runs Twig Linting
vendor/bin/twig-cs-fixer lint --fix
php bin/console lint:twig
lint-scss: ## Runs Twig Linting
npm run lint:scss:fix
##|——[ Data ]————————————————————————————————————————————————————————————————————————————|
db-demo: ## Writes the Demo Data to the Local Instance
symfony console doctrine:database:drop --if-exists --force
symfony console doctrine:database:create
symfony console doctrine:migrations:migrate -n
symfony console doctrine:fixtures:load -n
symfony console cache:clear
db-migration-gen: ## Generates a Migration
symfony console doctrine:migration:diff
db-migration-do: ## Does the Migration
symfony console doctrine:migration:migrate